
一起动脑筋 · 先看一个小故事
出门前女孩问机器人:“下雨就带伞。”机器人要先知道哪件事?
把过程摊开来看
- 观察是否下雨
- 判断条件成立吗
- 成立执行带伞动作
- 不成立跳过这次动作
if 让程序根据条件选择是否执行一段语句。
先计算条件,再决定是否进入分支。大括号把属于这个分支的动作圈在一起。
01为什么程序需要“选择”?
很多任务不能每次都做同一件事。
例如:分数达到 60 分才输出“及格”。
if (score >= 60) {
std::cout << "及格";
}
02if 是怎样工作的?
计算条件→true?→执行代码块
如果条件是 false,就跳过这个代码块,继续执行后面的程序。
03条件一定是比较表达式吗?
不一定。if 的条件需要能转换成 bool。
bool ready = true;
if (ready) {
std::cout << "开始";
}
整数也能转换成 bool:0 是 false,非 0 是 true。但初学时最好写出清晰、直接的条件。
04if 是在“思考”吗?
不是。计算机没有在这里自己判断什么是好、什么是坏。
它只是在执行程序员写好的规则:
人的工作
设计“什么时候应该做什么”。
计算机的工作
计算条件,然后严格按结果走对应流程。
05花括号为什么重要?
if (score >= 60) {
std::cout << "及格";
std::cout << "继续努力";
}
花括号把多条语句组成一个代码块。
06多个 if 会怎样执行?
if (score >= 60) {
std::cout << "及格";
}
if (score == 100) {
std::cout << "满分";
}
这是两个独立的 if。每个条件都会分别判断,因此两个代码块都有可能执行。
你已经知道了什么
if根据条件决定是否执行代码块。- 条件最终需要得到或转换成 bool。
- true 时执行,false 时跳过。
- if 不是计算机“思考”,而是执行预先写好的规则。
- 多个独立 if 会分别判断。
下一篇:if...else:如果不是这样呢?
轮到你来试一试
条件是假,if 大括号里的加分语句还会执行吗?
想好了吗?点开看解释
不会。程序跳过这个分支,继续执行它后面的语句。