C++分支语句用于根据条件选择执行路径,主要包括if、if-else、if-else if-else和switch四种形式;if单条件触发,if-else实现二选一,均需用圆括号包围条件且结果自动转bool。

C++中分支语句的核心作用是让程序能根据条件自动选择执行路径,不是所有代码都从上到下直通到底。掌握if、if-else、if-else if-else和switch这四种写法,就覆盖了绝大多数判断场景。
if语句:单条件触发
只在某个条件为真(true)时执行一段代码,条件不满足就跳过。注意括号不能省,哪怕只有一行语句也建议加花括号,避免后续扩展出错。
- 基本写法:
if (x > 0) { cout - 别写成
if x > 0——C++要求条件必须用圆括号包住 - 条件表达式结果会自动转为bool:0为false,非0为true
if-else搭配:二选一执行
当需要“满足条件做A,否则做B”时用。else必须紧跟if的右花括号,中间不能有其他语句隔开。
- 示例:
if (score >= 60) cout - 如果分支里有多行,务必用
{}包裹,否则只有第一行属于else - else本身不带条件,它负责兜底所有if没覆盖的情况
多级if-else if-else:处理多个互斥选项
适合分段判断,比如成绩分级、菜单选项、状态码分类等。程序从上到下逐个检查,遇到第一个为真的条件就执行对应分支,其余跳过。
立即学习“C++免费学习笔记(深入)”;
- 顺序很重要:把范围小或优先级高的条件放前面,比如先判
score == 100,再判score >= 90 - 最后一个else可选,但加上更安全,能捕获意外值(如负分或超100分)
- 避免写成多个独立if——那样每个都会被检查,可能造成逻辑重叠
switch语句:等值枚举型判断
专门用于判断一个整型或枚举变量是否等于若干固定值,比一长串if (x==1) ... else if (x==2)...更清晰高效。
- 只能用于
int、char、enum等可隐式转为整型的类型,不能用float或string - 每个case后要加
break,否则会“穿透”执行下一个case(这是常见bug来源) - default分支不是必须的,但强烈建议加上,处理未列出的值
- case后面只能是常量表达式,不能是变量或带计算的式子
基本上就这些。分支语句不复杂,但容易忽略细节导致逻辑偏差——比如漏掉花括号、忘记break、条件顺序颠倒。写完多问一句:“这个值进来,到底走哪条路?”








