一、逻辑运算符
1.种类
共有 三 种。
1. && 与
2. || 或
3. ! 非
2.优先级
(1)!的优先级最高。
(2)&& 和 || 的优先级低于算术运算符和关系运算符,高于赋值运算符。
示例 1 :
3.作用
逻辑运算符经常用于条件语句(如 if 语句)中,以决定程序的执行流程。此外,逻辑运算符还可以与其他运算符(如关系运算符)结合使用,以构建更复杂的条件表达式。
1.逻辑与(&& ):如果两个操作数都为真,则结果为真。否则,结果为假。
2.逻辑或(||):如果至少有一个操作数为真,则结果为真。否则,结果为假。
3.逻辑非(!):对操作数的逻辑值取反。如果操作数为真,则结果为假;如果操作数为假,则结果为真。
4.特点
总是先对左侧的表达式求值,再对右边的表达式求值。
短路行为 :
1.介绍
在C语言中,逻辑运算符的短路行为(short-circuiting behavior)是指当逻辑运算符的操作数之一已经足够确定整个逻辑表达式的值时,就不会再去计算表达式的其余部分。这种特性有时被称为“短路求值”(short-circuit evaluation)。
1.逻辑与(&&)的短路行为:
当使用逻辑与运算符 && 时,如果第一个操作数为假,则整个表达式的结果已经确定为假,因此不会再去计算第二个操作数。这是因为无论第二个操作数的值是什么,整个逻辑与表达式的结果都将是假。
2.逻辑或(||)的短路行为:
当使用逻辑或运算符 || 时,如果第一个操作数为真(即非零值),则整个表达式的结果已经确定为真,因此不会再去计算第二个操作数。这是因为无论第二个操作数的值是什么,整个逻辑或表达式的结果都将是真。
2.作用
性能优化:短路行为可以避免不必要的计算。
错误避免:通过短路行为,可以避免执行 可能导致程序崩溃或产生错误的代码。
代码简洁:短路行为允许编写更简洁的代码。
逻辑表达式的简化:有时,可以利用短路行为来简化逻辑表达式。
3.注意
虽然短路行为在某些情况下非常有用,但是这并不意味可以在所有情况下都使用它。
比如在某些特定的编程场景中,可能需要显式地计算逻辑表达式的所有部分,以确保程序的正确性和可预测性。
因此,我们要谨慎地考虑是否使用 短路行为。