您的位置:

c语言switch语句case后可为,c语言的switch语句中的case后

本文目录一览:

switch语句中case后只能加什么?

case标签(case后)必须是常量表达式(constantExpression),如42或者'4'。

case标签(case后)必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。

其他规则:

只能针对基本数据类型中的整型类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。

switch()的参数类型不能为实型 。

扩展资料:

相关延伸:switch语句的语法如下(switch,case,break和default是关键字):

switch ( 变量表达式 )

{

case 常量1 :语句;break;

case 常量2 :语句;break;

case 常量3 :语句;break;

...

case 常量n:语句;break;

default :语句;break;

}

switch语句中case后可为常量或表达式和有确定值的变量及表达式吗?

switch语句中case后可为常量或简单的表达式(不可以有函数调用),不可以有任何的变量及变量表达式。

switch

语句必须遵循下面的规则:

switch

后的圆括号中是一个常量表达式,必须是一个整型或枚举类型。

在一个

switch

中可以有任意数量的

case

语句。每个

case

后跟一个要比较的值和一个冒号。

所以,case

后面必须与

switch

中的变量具有相同的数据类型,且必须是一个常量或字面量。不可以是变量,或含有变量的表达式。

C语言中switch中的case后面可以加判断语句吗

不能,case后面是常量表达式

--------------------------------------------------------------------------------

switch(表达式)

{

case

常量表达式1:

语句1;

break;

case

常量表达式2:

语句2;

break;

……

case

常量表达式n:

语句n;

break;

default:

语句n+1;

break;

}

--------------------------------------------------------------------------------

switch语句的执行流程是:首先计算switch后面圆括号中表达式的值,然后用此值依次与各个case的常量表达式比较,若圆括号中表达式的值与某个case后面的常量表达式的值相等,就执行此case后面的语句,执行后遇break语句就退出switch语句;若圆括号中表达式的值与所有case后面的常量表达式都不等,则执行default后面的语句n+1

C语言中的switch语句,case后面可不可以跟一表达式,例如“100>x>50”;如不可以为什么?

不可以,C语言中的switch case中的case后面仅可以跟整形常量或常量表达式。

原因:如果case后面跟 100x50是会出现逻辑错误的。

首先C语言中像100x50这种表达式的意义并不和数学里的一样表示x落在(50,100)这个区间。这个在C语言中100x会先被计算得到真或假。直接用关系运算得到的真和假在C语言中就是1或0。而1或0是始终小于50的。这就导致这个表达式的值永远为零。

常量表达式:在计算机编程语言中,若一个表达式的值不能发生改变,则称之为常量表达式,如C++中有整型常量,字符常量,逻辑常量,实型常量,地址常量,符号常量,这些常量组成的表达式即为常数表达式。其中含有字符常量的常量表达式可称为字符常量表达式。

整型常量:整型常量就是通常的整数,包括正整数、负整数和0,其数据类型显然是整型。除此之外,整型常量包括短整型、长整型和无符号型等不同类型。

扩展资料

switch语句的用法和特点:

switch的用法是判断case后面的表达式和switch后面的表达式是否相匹配,一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break。

Switch case 语句表达式为:

switch{case 常量1: 语句体1;case 常量2: 语句体2;case 常量3: 语句体3;case 常量4: 语句体4;....default : 语句体;}

当常量表达式所表达的量与其中一个case语句中的常量相符时,就执行此case语句后面的语句,并依次下去执行后面所有case语句中的语句,除非遇到break;语句跳出switch语句为止。如果常量表达式的量与所有case语句的常量都不相符,就执行default语句中的语句并跳出switch语句。

switch ...  case语句的特点:

1、把要讨论的表达式与case后面的常量进行比较,发现匹配项之后,从该位置入口,做它下面的所有语句。

2、case 后面的常量不能重复

3、可以在每一个case语句的后面加上break语句,这样就能保证只做与之相匹配的那一项。

4、break实质:在switch ...case语句里面最先遇到那一个break就从该位置结束该语句

5、可以在最后一个case的下面加上default语句表示如果找不到匹配项时,就做default对应的项。

6、default并不是一定要有,如果前面遇到break,default就不执行。如果没有遇到break,就一定会执行。

7、case后面的语句可以不执行,表示与下一个case是或的关系。

参考资料:百度百科-switch

在C中switch语句中,case后面可以为任何量或表达式对吗

不是“任何常量或表达式”,而是“任何常量表达式”,其类型必须为整型和枚举类型。

C语言的switch语句中case后()

选B,case后面只能是整型或字符型的常量或常量表达式。

一、switch是另外一种选择结构的语句,用来代替简单的、拥有多个分支的if else 语句,基本格式如下:

switch(表达式){

case 整型数值1: 语句 1;

case 整型数值2: 语句 2;

......

case 整型数值n: 语句 n;

default: 语句 n+1;

}

二、它的执行过程是:

1、首先计算“表达式”的值,假设为 m。

2、 从第一个 case 开始,比较“整型数值1”和 m,如果它们相等,就执行冒号后面的所有语句,也就是从“语句1”一直执行到“语句n+1”,而不管后面的 case 是否匹配成功。

3、如果“整型数值1”和 m 不相等,就跳过冒号后面的“语句1”,继续比较第二个 case、第三个 case……一旦发现和某个整型数值相等了,就会执行后面所有的语句。假设 m 和“整型数值5”相等,那么就会从“语句5”一直执行到“语句n+1”。

4、如果直到最后一个“整型数值n”都没有找到相等的值,那么就执行 default 后的“语句 n+1”。

扩展资料:

1、switch后面括弧内的【表达式】,ANSI标准允许它为任何类型;

2、当表达式的值与某一个case后面的常量表达式的值相等时,就执行此case后面的语句,否则,就执行default后面的语句。

3、每一个case的常量表达式的值必须互不相同,否则就会出现互相矛盾的现象(对表达式的同一个值,有两种或多种执行方案)。

4、各个case各default的出现次序不影响执行结果。例如,可以先出现"default: ...",再出现"case 'D': ...",然后是"case 'A': ...".

5、执行完一个case后面的语句后,流程控制转移到下一个case继续执行。"case常量表达式"只是起语句标号作用,并不是在该处进行条件判断。在执行swith语句时,根据switch后面表达式的值找到匹配的入口标号,就从此标号开始执行下去,不再进行判断。

参考资料来源:百度百科-switch