C语言习题集参考答案(2)

2019-01-26 20:30

6、有以下程序段: int m=0,n=0;char c=’a’;

scanf(“%d%c%d”,&m,&c,&n); printf(“%d,%c,%d\\n”,m,c,n);

若从键盘上输入:10A10<回车>,则输出结果是__A__。 A)10,A,10 B)10,a,10 C)10,a,0 D)10,A,0

7、设有定义:int a,*pa=&a;,以下scanf语句中能正确为变量a读入数据的是____。 A)scanf(“%d”,pa); B)scanf(“%d”,a); C)scanf(“%d”,&pa); D)scanf(“%d”,*pa);

填空题

1、有以下语句段: int n1=10,n2=20;

printf(“_____”,n1,n2);\\nn1=%d\\nn2=%d

要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。

n1=10 n2=20

2、若有以下程序:

main(){ int i,j; scanf(“i=%d,j=%d”,&i,&j);printf(“i=%d,j=%d\\n”,i,j);}

要求给i赋值10,给j赋值20,则应该从键盘输入_i=10,j=20<回车>____。 3、若有以下程序:此题要注意 main(){int a=4,b=3,c=5,t=0; if(a

练习

1、若有变量a,i已正确定义,且i已正确赋值,合法的语句是_B___。 A)a==1 B)++i C)a=a++=5 D)a=int(i) 2、有如下程序:

main(){int y=3,x=3,z=1;printf(“%d %d\\n”,(++x,y++),z+2);} 运行该程序的输出结果是__D__。

A)3 4 B)4 2 C)4 3 D)3 3 3、下列程序的运行结果是__B__。 main(){ int a=2,c=5;printf(“a=%d,b=%d\\n”,a,c);}

A)a=%2,b=%5 B)a=2,b=5 C)a=d,b=d D)A=%d,b=%d 4、以下说法中正确的是__D__。 A)#define和printf都是C语句。 B)#define是C语句,而printf不是。 C)printf是C语句,但#define不是。 D)#define和printf都不是C语句。 5、以下程序的输出结果是__D__。

main(){ int k=17;printf(“%d, %o, %x\\n”,k,k,k);}

A)17, 21, 0x11 B)17, 17, 17 C)17, 0x11, 021 D)17, 21, 11

6、若有说明:long *p,a;则不能通过scanf语句正确给输入项读入数据的程序段是_A__。 A)*p=&a;scanf(“%ld”,p); B)p=(long *)malloc(4);scanf(“%ld”,p); C)scanf(“%ld”,p=&a); C)scanf(“%ld”,&a); 7、以下叙述正确是__D__。

A)输入项可以是一个实型常量,如:scanf(“%d”,3.5)。

B)只有格式控制,没有输入项,能正确输入数据到内存,如:scanf(“a=%d,b=%d);。 C)当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:scanf(“%4.2f”,&f)。 D)当输入数据时,必须指明变量的地址,例如:scanf(“%f”,&f);。 8、以下程序的输出结果是__D__。

main(){ int a=12,b=12;printf(“%d %d\\n”,--a,++b);} A)10 10 B)12 12 C)11 10 D)11 13

填空题

1、若想通过以下输入语句使得a=5.0,b=4,c=3,则输入数据的形式应该是_5.0,4,c=3<回车>或5,4,c=3<回车>_。 …….

int b,c; float a;

scanf(“%f, %d,c=%d”,&a,&b,&c); ……..

2、有4条语句:x++;、++x;、x=x+1;、x=1+x;,执行后都使变量x中的值增1,写出一条同一功能的赋值语句(不得与列举的相同)__x+=1;__。 3、以下程序的输出的结果是_261__。 main(){ int a=177;printf(“%o\\n”,a);}

4、以下程序的输出结果是_2,1___。

main(){ int a=1,b=2;a=a+b;b=a-b;a=a-b;printf(“%d,%d\\n”,a,b);}

四、选择结构

典型考题

1、以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是__A__。 A)if((a>b&&(b>c)) k=1;else k=0; B)if((a>b)||(b>c)) k=1;else k=0;

C)if(a<=b) k=0;else if(b<=c) k=1; D)if(a>b) k=1;else if(b>c) k=1;else k=0; 2、有以下程序: main(){char k;int i; for(i=1;i<3;i++){

scanf(“%c”,&k);switch(k){case ‘0’:printf(“another\\n”);case ‘1’:printf(“number\\n”);}}}

程序运行时,从键盘输入:01<回车>,程序执行后的输出结果是__C_。case穿透 A)another B)another C)another D)number number number number number

another number

3、有以下程序:

main(){int x=0,y=5,z=3;while(z-->0&&++x<5)y=y-1;printf(“%d,%d,%d\\n”,x,y,z);} 程序执行后的输出结果是__B__。

A)3,2,0 B)3,2,-1 C)4,3,-1 D)5,-2,-5

4、有定义语句:int a=1,b=2,c=3,x;,则以下选项中各程序段执行后,x的值不等于3的是C。 A)if(c

main(){int a=1,b=2,m=0,n=0,k;k=(n=b>a)||(m=a

执行后输出的结果是__A___。

A)011122 B)012 C)012020 D)120 7、有以下程序:

