【20.3.5】c语言基础选择题

1. 下列各表达式中, 【D】有二义性。已知:int a(5),b(6);

A.a+b>>3

B.++a+b++

C.b+(a=3)

D.(a=3)-a--

【解析】不同编译器会按从左到右或从右到左的顺序运行

2. 已知:int a , b ;下列switch 语句中, 【正确答案: A】是正确的。

A switch ( a ) { case 1 : a ++; break; case 2 : b++; break;}
B switch ( a+b ) {case l: a+b ; break;case 2: a-b;}
C switch ( a*a ) {case l,2:++a; case 3,4:++b;}
D switch ( a/10+b ) {case a:a/5; break; default: a+b;}

B switch ( a+b ) {case l: a+b ; break;case 2: a-b;} 存在问题:a+b与a-b表达式的值执行后,没有任何效果,也就是这段代码无意义

C switch ( a*a ) {case l,2:++a; case 3,4:++b;} 存在问题:case后面只能跟一个常量表达式

D switch ( a/10+b ) {case a:a/5; break; default: a+b;} 存在问题:case后面只能是常量表达式

3. 下列关于条件语句的正确答案: C是错误的。

A if 语句中只有一个else 子句
B if 语句中可以有多个else if 子句
C if 语句中if 体内不能是开关语句
D if 语句的if 体中可以是循环语句

猜你喜欢

转载自www.cnblogs.com/kira666/p/12419886.html