在switch结构中,每一个case块的结束必须有break或g

题目

在switch结构中,每一个case块的结束必须有break或goto语句

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

( 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

第2题:

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

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

第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题:

若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

第5题:

已知: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

第6题:

以下选项中与“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++操作,与题干程序刚好相反。

第7题:

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

第8题:

在switch语句的每个 case块中,假定都是以 break语句结束的,则此 switch语句容易被改写成的语句是( )。


正确答案:if

第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.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正确。

更多相关问题