女孩和机器人一起思考

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

出门前女孩问机器人:“下雨就带伞。”机器人要先知道哪件事?

把过程摊开来看

沿着编号看一遍,再用自己的话讲一遍
  1. 观察是否下雨
  2. 判断条件成立吗
  3. 成立执行带伞动作
  4. 不成立跳过这次动作

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 大括号里的加分语句还会执行吗?

想好了吗?点开看解释

不会。程序跳过这个分支,继续执行它后面的语句。