若有定义语句int a,b;double x;则下列选项中没有错误的是( )。A.switch(x%2) {case O:a++;break; case 1:b++;break; default:a++;b++; }B.switch((int)x/2.0) {case O:a++;break; case 1:b++;break; default:a++;b++; }C.switch((int)x%2) {case O:a++;break; case 1:b++;break; default:a++;b++

题目

若有定义语句int a,b;double x;则下列选项中没有错误的是( )。

A.switch(x%2) {case O:a++;break; case 1:b++;break; default:a++;b++; }

B.switch((int)x/2.0) {case O:a++;break; case 1:b++;break; default:a++;b++; }

C.switch((int)x%2) {case O:a++;break; case 1:b++;break; default:a++;b++; }

D.switch((int)(x)%2) {case 0.O:a++;break; case 1.0:b++;break; default:a++;b++; }


相似考题
参考答案和解析
正确答案:C
解析:C语言中switch语句中的表达式和case表达式都不能是浮点类型。所以选c。
更多“若有定义语句int a,b;double x;则下列选项中没有错误的是()。A.switch(x%2) {case O:a++;break; c ”相关问题
  • 第1题:

    若有定义float x=1.5;int a=1,b=3,c=2;,则正确的switch语句是

    A.switch(x) {case 1.0:printf("*\n"); case 2.0:printf("**\n");}

    B.switch((int)x); {case1:printf("*\n"); case 2:printf("**\n");}

    C.switch(a+b) {case 1:printf("*\n"); case 2+1:printf("**\n");}

    D.switch(a+b) {case 1:printf("*\n"); case c:printf("**\n");}


    正确答案:C
    解析:C语言中,switch语句专用于实现多分支结构程序,其特点是各分支清晰且直观。switch后面括号中可以是任何表达式,取其整数部分与各常量表达式进行比较。常量表达式中不能出现变量,且类型必须是整型、字符型或枚举型,各常量表达式各不相同。

  • 第2题:

    若有定义语句“int a,b;double X;”,则下列选项中没有错误的是( )。

    A.switch(X%2) { case 0:a++;break; case l:b++;break; default:a++;b++; }

    B.switch((int)x/2.O) { case 0:a++;break; case l:b++;break; default:a++;b++; }

    C.switch((int)X%2) { case 0:a++;break; case l:b++;break; default:a++;b++; }

    D.switch((int)(x)%2) { case 0.0:a++;break; case l.0:b++;break; default:a++;b++; }


    正确答案:C
    C语言中,switch语句中的表达式和case表达式都不能是浮点类型。所以选C。

  • 第3题:

    若有定义:float x=1.5; int a=1, b=3, c=2;,则正确的switch语句是()。

    A.switch(x) { case 1.0: printf("*"); case 2.0: printf("**"); }

    B.switch((int)x); { case 1: printf("*"); case 2: printf("**"); }

    C.switch(a+b) { case 1: printf("*"); case 1+2: printf("**"); }

    D.switch(a+b) { case 1: printf("*"); case c: printf("**"); }


    C

  • 第4题:

    若有定义:float x=1.5;int a=1,b=3,c=2;则正确的switch语句是______。

    A.switch (x) {case 1.0: printf("*\n"); case 2.0: printf("**\n");}

    B.switch ( (int)x); {case 1: printf("*\n"); case2: printf("**\n");}

    C.switch (a+b) {case 1:printf("*\n"); case 2+1: printf("**\n");}

    D.switch (a+b)) {case 1: pfintf("*\n")}; case c: printf("**\n"));}


    正确答案:C
    解析:在switch语句中,case后的常量表达式只能是整型或等价于整型的常量,而选项A中case后面的表达式为浮点型,选项D中case后面的表达式存在字符变量“c”,故选项A与选项D错误;在选项B中,switch后面的表达式加了分号显然格式有误。故选项C正确。

  • 第5题:

    以下选项中与 if (a==1) a=b; else a++; 语句功能不同的switch语句是()。

    A.switch(a==1) {case 0: a=b; break; case 1: a++; }

    B.switch(a) {case 1: a=b; break; default: a++; }

    C.switch(a) { default : a++; break; case 1: a=b; }

    D.switch(a==1) {case 1: a=b; break; case 0: a++; }


    B