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

青灯夜游
发布: 2020-07-29 14:13:09
原创
10362人浏览过
在switch语句中,case后的标号只能是常量表达式。在一个特定的switch语句中,每个case常量都必须具有独一无二的值,不可以重复。但是switch语句可以包含多个case标签。

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

switch语句用于基于不同条件执行不同动作。

语法格式:

switch (变量表达式)
{
case 常量1:
   语句;break;
case 常量2:
   语句;break;
case 常量3:
   语句;break;
...
case 常量n:
   语句;break;
default:
   语句;break;
}
登录后复制

switch语句是一个条件选择语句,找到相同的case值做为执行后面的程序入口;若所有的case都不满足,则找default入口;若未找到default入口则退出整个switch语句。

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

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

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

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

Fotor AI Image Upscaler
Fotor AI Image Upscaler

Fotor推出的AI图片放大工具

Fotor AI Image Upscaler 73
查看详情 Fotor AI Image Upscaler

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

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

switch ( x )
{
   case C1: { int temp = 10;    // 声明temp,仅为该case使用
              /* ... */
            }
            break;
   case C2:
            /* ... */
}
登录后复制

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

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

推荐:《c语言教程

以上就是在switch语句中,case后的标号只能是什么?的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号