非常好的C语言章节习题集带答案

else printf(\

A.2 B.3 C.4 D.编译时有错且无结果

26.己有定义:int x=3,y=4,z=5;, 则表达式!(x+y)+z-1&&y+z/2的值是_______。

A.6 B.0 C.2 D.l !(3+4)+5-1&&4+5/2 !7+4&&4+2 0+4&&6 1&&1 27.以下程序运行后的输出结果是_______。

#inlude main()

{ int a=15,b=21,m=0;

switch(a%3) //15%3=0

{ case 0: m++; break; // 执行后,退出第一层。 case 1: m++;

switch(b%2) //第二层,未执行 { default: m++;

case 0: m++; break; } }

printf(\A.1 B.2 C. 3 D.4

28.在执行下述程序时,若从键盘输入6和2,则输出结果是_______。

#inlude main()

{ int a,b,k;

scanf(\k=a;

if(a

printf(\

A.5 B.3 C.2 D.0

29.在执行下述程序时,若从键盘输入字母H,则输出结果是_______。

#inlude main() { char ch;

ch=getchar(); switch(ch)

{ case 'H':printf(\

case 'G':printf(\

21

default:printf(\}

A.Hello! B.Hello! Good morning! C.Hello! D.Hello! Good morning! Bye_Bye! Bye_Bye!

30.设变量x和y均已正确定义并赋值,则以下if语句中,在编译时将产生错误信息的是

_______。

A.if(x++); //空语句 B.if(x>y&&y!=0) ; C.if(x>0) x- - //少了“;”号 D.if(y<0){;} else y++; else x++; 31.以下程序的运行后的输出结果是_______。

#inlude main()

{ int a=1,b=0; if(--a) b++;

else if(a==0) b+=2; else b+=3;

printf(\%d\\n\

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

32.下列条件语句中,输出结果与其他语句不同的是_______。

A.if(a) printf(\%d\\n\%d\\n\B.if(a==0) printf(\%d\\n\%d\\n\C.if(a!=0) printf(\%d\\n\%d\\n\D.if(a==0) printf(\%d\\n\%d\\n\33.以下选项中,能表示逻辑值“假”的是_______。

A.1 B.0.000001 C.0 D.100.0 34.以下程序运行时,若从键盘输入9,则输出结果是_______。

#inlude main() { int a=1;

scanf(\%d\ if(a++<9)

printf(\%d\\n\ else

printf(\%d\\n\

A.10 B.11 C.9 D.8

35.若变量c的值为非0,则能正确地将c的值赋给变量a和b的表达式是_______。

A.(a=c)||(b=c) B.(b=a)=c

22

C.(a=c) && (b=c) D.a=c=b

36.设有定义int i;,则表达式(i=1,i=10)? i++||++i:++i的值是_______。

A.10 B.1 C.2 D.3

37.设a=2、b=7.5、c=-3.6,则_______中的两个表达式的逻辑值相等。

A.'a'>'c'||'x'<'y' 与 b-a<=-c/2&&c==-3.6 B.'a'>'c'&&x'<'y' 与 a-7'c'||'x'>'y' 与 'a'<'c'&&a>b D.'a'>'c'&&'x'>'y' 与 'a'<'c'||a

38.当y处于闭区间[x,z]时,值为真的表达式是_______。

A.( y<= z)&&(y>=x) B.(x>=y)and(y>=z)c C.(x>=y>=z) D.(x>=y)&(y>=z) 39.以下程序执行后的输出结果是_______。

#inlude main()

{ int a=5,b=4,c=3,d=1;

d=(a>b>c); //a>b 为真,判断结果为1, 1再和c比较1>c,为假。表达式值为0. printf(\

A.3 B. 2 C.1 D.0 40.以下程序执行后的输出结果是_______。

#inlude main()

{ int a=2,b=7,c=5; switch(a>0)

{ case 1:switch(b<10)

{ case 1: printf(\

case 0: printf(\

case 0:switch(c==5)

{ case 0: printf(\

case 1: printf(\default: printf(\

default: printf(\printf(\

A.!*# B.@!# C.@%# D.@#&

四、习题答案

(一)、是非题

1.A 2.A 3.B 4.A 5.A 6.B 7.A 8.A 9.B 10.A 11.A 12.A 13.B 14.B 15.B 16.A 17.A 18.A 19.B 20.A (二)、选择题

1.C 2.A 3.A 4.D 5.B 6.B 7.C 8.C 9.B 10.C

23

11.B 12.A 13.A 14.B 15.D 16.A 17.C 18.B 19.C 20.B 21.C 22.B 23.D 24.B 25.B 26.D 27.A 28.C 29.C 30.C 31.C 32.D 33.C 34.A 35.C 36.B 37.C 38.A 39.D 40.D (三)、编程题(略)

24

联系客服:779662525#qq.com(#替换为@)