问题 单项选择题

若a,b,c1,c2,x,y均是整型变量,正确的switch语句是( )。

A.switch(a+b)

B.switch(a*a+b*b)
case:y=a+b;break; case 3:
case:y=a-b;break; case 1:y=a+b;break;
case 3:y=b-a;break;

C.switcha

D.switch(a-b)
casec1:y=a-b;break; default:y=a*b;break;
casec2:x=a*b;break; case 3:case4:x=a+b;break;
default:x=a+b;case 10:case 11:y=a-b;break;

答案

参考答案:D

解析: 本题考查switch语句的语法规则。使用switch语句应该注意的问题:
①整型表达式包括字符型或枚举型表达式。
②在同一switch语句中,各个常量表达式的值不能相同。
③每个case分支可以有多条语句,但不必用{}。
④每个case语句只是一个入口标号,并不能确定执行的终点,因此每个case分支的最后应该加break语句,用来结束这个switch结构,否则会从入口点开始一直执行到switch结构的结束点。
⑤当若干个分支需要执行相同操作时,可以使多个case分支共用一组语句。
⑥如果在switch语句中使用字符常数,则它们自动被转换成整型值。
根据以上注意点以及switch的语法规则,可知:对于选项A,case后面少了<整型常量表达式>,故不正确。对于选项B,出现两个case后面的<整型常量表达式>的值相等,故也不正确。对于选项C,switch后面的<整型表达式>应该用括号括起来,故也不正确

单项选择题
多项选择题