前面两篇文章介绍了不少运算符,但关于运算符还是有一些值得我们注意的知识点没讲到,所以,我们在这篇文章中再加以补充,希望能使大家对于运算符的认识更加全面。
目录
1.2.4^逻辑异或:两个运算对象相同为False,相异为True(只关注两个运算对象逻辑值的异同,不关注逻辑值具体为False或True。
1.逻辑运算符
1.1逻辑运算符的种类
逻辑运算符有:&、|、&&、||、!、^ 。C语言一共提供了6种逻辑运算符,逻辑运算符的运算结果使逻辑值,即只有逻辑真和逻辑假两个值。
1.2逻辑运算符的使用说明
1.2.1& 和 &&
相同点:
这两个逻辑运算符都表示:“与”,只要两个运算对象中有一个为False,则全为False。
不同点:
&(与):表达式a & 表达式b 在运算时,表达式a和b都会先被执行,再进行True和False的判断。
&&(短路与):表达式a && 表达式b 在运算时,如果表达式a(先被执行的)结果为False,则表达式b不进行运算,直接返回结果,计算效率高。(表达式中有部分可能压根不被执行,所以称为短路与)
1.2.2| 和 ||
相同点:
这两个逻辑运算符都表示:“或”,只要两个运算对象中有一个为True,则全为True。
不同点:
|(或):表达式a | 表达式b 在运算时,表达式a和b都先会被执行,再进行True和False的判断。
||(短路或):表达式a || 表达式b 在运算时,如果表达式a(先被执行的)结果为True,则表达式b不进行运算,直接返回结果,计算效率高。(表达式中有部分可能压根不被执行,所以称为短路或)
1.2.3!
逻辑非:取相反结果,即若运算对象原来为逻辑真变成逻辑假,原来为逻辑假变成逻辑真。