C语言的switch语句中case后()
发布网友
发布时间:2022-04-23 13:07
我来回答
共5个回答
热心网友
时间:2023-05-18 04:07
选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
热心网友
时间:2023-05-18 04:07
1、case语句可以加括号运行多行语句。switch的具体用法,首先新建一个c语言的文件,写入基本的结构,引入头文件,新建main主函数,主函数中设置一个变量用来接收用户输出:
2、接着用swith语句制作多重选择,当输入的数满足条件是就输出打印结果,并用break终止程序。最后的default是都不满足条件时,执行的条件:
3、最后按下快捷键Crtl+S编译运行程序,输入一个数字就会打印出相应的语句:
热心网友
时间:2023-05-18 04:07
switch语句的语法如下(case、default和break是其配套关键字):
switch ( 表达式)
{
case 常量表达式1:
语句1; 可以是多行,可以加括号,也可以不加,到下一个case之前,都是本case的语句范围
[break;] 中括号,表示此语句可以没有
case 常量表达式2:
语句2;
[break;]
……
case 常量表达式n:
语句n;
[break;]
[default:]
语句n+1;
[break;]
}说明:
break
表示退出{
}
case后面只能跟一个值(加冒号:),而不能是一个表达式
switch(表达式)
后面没有分号(;)
{}前后没有分号(;)
default语句可以出现在任何位置,但建议写到最后,表示除去case匹配之外的其它情况。也可以没有default语句
switch语句规则:
case标签必须是常量表达式(constant
expression)
只能针对基本数据类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。
case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。
如果两个case语句间没有break,则执行完匹配的case语句后,会顺序执行下面的语句,直到遇到break语句或switch结束
连续的两个case语句表示,这两个case是同一种情况
热心网友
时间:2023-05-18 04:08
B:只能为常量或常量表达式
热心网友
时间:2023-05-18 04:09
是B
C语言的switch语句中case后()
选B,case后面只能是整型或字符型的常量或常量表达式。一、switch是另外一种选择结构的语句,用来代替简单的、拥有多个分支的if else 语句,基本格式如下:switch(表达式){case 整型数值1: 语句 1;case 整型数值2: 语句 2;...case 整型数值n: 语句 n;default: 语句 n+1;} 二、它的执行过程是:...
switch语句中case后面的表达式可以是什么?
switch语句中case后面的表达式可以是常量表达式。C语言中switch语句的case后面不能是一个关系表达式,case后面跟的是一个常量表达式,CASE表达式的真假值判断就会中止,而剩余的 WHEN子句会被忽略。使用注意事项:要注意CASE表达式里各个分支返回的数据类型是否一致。某个分支返回字符型,而其他分支返回数值型的...
c语言switch语句中case后面的值是?
首先 switch(x)由于x的值为0,所以进入case 0:而后面的语句又是一switch语句即switch(y==2)由于y的值为2,所以y==2的值为1,因此进入 switch(y==2){ case 1:printf("*");break;case 2:printf("%");break;} 中的case 1: 输出*,然后break结束这个switch(y==2),然后进入外层swit...
switch语句中的case能否为0?
不可以,C语言中的switch case中的case后面仅可以跟整形常量或常量表达式。原因:如果case后面跟 100>x>50是会出现逻辑错误的。首先C语言中像100>x>50这种表达式的意义并不和数学里的一样表示x落在(50,100)这个区间。这个在C语言中100>x会先被计算得到真或假。直接用关系运算得到的真和假在C语言...
C语言中switch中的case后面可以加判断语句吗
不能,case后面是常量表达式---switch(表达式){case 常量表达式1:语句1;break;case 常量表达式2:语句2;break;……case 常量表达式n:语句n;break;default:语句n+1;break;}---switch语句的执行流程是:首先计算switch后面圆括号中表达式的值,然后用此值依次与各个case的常量表达式比较,若圆括号中表达式的...
c语言switch语句中case后面必须要接整型常量和字符型常量吗
c语言switch语句中case后面必须要接整型常量和字符型常量吗 是的,case语句后面的必须是整型常量!整型常量有多种,比如int、char、enum枚举常量,在C++中bool类型也属于整型常量的一种。一般switch语句使用此种格式switch(表达式){case 常量表达式1:语句1;...case 常量表达式2:语句2;default:语句;}...
switch语句中case后只能加什么?
case后)必须是常量表达式(constantExpression),如42或者'4'。case标签(case后)必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。其他规则:只能针对基本数据类型中的整型类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。switch()的参数类型不能为实型 。
switch语句中case后面可不可以加字符串?
c/c++ 语言 不允许。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后面有的加Break有的不加?
case后面的常量表达式实际上只起语句标号作用,而不起条件判断作用,即“只是开始执行处的入口标号”。因此,一旦与switch后面圆括号中表达式的值匹配,就从此标号处开始执行;而且执行完一个case后面的语句后,若没遇到break语句,就自动进入下一个case继续执行,而不再判断是否与之匹配,直到遇到break语句才...
switch语句中,case后面的语句序列中一定要有break语句吗?
switch 语句一行接一行地执行(实际上是语句接语句)。开始时没有代码被执行。仅当一个 case 语句中的值和 switch 表达式的值匹配时才开始执行语句,直到 switch 的程序段结束或者遇到第一个 break 语句为止。如果不在 case 的语句段最后写上 break 的话,代码将继续执行下一个 case 中的语句段,...