单选题 若有定义“float x=1.5;int a=1,b=3,c=2;”,则正确的switch语句是______。
  • A.switch(a+b)
    { case 1: printf("*/n");
    case 2+1: printf("**/n");}
  • B.switch((int)x);
    { case 1: printf("*/n");
    case 2: printf("**/n");}
  • C.switch(x)
    { case 1.0: printf("*/n");
    case 2.0: printf("**/n");}
  • D.switch(a+b)
    { case 1: printf("*/n");
    case c: printf("**/n");}
【正确答案】 A
【答案解析】[解析] B选项的“switch((int)x);”语句中不应该有最后的分号。“switch(expr1)”中的expr1不能用浮点类型或long类型,也不能为一个字符串,因此C错误。case后面只能是常量表达式,因此D错误。