若a,b,c1,c2,x,y均是整型变量,正确的switch语句是( )。
A.switch(a+
B.switch(a*a+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-{ 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后面的<整型表达式>应该用括号括起来,故也不正确