在switch语句中,case后的标号只能是什么?


当前第2页 返回上一页

case 后的常量指的是常量表达式。在一个特定的 switch 语句中,每个 case 常量都必须具有独一无二的值,不可以重复。但是 switch 语句可以包含多个 case 标签。

default 标签是可选的,可以放在 switch 语句体内任何位置。如果没有 default 标签,并且没有任何 case 常量符合 switch 语句控制表达式的计算结果,那么 switch 语句体中的语句都不会执行。在这种情况下,程序流会转而执行 switch 语句体后面的语句。

switch 语句体通常是一个从 case 标签开始的语句块。如果在第一个 case 标签之前有语句,这些语句并不会被执行。

C 语言的标签只用于标识程序流可能跳转到的目的地。这些标签本身对程序没有影响。因此,从 switch 跳转到第一个符合条件的 case 标签之后,程序会继续顺序执行,不受其他标签的影响。

如果在这个符合条件的 case 标签之后,其他 case 标签中的语句应该被忽略,就应该在所执行的最后一条语句后,加上 break 语句,使得程序流直接跳转到 switch 语句体的后面。

如果需要在 switch 语句内声明变量,那么这些变量应该被声明在嵌套的内部语句块中,如下所示:

1

2

3

4

5

6

7

8

9

switch ( x )

{

   case C1: { int temp = 10;    // 声明temp,仅为该case使用

              /* ... */

            }

            break;

   case C2:

            /* ... */

}

在 switch 表达式中,应用了整数提升。case 常量被转换为匹配 switch 表达式计算结果的类型。

也可改用 else if 语句来实现 switch/case 语句效果。但是如果依据一个整数表达式的值来判断程序流,则应该使用 switch/case 语句,这种方式可以提高代码的可阅读性。

推荐:《c语言教程》

以上就是在switch语句中,case后的标号只能是什么?的详细内容!

返回前面的内容

相关阅读 >>

putchar函数在C语言中是什么意思

C语言scanf是啥意思

一个C语言程序总是从什么开始执行

C语言输入成绩怎么判断等级

C语言可以直接对硬件进行操作吗

C语言的特点与创建的基本步骤是什么

在不同函数中可以使用相同名字的变量吗

C语言中a++和++a有什么区别

C语言是面向什么的语言

C语言关键字是什么

更多相关阅读请进入《C语言》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...