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

题目

若有定义语句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++; }

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

第1题:

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

第2题:

以下选项中与 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

第3题:

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

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

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

第6题:

以下选项中与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错误。

第7题:

若有以下变量和函数说明:includecharCh='*';void sub(int x,int y,char ch,double*

若有以下变量和函数说明: #include<iostream.h> charCh='*'; void sub(int x,int y,char ch,double*Z) { switch(ch) { case'+':*Z=x+y;break; case'-':*Z=x-y;break: case'*':*Z=x*y;break; case'/':*z=x/y;break: } } 以下合法的函数调用语句是( )。

A.sub(10,20,Ch,y);

B.sub(1.2+3,2*2,'+',&Z);

C.sub(sub(1,2,'+',&y),sub(3,4'+',&x),'-',&y);

D.sub(a,b,&x,ch);


正确答案:B

第8题:

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

A.switch(x)

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

C.switch(a+B)

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


正确答案:C

第9题:

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