一、填空题
1、执行以下程序时,若从第一列开始输入数据,为使变量a=3、b=7、x=8.5、y=71.82、c1='A'、c2='a',正确的数据输入形式是_______。
#include scanf(\"a=%d b=%d\",&.a,&.b); scanf(\"x=%f y=%\",8.x,8.y); scanf(\"c1=%cc2=%c”,8.cl,8.c2); printf(\"a=%d,b=%d,x=%f,y=%f,cl=%c,c2=%c\",a,b,x,y,cl,c2); return0; } 2、C语言源程序文件的后缀是 ;经过编译后,生成文件的后缀是 ;经过连接后,生成文件的后缀是 3、在C语言源程序中,一个变量代表【 】。 4、若采用十进制数的表示形式,则077为_______,0111为_______,0xab为_______。 5、表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的数据类型为_______。 6、设x为无符号整数。表达式x^(~(~0< 8、若有定义:inta[3][4]={{1,2},{0},{4,6,8,10}};,则初始化后,a[1][2]得到的初值是_______,a[2][1]得到的初值是_______。 9、假设M为已经声明的符号常量,则定义一个具有M×M个元素的双精度型数组a,且所有元素初值为0的形式是_______。 10、定义语句int*f();int(*f)();的含义分别为_______和_______。 二、选择题 11、对应以下各代数式中,若变量a和x均为double类型,则不正确的C语言表达式是( ) 12、在C语言中,char型数据在内存中的存储形式是( )。 A.补码B.反码C.原码D.ASCII码 13、以下叙述正确的是 A.在C程序中,main函数必须位于程序的最前面 B.C程序的每行中只能写一条语句 C.C语言本身没有输入输出语句 D.在对一个C程序进行编译的过程中,可以发现注释中的拼写错误 14、以下叙述不正确的是( ) A.一个C源程序可由一个或多个函数组成 B.一个C源程序必须包含一个main函数 C.C程序的基本组成单位是函数 D.在C程序中,注释说明只能位于一条语句的后面 15、下面程序段(每行代码前面的数字表示行号)( )。 1 float a[10]={0.0}; 2 int i; 3 for(i=0;i<3;i++)scanf(\"%d\",&a[i]); 4 for(i=1;i<10;i++)a[0]=a[0]+a[i]; 5 printf(\"%f\\n\",a[o]); A.没有错误 B.第1行有错误 C.第3行有错误 D.第5行有错误 16、以下C程序的运行结果是( )。(注:口表示空格) #include printf(\"y=%3x\\n\",y); printf(\"y=%8x\\n\",y); printf(\"y=%#8x\\n\",y); return 0; } A.y=5ba0 B.y=囗囗囗5ba0 y=囗囗囗囗5ba0 y=囗囗囗囗囗囗05ba0y=囗囗0x5ba0 y=囗囗0x5ba0 C) y=5ba0 D.y=5ba0 y=5ba0 y=囗囗囗囗5ba0 y=0x5ba0 y=####5ba0 17、若有定义:int*p[4];则标识符p。 A.是一个指向整型变量的指针 B.是一个指针数组名 C.是一个指针,它指向一个含有四个整型元素的一维数组 D.定义不合法 18、若用数组名作为函数调用的实参,则传递给形参的是(A.数组的首地址 B.数组第一个元素的值 C.数组中全部元素的值 D.数组元素的个数 19、以下for循环的执行次数是( )。 for(x=0,y=0;(y=123)&&(x<4);x++); ) A.是无限循环 B.循环次数不定 C.执行4次 D.执行3次 20、以下不是无限循环的语句为( )。 A.for(y=0,x=1;x>++y;x=i++)i=x; B.for(;;x++=i): C.while(1){x++;} D.for(i=10;;i-一)sum+=i; 21、以下程序的输出是( )。 #include {int a=5,b=8,c=3,max; max=a; if(c>B. if(c>A. max=c; else if(b>A. max=b; printf(\"max=%d\\n\",max); return 0; } A.max=8 B.max=5 C.max=3 D.无输出结果 22、对两个数组a和b进行如下初始化: char a[]=\"ABCDEF\";charb[]={'A','B','C','D','E','F'};则以下叙述正确的是( )。 A.a与b数组完全相同 B.a与b长度相同 C.a和b中都存放字符串 D.a的长度比b长 23、下面程序的运行结果是( )。 #include {char a[80]=\"AB',b[80]=\"LMNP\";inti=0; strcat(a,B.; while(a[i++]!=‘\\o’)b[i]=a[i]; puts(B.; return 0; } A.LB B.ABLMNP C.AB D.LBLMNP 24、以下程序的功能是计算函数F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值,请选择填空。 #include {floatx,y,z,sum; scanf(\"%f%1%f\",8.x,&y,8.z); sum=f(【】)+f(z+y,z-y); printf(\"sum=%fNn\",sum); return(0); } float f(float a,float B. {float value; value=a/b; return(value); } A)x-y,x+y B)x+y,x-y C)z+y,z-y D)z-y,z+y 25、下面程序的功能是将从键盘输入的偶数写成两个素数之和。请选择填空(#include if(b%c==0)break; ) if(c>sqrt(B.)d=【】; else break; for(c=2;c<=sqrt(D.;c++) if(d%c==0)break; if(c>sqrt(D.)printf(\"%d=%d+%d\\n\",a,b,D.; } return 0; } A.a+b B.a-b C.a*b D.a/b 三、读程序填空 26、以下程序的输出结果为_______。 #include printf(\"\\ni:dec=%d,oct=%o,hex=%x,unsigned=%u\\n\",i,i,i,i); return 0; } 27、有以下程序: #include {int k=0; char c1='a', c2='b'; scanf(\"%d%c%c”,&k,&c1,&c2); printf(\"%d,%c,%c\\n\",k,c1,c2); return 0; } 若运行时从键盘输入:55AB<回车>,则输出结果是_______。 28、下面函数pi的功能是:根据以下公式,返回满足精度(0.0005)要求的x的值。 请填空。 𝜋112123 =1++∗+∗∗+⋯ 2335357# include return(_______); } int main() { double x=0.0005; printf(\"\\ neps=% lf, 𝜋 =% If\ return(0); } 29、以下函数fun的功能是:统计一个数中位值为零的个数,以及位值为1的个数。若输入111001,则输出位值为零的个数为2,位值为1的个数为4,请填空。 void fun(long n) {int coun0=0,counl=0,m; do {m=_______; if(m==0)coun0++; if(m==1)counl++;n=_______; }while(n); printf(\"coun0=%d,coun1=%d\\n\",coun0,counl); int main() {long n; printf(\"\\ninput n:\\n\");scanf(\"%ld\",8.n);printf(\"n=%ld\\n\",n);fun(n); return(0); } 30、下面程序的功能是统计用数字0~9可以组成多少个没有重复的3位偶数。请填空。 #include for(k=0;k<=8;_______) if(k!=i) for(j=0;j<=9;j++) if(_______) n++; printf(\"n=%d\\n\",n); return 0; } 31、下面程序的功能是给一维数组a输入6个任意整数,假设为: 7 4 8 9 1 5 然后建立一个具有以下内容的方阵并打印。请填空。 5 7 4 8 9 1 1 5 7 4 8 9 9 1 5 7 4 8 8 9 1 5 7 4 4 8 9 1 5 7 7 4 8 9 1 5 #include {int a[6],i,j,k,m; for(i=0;i<6;i++) scanf(\"%d\",&.a[i]); for(i=5;i>=0;i--) {k=a[5];for(_______;j>=0;j-一) a[j+1]=a[j]; _______; for(m=0;m<6;m++) printf(\"%d\",a[m]); printf(\"\\n\"); } return 0; } 32、某个自动加油站有a、b、c三种汽油,单价分别为1.50、1.35、1.18(元/千克),也提供了“自己加”或“协助加”两个服务等级,以便用户可得到5%或10%的优惠。以下程序的功能是:针对用户输入加油量a,汽油品种b和服务类型c(f——自动,m——自己,e——协助),输出应付款m。请填空。 #include {float a,r1,r2,m; char b,c; scanf(\"%f%c%c\",&a,&b,&c); switch(b) {case'a':r1=1.5;break; case'b':_______;break; case'c':rl=1.18;break; switch(c) {case'f':r2=0;break; case'm':r2=0.05;break; case_______:r2=0.1;break; m=_______;printf(\"%f\",m); return 0; } 33、下面程序的运行结果是_______。 #include {char*a[]={\"Pascal\",\"C language\",\"dBase\",\"Coble\; char**p; int j; p=a+3; for(j=3;j>=0;j--) printf(\"%s\\n\",*(p--)); return(0); } 四、编程题 34、定义一个带参的宏,用以判断整数n是否能被x整除。编写程序,从终端输入一个整数,调用宏验证其是否能同时被3和7整除。 35、以下程序的功能是应用下面的近似公式计算e的n次方。函数fl用来计算每项分子的值,函数f2用来计算每项分母的值。请编写f1和f2函数。 𝑥 ex=1+x+ 2 2! +…(前20项的和) 3! 𝑥3 #include } float fl(int x,int n) { } int main() {float exp=1.0;int n,x; printf(\"Input a number:\"); scanf(\"%d',&x); printf(\"%d\\n\",x); exp=exp+x; for(n=2;n<=19;n++) exp=exp+f1(x,n)/f2(n); printf(\"\\nThe is exp(%d)=%8.4f\\n\",x,exp); return(0); } 运行结果: Input a number:3 The is exp(3)=20.0855 参 一、填空题 1、a=3囗b=7x=8.5囗y=71.82c1=ADc2=a<回车> (注:答案中的囗代表空格) 2、【1】.c【2】.obj【3】.exe 3、内存中的一个存储单元 4、【1】63【2】73【3】171 5、整型(或int型) 6、【1】~0得到一个全1的数 【2】(~0< 9、double a[M][M]={0}; 10、【1】返回一个指向整型值的指针的函数。 【2】指向一个返回整型值的函数的指针。 二、选择题 11、C 12、D 13、C 14、D 15、C 16、A 17、B 18、A 19、C 20、A 21、B 22、D 23、D 24、B 25、B 三、读程序填空 26、i:dec=-4,oct=177774,hex=fffc,unsigned=65532 27、55,,A 28、【1】n=1【2】2.0*s 29、【1】n%10【2】n/10 30、【1】k+=2【2】j!=i&&j!=k 31、【1】j=4【2】a[0]=k 32、【1】r1=1.35【2】'e'【3】a*rl*(1-r2) 33、Coble dBase Clanguage Pascal 四、编程题 34、/*判断整数n是否能被x整除*/ #include #define DIV(n,x)((n%x)==0?1:0) int main() { int y; scanf(\"%d\ if(DIV(y,3) &&DIV(y,7)) printf(\"yes!\\n\"); else printf(\"No!\\n\"); return 0; } 35、float f2(int n) {if(n==1)return 1; else return(f2(n-1)*n); } float f1(int x,int n) {int i;float j=1; for(i=1;i<=n;i++) j=j*x; return j; } 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- xiaozhentang.com 版权所有 湘ICP备2023022495号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务