下面这段代码有错误么?switch (i){case():CaseZero();break;case 1:CaseOne();break;case 2:dufault;CaseTwo();break;}

题目

下面这段代码有错误么?

switch (i){

case():

CaseZero();

break;

case 1:

CaseOne();

break;

case 2:

dufault;

CaseTwo();

break;

}


相似考题
参考答案和解析
正确答案:
 

switch (i){

case():

CaseZero();

break;

case 1:

CaseOne();

break;

case 2:

dufault; //wrong

CaseTwo();

break;

}
更多“下面这段代码有错误么?switch (i){case():CaseZero();break;case 1:CaseOne();break;case 2:dufault;CaseTwo();break;}”相关问题
  • 第1题:

    下面程序的输出结果为( )。 main( ) { int a=1,b=0; switch(a) { case 1:switch (b) { case 0: printf("**0**"); break; case 1: printf("**1**"); break; } case 2: printf("**2**"); break; }}

    A.**0**

    B.**0****2**

    C.**0****1****2**

    D.有语法错误


    参考答案B

  • 第2题:

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

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

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

    C.switch a {case c1:y=a-b;break; case c2;x=a*b;break; default:x=a+b; }

    D.switch(a-b) {default:y=a*b;break; case 3:case 4:x=a+b;break; case 10:case11:y=a-b;break; }


    正确答案:D
    解析:由switch语句的格式排除A、C项,选项B中出现了两个相同的case标号。

  • 第3题:

    已知:int a,b;下列switch语句中,( )是正确的。

    A.switdh (a) { case a: a + +;break; case b: b + +;break; }

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

    C.switch(a*a) { case 1,2:+ +a; case 3, 4:+ +b: }

    D.switch(a/10+b) { cases 5:a/5:break: default:a+b; }


    正确答案:D

  • 第4题:

    有以下程序:includemain(){int a=6,b=7,m=I;switch(a%2){case 0:m++;break;case 1:m++

    有以下程序: #include<stdio.h> main() {int a=6,b=7,m=I; switch(a%2) {case 0:m++;break; case 1:m++; switch(b%2) {defaut:m++; case 0:m++;break; } } printf("%d\n",m); } 程序运行后的输出结果是( )。

    A.1

    B.2

    C.3

    D.4


    正确答案:B
    解析:本题考查switch语句。因为a=6,所以a%2=0,因此第一个switch语句,执行case 0,将m加1,遇到break语句跳出switch语句,输出m值为2。

  • 第5题:

    以下选项中与iF(a==1)a=B;elsea++;语句功能不同的sWish语句是

    A.sWitch(a){case1:a=B;Break; deFault:a++;}

    B.sWitch(a==1){case0:a=B;Break; case1:a++;}

    C.sWitch(a){DeFault:a++;Break; case1:a=B;}

    D.sWitch(a==1){case1:a=B;Break; case0:a++;}


    正确答案:B
    解析:switch(a==1)语句中,若a等于1,则a==1为"真",则应该进行a=b的操作,故选项B错误。

  • 第6题:

    给出下列的程序代码片段,m为哪个值时将会输出default? switch(m) { case 0:System.out.println("case0"); case 1:System.out.println("case 1");break; case 2:System.out.println("case 2");break; default:System.out.println("default"); }

    A.0

    B.1

    C.2

    D.3


    正确答案:D
    解析:此题考查switch语句的用法,switch的判断的条件必须是一个int型值,也可以是byte,short和char型的值,case中需要注意的是一个case后面一般要接一个break语句才能结束判断,否则将继续执行其他case而不进行任何判断,如果没有任何值符合CaSe列出的判断,则执行default的语句,default是可选的,可以没有,如果没有default而又没有任何值匹配case中列出的值,则switch不执行任何语句。

  • 第7题:

    给出下面代码段: public class Test{ public static void main(String args[] ) { int m; switch(m) { case 0: System.out.println("case 0"); case 1: System.out.println("case 1"); break; case 2: break; default: System.out.println("default"); } } } 下列m的值能引起输出“default”的是( )。

    A.0

    B.1

    C.2

    D.4


    正确答案:D
    解析:本题考查条件语句switch的应用。此代码段最后输出default,则表示m的值不能为0、1和2三者其中之一,故m的值只能选择D。

  • 第8题:

    若有定义语句“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。

  • 第9题:

    已知:int a,b;下列switch语句中,( )是正确的。

    A.switdh(a) { case a: a++;break; case b: b++:break: }

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

    C.switch(a*a) { case1,2:++a; case3,4:++b; }

    D.swish(a/l0+b) { cases 5:a/5;break; default:a+b: }


    正确答案:D

  • 第10题:

    下列程序的输出结果是(). main( ) { int x=1,y=0,a=0,b=0; switch(x) { case 1:switch(y) { case 0:a++;break; case 1:b++;break; } case 2:a++;b++;break; case 3:a++;b++;break; } printf("a=%d,b=%d/n",a,b); }

    • A、a=1,b=0
    • B、a=2,b=1
    • C、a=1,b=1
    • D、a=2,b=2

    正确答案:B

  • 第11题:

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



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

    B



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

    C



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

    D



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


    正确答案: C
    解析:
    在switch语句的执行过程中,执行完case后面的语句后,如果遇到break语句就停止,否则将继续执行下一个case中的语句,直到遇到break语句。B项,当a==1是a++,a!=1时a=b,刚好和题干要求相反。答案选择B选项。

  • 第12题:

    单选题
    有以下程序:#include main(){ int a[]={2,3,5,4},i; for(i=0;i<4;i++) switch(i%2) {  case 0:      switch(a[i]%2)      {       case 0:a[i]++;break;       case 1:a[i]--;      }break;  case 1:a[i]=0; } for(i=0;i<4;i++)printf(%d,a[i]); printf();}程序运行后的输出结果是(  )。
    A

    3344

    B

    2050

    C

    3040

    D

    0304


    正确答案: B
    解析:
    main函数的主体是一个for循环语句,for循环中包含一个switch语句,如果判断条件为0则进入第二个switch语句,如果判断语句为1则执行“a[i]=0”,最后将数组顺序输出。所以程序功能是将数组下标为奇数的项设为0,数组下标为偶数的项,如果对应的元素为偶数则加1,如果对应的元素为奇数则减1。答案选择C选项。

  • 第13题:

    以下程序的运行结果是( )。

    main()

    (int a=2,b=7,c=5;

    switch(a>0)

    {case 1:switch(b<0)

    {case 1:switch(");break;

    case 2:printf("!");break;

    }

    case 0:switch(c==5)

    {case 0:printf("*");break;

    case 1:printf("");break;

    case 2:printf("$");break;

    }

    default:printf ("&");

    }

    printf("\n");

    }


    正确答案:#&
    #& 解析:刚开始时,switch后面的表达式a>0为真(1),与case1匹配,然后执行case1后面的switch语句,表达式b0值为0,没有与其匹配的语句,返回外层,因为外层没有break语句,顺序执行case 0后面的switch语句,表达式“c==5”值为1,与其后面的case1匹配,因此输出#,遇到break返回外层,又因为外层没有break语句,顺序执行default后的语句,输出&。

  • 第14题:

    设有说明:int a=1,b=0;,则执行以下语句的输出结果是______。 switch(a) {case 1: switch(b) {case 0:printf("**0**\n");break; case 1:printf("**1*\n");break; } case 2:printf("**2**\n");break; }

    A.**0**

    B.**0** **2**

    C.**0** **1** **2**

    D.switch语句中存在语法错误


    正确答案:B
    解析:本题是switch-case语句的嵌套使用,外层switch语句的第一个分支(嵌套switch语句)执行完后,没有break;语句,将继续执行第二个分支。

  • 第15题:

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

    A.swich(a+b); { case 1:y=a+b;break; case 0:y=a-b;break; } case 3:y=b-a, break;

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

    C.switch a { case c1:y=a-b;break; case c2:x=a*d;break; default:x=a+b; }

    D.switch(a-b) { default:y=a*b;break; case 3:case 4:x=a+b;break; case 10:case 11:y=a-b;break; }


    正确答案:D

  • 第16题:

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

    A.switch(a+b); { casel:y=a+b;break; case0:y=a-b;break; }

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

    C.switch a {case c1:y=a-b;break; case c2:x=a*d;break; default:x=a+b; }

    D.switch(a-b) {default:y=a*b;break; case 3:case 4:x=a+b;break; case 10:case 11:y=a—b;break; }


    正确答案:D
    解析:switch语句后不能有分号,故选项A错误;switch语句中的常量不能在分支重复出现,故选项B错误;选项C中, switch后的表达式必须要加括号,case后的表达式必须是常量,故选项C错误;因此只有选项D正确。

  • 第17题:

    下面这段代码有错误么?

    switch (i){

    case(): 答://case()条件不能为空

    CaseZero();

    break;

    case 1:

    CaseOne();

    break;

    case 2:

    dufault;


    正确答案:
    答://wrong,格式不正确
             CaseTwo();
             break;
        }

  • 第18题:

    若有定义语句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。

  • 第19题:

    若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后面的整型表达式>应该用括号括起来,故也不正确

  • 第20题:

    有以下程序: include main() {int a=6,b=7,m=1;switch(a%2){ case 0:m++;break;case 1

    有以下程序: #include<stdio.h> main() { int a=6,b=7,m=1; switch(a%2) { case 0:m++;break; case 1 :m++; switch(b%2) { defaut:m++; case0:m++;break; } } printf("%d\n",m); }

    A.1

    B.2

    C.3

    D.4


    正确答案:B
    解析:本题考查swish语句。第一个switch语句,因为a=6,a%2=0,所以执行case 0,将m加1,遇到break语句跳出switch语句,结束循环。

  • 第21题:

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

    A )

    switch ( a )

    {case : a=b ; break ;

    default:a++ ;

    B )

    switch ( a==1 )

    {case 0 : a=b ; break ;

    case 1 : a++ ;

    }

    C )

    switch ( a )

    {default : a++ ; break ;

    case 1 : a=b ;

    }

    D )

    switch ( a==1 )

    {case 1 : a=b ; break ;

    case 0 : a++ ;

    }


    正确答案:B

     

  • 第22题:

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



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

    B



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

    C



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

    D



    switch((int)(x)%2)
    {
     case 0.0:a++;break;
     case 1.0:b++;break;
     default:a++;b++;
    }


    正确答案: C
    解析:
    switch语句中,表达式的类型应与case语句后的常量类型保持一致,并且switch的判断条件只能为整型或字符型,case后面为常量表达式。A项,x%2得到的是浮点型数据,而case语句后的常量是整型数据,类型不一致;B项,(int)x/2.0得到的也是浮点型数据,类型不一致;D项,(int)x%2.0得到的是整型数据,而case语句后的常量是浮点型数据,类型也不一致。答案选择C选项。

  • 第23题:

    单选题
    有以下程序#include main(){ int x=1,y=0,a=0,b=0; switch(x) {  case 1:      switch(y)      {       case 0:a++;break;       case 1:b++;break;      }  case 2:a++;b++;break;  case 3:a++;b++;break; } printf(a=%d,b=%d,a,b);}程序的运行结果是(  )。
    A

    a=1,b=0

    B

    a=2,b=2

    C

    a=1,b=1

    D

    a=2,b=1


    正确答案: D
    解析:
    当执行swicth语句时,首先计算紧跟其后一对括号中的表达式的值,然后在switch语句体内寻找与该值吻合的case标号。如果有与该值相等的标号,则执行该标号后开始的各语句,包括在其后的所有case和default中的语句,直到switch语句体结束;每当执行到break语句时,立即跳出 switch语句体。switch语句通常总是和break语句联合使用,使得switch语句真正起到分支的作用。本题中,x=1,首先进入外层分支1,接下来y=0,再进入内层分支0,执行a++,此时a=1,接下来遇到break,跳出内层switch;由于外层分支中没有break语句,会继续执行外层分支2,执行a++,b++,此时a=2,b=1;然后遇到break语句,跳出外层switch。答案选择D选项。