精通C++关系与逻辑运算符:决策制定清晰指南
在C++中,关系和逻辑运算符比较两个或多个操作数,返回true或false值。
我们在决策制定中使用这些运算符。
C++关系运算符
关系运算符用于检查两个操作数间关系。例如:
// 检查a是否大于b a > b;
此处>为关系运算符。检查a是否大于b。
关系为true返回1,为false返回0。
下表汇总C++使用的关系运算符。
| 运算符 | 含义 | 示例 |
|---|---|---|
== | 等于 | 3 == 5得false |
!= | 不等于 | 3 != 5得true |
> | 大于 | 3 > 5得false |
< | 小于 | 3 < 5得true |
>= | 大于等于 | 3 >= 5得false |
<= | 小于等于 | 3 <= 5得true |
== 运算符
等于==运算符返回:
true- 两操作数相等或相同false- 操作数不相等
例如:
int x = 10; int y = 15; int z = 10; x == y // false x == z // true
注意: 关系运算符==不同于赋值运算符=。赋值运算符=将值赋给变量、常量、数组或向量,不比较两操作数。
!= 运算符
不等于!=运算符返回:
true- 两操作数不相等false- 两操作数相等
例如:
int x = 10; int y = 15; int z = 10; x != y // true x != z // false
> 运算符
大于>运算符返回:
true- 左操作数大于右操作数false- 左操作数小于右操作数
例如:
int x = 10; int y = 15; x > y // false y > x // true
< 运算符
小于<运算符返回:
true- 左操作数小于右操作数false- 左操作数大于右操作数
例如:
int x = 10; int y = 15; x < y // true y < x // false
>= 运算符
大于等于>=运算符返回:
true- 左操作数大于或等于右操作数false- 左操作数小于右操作数
例如:
int x = 10; int y = 15; int z = 10; x >= y // false y >= x // true z >= x // true
<= 运算符
小于等于<=运算符返回:
true- 左操作数小于或等于右操作数false- 左操作数大于右操作数
例如:
int x = 10; int y = 15; x > y // false y > x // true
要了解关系运算符如何用于字符串,请参考此教程。
C++逻辑运算符
我们用逻辑运算符检查表达式是true还是false。表达式为true返回1,为false返回0。
| 运算符 | 示例 | 含义 |
|---|---|---|
&& | 表达式1 && 表达式2 | 逻辑与。仅当所有操作数为true时为true。 |
|| | 表达式1 || 表达式2 | 逻辑或。至少一个操作数为true时为true。 |
! | !表达式 | 逻辑非。仅当操作数为false时为true。 |
C++逻辑与运算符
逻辑与&&返回:
true- 当且仅当所有操作数为truefalse- 当一个或多个操作数为false
&&运算符真值表
设a和b为两操作数。0代表false,1代表true。则:
| a | b | a && b |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
从真值表可见,&&仅当a和b均为true时返回true。
注意:逻辑与&&勿与位与&混淆。
示例1:C++与运算符
// C++程序演示&&运算符真值表 #include <iostream> using namespace std; int main() { int a = 5; int b = 9; // false && false = false cout << ((a == 0) && (a > b)) << endl; // false && true = false cout << ((a == 0) && (a < b)) << endl; // true && false = false cout << ((a == 5) && (a > b)) << endl; // true && true = true cout << ((a == 5) && (a < b)) << endl; return 0; }
输出
0 0 0 1
程序声明初始化两个int变量a、b值为5和9。打印逻辑表达式((a == 0) && (a > b))。a == 0因a值为5评估为false。a > b因a小于b也为false。用&&组合。由真值表知false && false(即0 && 0)结果为false(0),即输出结果。类似评估三其他表达式完整演示&&真值表。
C++逻辑或运算符
逻辑或||返回:
true- 当一个或多个操作数为truefalse- 当且仅当所有操作数为false
||运算符真值表
设a和b为两操作数。则:
| a | b | a || b |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
从真值表可见,||仅当a和b均为false时返回false。
示例2:C++或运算符
// C++程序演示||运算符真值表 #include <iostream> using namespace std; int main() { int a = 5; int b = 9; // false && false = false cout << ((a == 0) || (a > b)) << endl; // false && true = true cout << ((a == 0) || (a < b)) << endl; // true && false = true cout << ((a == 5) || (a > b)) << endl; // true && true = true cout << ((a == 5) || (a < b)) << endl; return 0; }
输出
0 1 1 1
程序声明初始化两个int变量a、b值为5和9。打印逻辑表达式((a == 0) || (a > b))。a == 0因a值为5评估为false。a > b因a小于b也为false。用||组合。由真值表知false || false(即0 || 0)结果为false(0),即输出结果。类似评估三其他表达式完整演示||真值表。
C++逻辑非运算符 !
逻辑非!是一元运算符,即仅取一个操作数。
操作数为false返回true,操作数为true返回false。
!运算符真值表
设a为操作数。则:
示例3:C++非运算符
// C++程序演示!运算符真值表 #include <iostream> using namespace std; int main() { int a = 5; // !false = true cout << !(a == 0) << endl; // !true = false cout << !(a == 5) << endl; return 0; }
输出
1 0
程序声明初始化int变量a值5。打印逻辑表达式!(a == 0)。a == 0因a值为5评估为false。但对a == 0用非运算符!。因a == 0评估为false,!反转a == 0结果,最终结果true。同理!(a == 5)最终返回false因a == 5为true。
C语言
- C# 特性完全指南:预定义特性、自定义特性与元数据编程
- C++数据类型修饰符详解:signed/unsigned/long/short实战指南
- C 语言数组完全指南:高效数据存储与访问
- C++循环结构完全指南:for/while/do-while/嵌套循环与控制语句
- C# 字符串完全指南:创建、属性、常用方法与实战技巧
- 掌握 C# 预处理器指令:条件编译、诊断控制与代码组织实战
- 掌握C#嵌套循环:For、While与Do-While详解
- 理解 C# 嵌套类:定义、访问与继承实战
- C 语言联合体详解:多类型数据共享内存的高效管理
- C 语言指针完全指南:类型、用法与最佳实践
- 掌握 C++ switch-case 语句:语法、流程与计算器实战案例
- C# 正则表达式完全指南:Regex 类、常用模式与实战示例