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

A)switch(x){case1.0:printf("*\n");case2.0:printf("**\n");}B)switch((int)x);{case1:pri... 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)
{case1:printf(**\n);}
casec:printf(**\n);}

问:A选项哪里错了??
展开
 我来答
高启强聊情感
高粉答主

2020-07-19 · 关注我不会让你失望
知道大有可为答主
回答量:5789
采纳率:100%
帮助的人:154万
展开全部

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

switch(a+b)

{case 1:printf("*\n");

case 2+1:printf("**\n");}

所以这一题选择C。

switch语句的基本形式

switch(表达式)

{

case 常量表达式1: 语句1;

case常量表达式2: 语句2;

.

.

.

case常量表达式n: 语句n;

default: 语句n+1;

}

扩展资料:

switch后面的括号内的表达式,ANSI标准允许为任何类型。

当表达式与某一个case后面的常量表达式相等时,就执行case后面的语句,若没有匹配,则执行default后面的语句。

每一个case的常量表达式的值须互不相同,否则便会出现矛盾。

各个case和default的出现次序不影响结果。

执行完一个case语句,流程就转移到下一个case并继续执行,因此在case的分支后,加break语句来跳出switch语句。

蒋卓轩1997
2017-06-19 · TA获得超过109个赞
知道答主
回答量:18
采纳率:0%
帮助的人:1.4万
展开全部
C
答案解析
[解析] switch 后的括号中只能是整型或字符型表达式,选项A中使用的是浮点型变量x,故不正确。选项B在switch的括号后面多了一个分号,故也不正确。switch的case标号后只能是常量或常量表达式,而不能是变量,所以选项D也不正确。故应该选择C
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
t494462545
2012-08-16
知道答主
回答量:1
采纳率:0%
帮助的人:1600
展开全部
对于swith(表达式)中的表达式,可以控制程序的执行过程,表达式的结果必须是整数、字符或枚举量值,A选项中,出现浮点型,B中switch()后面出现分号,D选项CASE1后面出现},是错误的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Wz_LOVE_Cdj
2012-08-16 · TA获得超过650个赞
知道小有建树答主
回答量:710
采纳率:54%
帮助的人:375万
展开全部
case 后面必须是不能是浮点数,必须是int 或者枚举,int 1,2,3,4, 枚举,a,w,r,s,q、、、
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
冬蚁想睡
2012-08-15
知道答主
回答量:7
采纳率:0%
帮助的人:9492
展开全部
switch的括号里只能是结果为整型的表达式,也可以是枚举型,但实际上枚举型会转换成整型。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式