测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看
B47

多分支:嵌套 if 与 else 配对

引入

章前总览 第9章处理多种情形:在 if / else 里再写 if,就形成嵌套;推荐写成清晰的 if … else if … else。最容易踩坑的是:else 总跟最近的未配对 if

逻辑链条:

  • C1:为什么需要多分支
  • C2:推荐 else if 写法
  • C3:else 配对陷阱与花括号

1 C1. 从嵌套到多分支

单分支、双分支只能分 1~2 种情况。要判断多种情形,就要用多分支:在 if 或 else 里再嵌套完整的 if。

推荐形式

  • 先判断情形 1;不满足再 else if 情形 2;再 else if ……
  • 最后的 else 通常不加条件,表示“前面全不成立”。
  • 这种写法对应教材图 9.1(d)的简洁形式。

</> 骨架

if (条件1)
    语句1;
else if (条件2)
    语句2;
else if (条件3)
    语句3;
else
    语句4;   // 其余情况

2 C2. else 配对陷阱

规则:else 总是与离它最近、尚未配对的 if 配对。不加花括号时,缩进骗不了编译器。

补充说明

不推荐

if (x == 0)
    if (y == 0)
        y++;
else {
    x++;
    z = x + y;
}

实际:else 挂在内层 if(y==0) 上;当 x!=0 时什么也不做。

推荐写法

if (x == 0) {
    if (y == 0)
        y++;
} else {
    x++;
    z = x + y;
}

优点:外层 if/else 配对一目了然。

小结

多分支两句口诀:

情形多 → else if 链式写
嵌套深 → 花括号把层次锁死
里程碑达成:

下一节用 else if 做 VIP 折扣和每月天数。