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表达式的值执行后,没有任何效果,也就是这段代码无意义
扫描二维码关注公众号,回复:
9598197 查看本文章
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 体中可以是循环语句