女孩和机器人一起思考

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

游乐项目要求身高至少 120 厘米。女孩正好 120,机器人该让她通过吗?

把过程摊开来看

沿着编号看一遍,再用自己的话讲一遍
  1. 读条件至少 120
  2. 比较120 大于或等于 120
  3. 结果true
  4. 行动满足这项条件

比较表达式产生真或假。> 与 >= 的差别,就在边界是否包含。

“至少”“超过”“不超过”这些日常词,决定了应该选择哪个比较符号。

01比较运算符有哪些?

==

是否相等

!=

是否不相等

< >

大小关系

<=

小于等于

>=

大于等于

结果

都是 bool

02比较结果是什么?

5 > 3      // true
5 == 3     // false
7 != 2     // true

比较表达式的结果是 truefalse

03== 和 = 千万别混淆

=

赋值:把右边的值写到左边。

==

比较:判断两边是否相等。

x = 5;       // 赋值
x == 5;      // 比较

04比较结果怎样控制程序?

最常见的用途就是配合 if

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

比较先得到一个 bool,if 再根据真假决定是否执行代码块。

05字符也能比较吗?

可以。字符类型最终也有整数编码值,因此可以比较。

'A' < 'B'

在常见字符编码中结果为 true。

但字符串、Unicode 文本和自然语言排序要复杂得多,不能简单把字符比较当成“字典顺序的全部规则”。

06为什么小数比较要小心?

浮点数很多时候只能近似表示十进制小数。

0.1 + 0.2 == 0.3

这个表达式在常见二进制浮点环境中通常是 false。

你已经知道了什么

  • 比较运算符包括 == != < > <= >=
  • 比较结果是 bool
  • = 是赋值,== 才是相等比较。
  • 比较结果常用于 if 条件。
  • 浮点数比较需要考虑表示误差。

下一篇:&&、||、!:组合多个条件

轮到你来试一试

身高 120,height > 120 与 height >= 120 分别是什么结果?

想好了吗?点开看解释

前者是假,后者是真。把恰好等于边界的值拿来试,最容易看出差别。