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

2019-06-11 18:42

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

第4章 循环结构

二、习题

(一)、是非题

1. C语言中,do-while语句构成的循环只能用break语句退出。

A.对 B.错

2.在循环外的语句不受循环的控制,在循环内的语句也不受循环的控制。

A.对 B.错

3.从语法角度看,for(表达式1;表达式2;表达式3)语句中的3个表达式均可省略。

A.对 B.错

4.for、while和do while循环结构的循环体均为紧接其后的第一个语句(含复合语句)。

A.对 B.错

5.由i=-1;while(i<10) i+=2;i++;可知,此while循环的循环体执行次数为6次。

A.对 B.错 6.循环for( ; ; )的循环条件始终为真。

A.对 B.错

7.do?while语句的循环体至少执行1次,while和for循环的循环体可能一次也不执行。

A.对 B.错

8.break;语句执行时退出本层循环,continue;语句结束本次循环。

A.对 B.错

9.for循环、while循环和do while循环结构之间可以相互转化。

A.对 B.错

10.break;语句执行时退出到包含该break;语句的所有循环外。。

A.对 B.错

11.二重循环for(i=0;i<5;i+=2) for(j=0;j<5;j++)的循环体的执行次数为15。

A.对 B.错

外循环i执行3次, 内循环j执行5次。3*5=15次。 12.执行i=-1; while(i<10) i+=2;i++; 后,i的值 为11。

A.对 B.错

13.int i=1;while(1) i++; 则在任何条件下,该循环语句都会执行无穷多次

A.对 B.错 14.while和do?while的功能完全相同。

A.对 B.错

15.while后的表达式只能是逻辑或关系表达式。

A.对 B.错 16.语句while(E);中的表达式E等价于E!=0。

25


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

下一篇:同望WECOST公路工程造价管理系统8.2.3版本升级公告

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

马上注册会员

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