The bool type and operators 布尔类型与运算符
在程序中,我们经常需要比较两个值(例如判断i是否大于j)。C++提供了6种关系运算符(也称比较运算符)。
Relational Operators 关系运算符
| 运算符 | 名称 | 示例 | 结果 |
|---|---|---|---|
< |
less than(小于) | 1 < 2 |
true |
<= |
less than or equal to(小于或等于) | 1 <= 2 |
true |
> |
greater than(大于) | 1 > 2 |
false |
>= |
greater than or equal to(大于或等于) | 1 >= 2 |
false |
== |
equal to(等于) | 1 == 2 |
false |
!= |
not equal to(不等于) | 1 != 2 |
true |
<aside> ⚠️
注意:判断相等用 ==,赋值用 =,避免逻辑错误
例如:if (count = 1) 是赋值而非判断,这是常见的逻辑错误!
</aside>
Logical Operators 逻辑运算符
| 运算符 | 名称 | 描述 |
|---|---|---|
! |
not(非) | logical negation(逻辑取反) |
&& |
and(与) | logical conjunction(逻辑与) |
| `\ | \ | ` |
示例: 假设 age = 24,weight = 140
| 运算符 | 说明 | 特点 | 示例 | 结果 |
|---|---|---|---|---|
! |
逻辑非 | 单目运算符,取反 | !(age>18) |
false(原表达式为真) |
&& |
逻辑与 | 全真才真,左假则右不执行 | (age>18) && (weight>=140) |
true |
| `\ | \ | ` | 逻辑或 | 一真即真,左真则右不执行 |
<aside> 💡
短路特性:
&&:左侧为false时,右侧不执行\\|\\|:左侧为true时,右侧不执行
</aside>Conditional operator 条件运算符
条件运算符(?:)是C++中唯一的三目运算符,可替代简单的if-else语句,用于简化赋值或输出逻辑。
语法格式: 布尔表达式 ? 表达式1 : 表达式2