c语言switch语句中case后面必须要接整型常量和字符型常量吗

如题所述

是的,case语句后面的必须是整型常量!

整型常量有多种,比如int、char、enum枚举常量,在C++中bool类型也属于整型常量的一种。

//一般switch语句使用此种格式
switch(表达式)
{
case å¸¸é‡è¡¨è¾¾å¼1:语句1;
....
case å¸¸é‡è¡¨è¾¾å¼2:语句2;
default:语句;
}

switch是一个整型表达式。case是一个整数常量表达式。只所以不能使用浮点数,个人理解应该是浮点数的精度问题不容易把握,在一定误差内可能出现多个匹配,而且浮点数对硬件依赖要求比较高,代码可移植性可能会更低。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-25
只能针对基本数据类型使用switch,这些类型包括int、char等
这个是使用switch的要求哦本回答被网友采纳
第2个回答  2012-05-06
是的
第3个回答  2012-05-05
一定

c语言switch语句中case后面必须要接整型常量和字符型常量吗
c语言switch语句中case后面必须要接整型常量和字符型常量吗 是的,case语句后面的必须是整型常量!整型常量有多种,比如int、char、enum枚举常量,在C++中bool类型也属于整型常量的一种。一般switch语句使用此种格式switch(表达式){case 常量表达式1:语句1;...case 常量表达式2:语句2;default:语句;} ...

C语言的switch语句中case后()
选B,case后面只能是整型或字符型的常量或常量表达式。一、switch是另外一种选择结构的语句,用来代替简单的、拥有多个分支的if else 语句,基本格式如下:switch(表达式){case 整型数值1: 语句 1;case 整型数值2: 语句 2;...case 整型数值n: 语句 n;default: 语句 n+1;} 二、它的执行过程是:...

switch case可以和整型常量或常量表达式一起用吗?
不可以,C语言中的switch case中的case后面仅可以跟整形常量或常量表达式。原因:如果case后面跟 100>x>50是会出现逻辑错误的。首先C语言中像100>x>50这种表达式的意义并不和数学里的一样表示x落在(50,100)这个区间。这个在C语言中100>x会先被计算得到真或假。直接用关系运算得到的真和假在C语言...

C++中switch语句中case分句后面只能跟字符量吗?
case后面 只要是能表示成 整数结果的表达式 全都可以 。单引号括起的 字符常量,例如: case 'a': case 'S': case '5': case '6': 都可以。因为字符常量 是整型,数值等于它们的 ASCII 值。其他, case 3: case 4:case TRUE:只要是能表示成 整数结果的表达式 全都可以 ...

switch语句中case后面可以加字符串么
c\/c++ 语言 case后面 只允许是 整型 常量 表达式,例如:int k=3;switch(k){ case 'd'-'a': printf("d-a\\n");break;case 4 : printf("4\\n"); break;case 'Z' : printf("Z\\n"); break; \/\/单引号括起的是字符常量,是整型。} 上面 用的 都是 整型 常量 表达式,...

C语言的switch case 语句的case 常量 能匹配字符串常量吗?
C语言的switch case 语句的case不能匹配字符串常量,只能匹配整型类常量,如int short long char.switch用法格式:switch ( 表达式){ case 常量表达式1:语句1;[break;] 中括号,表示此语句可以没有 case 常量表达式2:语句2;[break;]……case 常量表达式n:语句n;[break;][default:]语句n+1;[...

switch 和 case语句怎么做啊,求教
只有A是正确的。case后面要跟整型常量或字符常量。case 2+1虽然看起来怪怪的,但是它等价于case 3,满足整型常量的要求。B选项switch语句最后多了个分号 C选项的case语句1.0、2.0既不是整型常量,也不是字符常量 D选项的case c,c既不是整型常量,也不是字符常量 ...

大家好 C语言里面的 switch case 结构我有个小小的疑问: case后面到底...
case 后面只能是基本类型且应为常量,不能是变量 可能情况再多也要一个一个地写。。。这个没什么好办法的。。如果你能划定几个范围,用if(b[3]>xx && b[3]<<yy)这种来写也可以

SWTICH语句case后面只能接一个表达式吗
一个case紧接的条件表达式只能是一个编译期确定的整型常量表达式。case和这个常量表达式组成一个标签,这个表达式是当标号用的,所以必需在编译期确定。case标签本身不会被执行。一个case标签后可以接零条或多条语句(可以用大括号组成一条复合语句,但不必要)。遇到break;时控制流跳出switch。=== [原创...

switch语句中case后只能加什么?
case后)必须是常量表达式(constantExpression),如42或者'4'。case标签(case后)必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。其他规则:只能针对基本数据类型中的整型类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。switch()的参数类型不能为实型 。

相似回答