
一起动脑筋 · 先看一个小故事
下雨带伞,不下雨戴帽子。女孩希望机器人两种情况都知道怎么做。
把过程摊开来看
- 检查今天下雨吗
- 为真带伞
- 为假戴帽子
- 汇合继续出门
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 = 75↓75 >= 60 → true↓执行 if 分支
你已经知道了什么
if...else用来表示二选一。- 条件为 true 执行 if,false 执行 else。
- 同一次判断只会执行一个分支。
- else 没有自己的条件。
- 花括号能让嵌套 if 的结构更清楚。
下一篇:多个条件怎样判断?
轮到你来试一试
今天下雨,这组 if/else 会又带伞又戴帽子吗?
想好了吗?点开看解释
按这个例子的规则,只走带伞分支。若想两件事都做,应另写相应动作。