若a,b,c1,c2,x,y均是整型变量,正确的switch语句是()。A.switch(a+b)B.switch(a*a+b*b) { case:y=a

题目

若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后面的整型表达式>应该用括号括起来,故也不正确
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下列关于 switch 语句的描述中,( )是正确的。

A.switch语句中 default子句可以没有,也可有一个

B.switch语句中每个语句序列中必须有break语句

C.switch语句中default 子句只能放在最后

D.switch语句中case 子句后面的表达式只能是整型表达式


正确答案:A

第2题:

若有以下定义,则正确的swish语句是______。 float x;int a,b;

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

B.switch(x) {case 1,2:printf("*\n"); case 3:printf("**\n"); }

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

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


正确答案:C
解析:switch后必须是整型或字符型的表达式,因此选项A、B错误;表达式的括号外没有分号,因此选项D错误。

第3题:

若有定义 : 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");

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

第4题:

若a和b均是正整型变量,正确的switch语句是( )。A.

switch(pow(a,2)+pow(b,2))(注:调用求幂的数学函数)

B.

C.

D.

A.A

B.B

C.C

D.D


正确答案:A
B中switch(a*a+b*b);后面不应该有分号,C中应为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题:

若a和b均是整型变量并已正确赋值,正确的switch语句是

A.switch(a+b);{……}

B.switch(a+b*3.0){……}

C.switch a{……}

D.switch(a%b){……}


正确答案:D
解析:switch后的括号部分只能返回这几种类型的值:int,byte,short和char。选项A)switch(a+b);中多了一个“;”号,注意观察。选项B)switch(a+b*3.0)中括号的值不能为浮点型。选项C)switcha中switch后的判断部分必须用括号括起来。

第7题:

设int型变量a、b,float型变量x、y,char型变量ch均已正确定义并赋值,正确的switch语句是_________。

A.switch(ch+1){......}

B.switch(a+b){......}

C.switch(x+y){......}

D.switchch{......}


正确答案:B

第8题:

若有定义: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"); 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后面括号中可以是任何表达式,取其整数部分与各常量表达式进行比较。常量表达式中不能出现变量,且类型必须是整型、字符型或枚举型,各常量表达式各不相同。

第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) { case 1,2:+ +a; case 3, 4:+ +b: }

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


正确答案:D

第10题:

下列关于swith语句的描述中,正确的是( )。

A.switch语句中default字句可以没有,也可有一个

B.switch语句中每个语句序列中必须有break语句

C.switch语句中default字句只能放在最后

D.switch语句中case子句后面的表达式可以是整型表达式


正确答案:A
解析:使用switch语句应该注意的问题:它的实现留给该基类的派生类去做。但是,可以在将一个函数声明为纯虚函数的同时,为该函数提供实现版本。换句话说,一个函数是否为纯虚函数,取决于其原形的尾部是否有“=0;”,与函数体的有无无关。拥有实现版本的纯虚函数仍然有赖于派生类提供的重定义版本。另外,纯虚函数不能声明为内联函数。

更多相关问题