main(){int i=1,j=1,k=2;if((j++||k++)&&i++)printf(“%d,%d,%d\\n”,i,j,k);} 执行后的输出结果是__C__。

A)1,1,2 B)2,2,1 C)2,2,2 D)2,2,3 8、有以下程序:

main(){int a=5,b=4,c=3,d=2; if(a>b>c) printf(“%d\\n”,d); else if((c-1>=d)==1) printf(“%d\\n”,d+1);

else printf(“%d\\n”,d+2);} 执行后输出结果是__B__。

A)2 B)3 C)4 D)编译时有错,无结果

填空题

1、有以下程序:

main(){int n=0,m=1,x=2; if(!n) x-=1; if(m) x-=2; if(x) x-=3;

printf(“%d\\n”,x);}

执行后输出结果是_-4___。

2、以下程序运行后的输出结果是__3__。 main(){int p=30;printf(“%d\\n”,(p/3>0?p/10:p%3));} 3、以下程序运行后的输出结果是__yes__。

main(){int a=1,b=3,c=5; if(c=a+b) printf(“yes\\n”); else printf(“no\\n”);

4、以下主程序运行后的输出结果是_132___。 main(){int i,m=0,n=0,k=0; for(i=9;i<=11;i++) switch(i){ case 0:m++;n++;break; case 10:n++;break; default:k++;n++;} printf(“%d %d %d\\n”,m,n,k);} 5、有以下程序: main(){int p,a=5; if(p=a!=0)printf(“%d”,p); else printf(“%d\\n”,p+2);} 执行后输出结果是_1___。

练习

1、有如下程序: main(){int a=2,b=1,c=2; if(a

该程序的输出结果是_C__。 A)0 B)1 C)2 D)3 2、有如下程序:

main(){ int x=1,a=0,b=0; switch(x){ case 0:b++; case 1:a++; case 2:a++;b++;} printf(“a=%d,b=%d,c=%d\\n”,a,b);}

该程序的输出结果是_A__。

A)a=2,b=1 B)a=1,b=1 C)a=1b=0 D)a=2,b=2 3、以下程序的输出结果是_C__。 main(){ int a=-1,b=1,k; if((++a<0)&&!(b--<=0)) printf(“%d %d\\n”,a,b); else printf(“%d %d\\n”,b,a);}

A)-1 1 B)0 1 C)1 0 D)0 0 4、以下程序的输出结果是__B__。

main(){ char *s=”12134211”; int v[4]={0,0,0,0},k,i; for(k=0;s[k];k++){ switch(s[k]){ case ‘1’:i=0;

case ‘2’:i=1; case ‘3’:i=2; case ‘4’:i=3;} v[i]++;}

for(k=0;k<4;k++) printf(“%d ”,v[k]);}

A)4 2 1 1 B)0 0 0 8 C)4 6 7 8 D)8 8 8 8

5、当a=1,b=3,c=5,d=4时,执行下面一段程序后,x的值的为_A_。 if(ad) x=1; else if(ad) x=2; else x=3;

else x=6; else x=7;

A)1 B)2 C)3 D)4

6、运行以下程序后,如果从键盘上输入china#<回车>,则输出结果为_C__。 main(){ int v1=0,v2=0; char ch; while((ch=getchar()!=’#’) switch(ch){case ‘a’:case ‘h’: default:v1++;case ‘0’:v2++;} printf(“%d, %d\\n”,v1,v2);}

A)2, 0 B)5, 0 C)5, 5 D)2, 5

7、当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是_C__。 A)c=b=a; B)(a=c)||(b=c); C)(a=c)&&(b=c); D)a=c=b; 8、能正确表示a和b同时为正或同时为负的逻辑表达式时_D__。 A)(a>=0||b>=0)&&(a<0||b<0) B)(a>=0&&b>=0)&&(a<0&&b<0) C)(a+b>0)&&(a+b<=0) D)a*b>0 9、能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是__D_。

A)a>=10 or a<=0 B)a>=0|a<=10 C)a>=10&&a<=0 D)a>=10||a<=0

10、设有如下定义:int a=1,b=2,c=3,d=4,m=2,n=2;,则执行表达式:(m=a>b)&&(n=c>d)后,n的值为_B__。注意短路逻辑

A)1 B)2 C)3 D)0

11、语句:printf(“%d”,(a=2&&(b=-2));的输出结果是_D__。 A)无输出 B)结果不确定 C)-1 D)1 12、设int x=1,y=1;,表达式(!x||y--)的值是__B__。 A)0 B)1 C)2 D)-1

填空题

1、下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数,请将程序补充完整,使之能完成需要的功能。i<10或i<=9 j%3!=0或j%3或j/3*3!=j main(){ int i,j; for(i=0;_____;i++){ j=i*10+6; if(___)continue; printf(“%d”,j);}}


C语言习题集参考答案(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:590# - 仪器分析

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: