主题
逻辑与关系运算符
C++ 中的逻辑运算符和关系运算符用于进行条件判断和逻辑运算。它们帮助程序员在程序中进行布尔值操作以及条件控制。
关系运算符
关系运算符用于比较两个数或表达式的大小关系,结果是一个布尔值(true
或 false
)。
1. 等于运算符 ==
检查两个操作数是否相等。
cpp
int a = 5, b = 3;
bool result = (a == b); // result = false
2. 不等于运算符 !=
检查两个操作数是否不相等。
cpp
int a = 5, b = 3;
bool result = (a != b); // result = true
3. 大于运算符 >
检查左边的操作数是否大于右边的操作数。
cpp
int a = 5, b = 3;
bool result = (a > b); // result = true
4. 小于运算符 <
检查左边的操作数是否小于右边的操作数。
cpp
int a = 5, b = 3;
bool result = (a < b); // result = false
5. 大于等于运算符 >=
检查左边的操作数是否大于或等于右边的操作数。
cpp
int a = 5, b = 3;
bool result = (a >= b); // result = true
6. 小于等于运算符 <=
检查左边的操作数是否小于或等于右边的操作数。
cpp
int a = 5, b = 3;
bool result = (a <= b); // result = false
逻辑运算符
逻辑运算符用于执行布尔值运算,通常与条件判断一起使用。
1. 逻辑与运算符 &&
当两个操作数都为 true
时,结果为 true
,否则为 false
。
cpp
bool a = true, b = false;
bool result = (a && b); // result = false
2. 逻辑或运算符 ||
当至少一个操作数为 true
时,结果为 true
,否则为 false
。
cpp
bool a = true, b = false;
bool result = (a || b); // result = true
3. 逻辑非运算符 !
用于取反操作,如果操作数为 true
,则结果为 false
,反之亦然。
cpp
bool a = true;
bool result = !a; // result = false
运算符优先级
关系运算符和逻辑运算符有各自的优先级,关系运算符的优先级高于逻辑运算符。例如:
cpp
int a = 5, b = 3, c = 8;
bool result = (a > b && c > a); // result = true, 先判断关系运算符再判断逻辑运算符
为了避免优先级带来的歧义,可以使用括号明确表达式的顺序。
cpp
bool result = (a > b) && (c > a); // 明确先计算关系运算符再进行逻辑运算符
小结
- 关系运算符 用于比较两个数值的大小关系,结果是布尔值。
- 逻辑运算符 用于布尔值操作,支持与、或、非等运算。
- 运算符优先级决定了运算顺序,使用括号可以避免混淆。
通过合理运用这些运算符,可以在 C++ 中实现更复杂的条件判断和逻辑控制。