下列关于case关键字的说法中,错误的是()。A、case关键字后面必须是常量B、case关键字后面的break必须存在C、case关键字后面的break可以没有D、case关键字后面的值必须不一样

题目

下列关于case关键字的说法中,错误的是()。

  • A、case关键字后面必须是常量
  • B、case关键字后面的break必须存在
  • C、case关键字后面的break可以没有
  • D、case关键字后面的值必须不一样
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

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

A.switch(a) {case l:a=b;break; default:a++; }

B.switch(a= =l) {case 0:a=b;break; case l:a++; }

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

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


正确答案:B
题中当a的值为l时,关系表达式a==l的值为真,即1,因此程序将跳转到easel执行a++操作,与题干程序刚好相反。

第2题:

关于switch语句,下面说法正确的有()

A. 条件表达式必须为常量或者整数

B. 单个case中,可以出现多个结果选项

C. 需要用break来明确退出一个case

D. 只有在case中明确添加fallthrough关键字,才会继续执行紧跟的下一个case


参考答案:BD

第3题:

以下程序的运行结果是 【 9 】 。

main( )

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

switch(a>0)

{ case 1:switch(b<0)

{ case 1: printf ("@"); 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");

}


正确答案:

第4题:

下面关于switch语句的叙述中,错误的是()

A.case后面的表达式可以是关系表达式

B.switch语句是多分支选择语句

C.每一个case后面的值必须互不相同,否则会出现矛盾的现象

D.在执行一个case分支后,可用一个break语句使流程跳出switch语句


参考答案:A

第5题:

若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标号。

第6题:

下列关于case关键字的说法中,正确的是()。

A、case关键字后面的值必须不一样

B、case关键字后面必须是常量

C、case关键字后面的break可以没有

D、case关键字后面的break必须存在


参考答案:ABC

第7题:

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

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后的语句,输出&。

第8题:

关于switch语句说法不正确的是()

A、case的次序不影响执行结果

B、每个case语句后面的常量可以不同

C、在执行完一个case语句后转到下一个case语句执行

D、每个case语句后面表达式只能是常量


参考答案:B

第9题:

下面这段代码有错误么?

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;

}

第10题:

若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

更多相关问题