[c语言学习]分支语句-switch语句,另一种选择结构

发布时间:2026/10/14 3:39:13
[c语言学习]分支语句-switch语句,另一种选择结构 分支语句-switch语句switch 语句是什么if语句和switch语句的对比switch语句中的breakswitch语句中的defaultswitch语句中的case和default的顺序问题结语上一篇我们学习了if语句掌握了让程序做判断的能力。if 语句功能十分强大无论是范围判断还是复杂的多条件逻辑都可以搞定。但当我们需要对固定离散的值做匹配判断时switch语句会让代码更加清爽直观。switch 语句是什么switch 语句是⼀种特殊形式的if…else 结构⽤于判断条件有多个结果的情况。switch 括号内只能是整型表达式case 后面必须写常量不能写变量。代码示例switch(整型表达式){case常量1://匹配常量1执行的代码case常量2://匹配常量2执行的代码default://所有case都不匹配时执行可选}从上面我们看到根据switch后边的的值就执⾏表达式产⽣的不同的值执⾏相应的case 分⽀如果找不到对应default 分⽀。if语句和switch语句的对比if 语句和 switch 语句都是分支语句都可以实现条件判断但二者擅长的场景不一样。if语句就像是个万能选手什么的能处理不管是判断区间还是多个条件组合。但是要判断很多个固定的离散值。1就要写一长串else if看起来太臃肿了。而switch‑case就是处理这种的专项选手。下面是简单示例// switch写法简洁switch(day){case1:printf(周一);break;case2:printf(周二);break;default:printf(输入错误);}// if写法同样可以实现但写起来冗长if(day1)printf(周一);elseif(day2)printf(周二);elseprintf(输入错误);这里我们看到就只是判断是周一还是周二就有了明显差别跟何况来判断完整的一周呢。但是到底选择什么语法来实现你的要求还是看个人的选择。switch语句中的break在switch‑case结构里break是非常关键的关键字。break作用执行完对应 case 的代码之后立刻跳出整个 switch 语句不再继续往下执行后面的 case。没有 break 会发生什么case 穿透就想下面这样这里我们已经定义了day是值为2按我们想要的要求来这里应该输出星期二进行了但结果却事与愿违本意只想执行 case2结果把后面全部跑一遍。绝大多数情况每个 case 都要写 break但有时我们可以主动省略 break让多个 case 共用同一套逻辑比如1‑5 是工作日6‑7 是周末。#includestdio.hintmain(){intday6;switch(day){case1:case2:case3:case4:case5:printf(工作日\n);break;case6:case7:printf(周末\n);break;default:printf(输入错误\n);break;}return0;}这里多个 case 没有 break会顺序往下走直到碰到 break 才跳出这是刻意设计的写法所以说想要什么效果我们就选择那种方式就行了。switch语句中的defaultdefault可以理解成 switch 里面的”兜底“当所有 case 的常量都匹配失败的时候就会执行 default 里面的代码default是可选的不是必须写。但是建议尽量写上用来处理非法输入。switch语句中的case和default的顺序问题在switch 语句中case ⼦句和default ⼦句有要求顺序吗default 只能放在最后吗但其实default书写位置可以随意可以放最前面、中间、最后不影响判断规则但是如果忘记写 break顺序就会带来 case 意想不到的穿透问题大家可以自己去实验一下到底有什么效果毕竟学习一门编程语言还是要多实践所以我们通常是把default ⼦句放在最后处理的。这是第一段文字结语witch‑case 是分支语句的另一种实现。它不像 if 那样无所不能但在等值匹配的场景下代码可读性会更好。我们已经学完了 if 和 switch 两大分支语句。分支是编程逻辑的基石后续循环、函数都会大量用到条件判断。学习编程切忌只看不动手多复制代码、修改变量、测试不同输入才能真正吃透语法。下一篇我们将进入循环语句的学习继续探索 C 语言的世界。如果大家有什么问题欢迎在下方留言一起讨论下次再见…作者的其他文章[c语言学习]分支语句-if语句,让程序学会做选择[第一次博客]gitee的简单使用—初启新途万事开端就像是一个个相互独立、分开的数值不是连续的一段区间。比如 1、2、3、4A、B↩︎

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询