女孩和机器人一起思考

一起动脑筋 · 先看一个小故事

下雨带伞,不下雨戴帽子。女孩希望机器人两种情况都知道怎么做。

把过程摊开来看

沿着编号看一遍,再用自己的话讲一遍
  1. 检查今天下雨吗
  2. 为真带伞
  3. 为假戴帽子
  4. 汇合继续出门

else 提供 if 条件不成立时的另一条路。对于这一组 if/else,一次只走其中一边。

可以把分支画成岔路,两条路完成各自动作后,再回到共同的后续步骤。

01只有 if 还不够吗?

如果我们既要处理“及格”,又要处理“不及格”,可以使用 else

if (score >= 60) {
    std::cout << "及格";
} else {
    std::cout << "不及格";
}

02if...else 为什么只走一条路?

同一次判断中:

条件为 true

执行 if 分支

条件为 false

执行 else 分支

两个分支不会在同一次 if...else 判断里同时执行。

03else 自己有条件吗?

没有。else 的意思就是:“前面的 if 条件不成立时,走这里。”

如果还需要另一个条件,可以使用 else if

04else 到底属于哪个 if?

if (a > 0) {
    if (b > 0) {
        std::cout << "A";
    } else {
        std::cout << "B";
    }
}

这里的 else 属于里面的 if (b > 0)

05if...else 和两个 if 一样吗?

if...else

同一次判断只会选择一个分支。

两个独立 if

两个条件都要分别计算,两个代码块都可能执行。

06怎样追踪一次判断?

int score = 75;

if (score >= 60) {
    std::cout << "及格";
} else {
    std::cout << "不及格";
}
score = 7575 >= 60 → true执行 if 分支

你已经知道了什么

  • if...else 用来表示二选一。
  • 条件为 true 执行 if,false 执行 else。
  • 同一次判断只会执行一个分支。
  • else 没有自己的条件。
  • 花括号能让嵌套 if 的结构更清楚。

下一篇:多个条件怎样判断?

轮到你来试一试

今天下雨,这组 if/else 会又带伞又戴帽子吗?

想好了吗?点开看解释

按这个例子的规则,只走带伞分支。若想两件事都做,应另写相应动作。