![零基础C语言学习笔记](https://wfqqreader-1252317822.image.myqcloud.com/cover/191/36710191/b_36710191.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
4.5 逻辑运算符与逻辑表达式
在招聘信息上常常会看到对年龄的要求。例如,要求年龄高于18岁,并且低于35岁,在C语言中,表示该要求的表达式如下:
![img](https://epubservercos.yuewen.com/9B6764/19471983208811106/epubprivate/OEBPS/Images/txt005_41.jpg?sign=1739503496-mYYlWRONoi74lJDY1BOKlbpqM7VWU4ls-0-5ddc5c6ed7cecff8a7472fce569f73f1)
上述表达式就是一个逻辑表达式,该表达式中的“&&”是一个逻辑运算符。
4.5.1 逻辑运算符
![img](https://epubservercos.yuewen.com/9B6764/19471983208811106/epubprivate/OEBPS/Images/txt005_42.jpg?sign=1739503496-rQQaWcqT5gpkasOLD8ZgxPB5jAOmduKQ-0-d24239801e5f7436cd60b1a2a6e079af)
逻辑运算符有3个,如表4.3所示。
表4.3 逻辑运算符的符号及功能
![img](https://epubservercos.yuewen.com/9B6764/19471983208811106/epubprivate/OEBPS/Images/txt005_43.jpg?sign=1739503496-oGLhOn474tXRXjkyJf7LxHtLqdw35g3w-0-23f4016834f403b6fc5ec8909b509cfc)
学习笔记
在表4.3中,逻辑与运算符“&&”和逻辑或运算符“||”都是双目运算符,逻辑非运算符“!”是单目运算符。
4.5.2 逻辑表达式
![img](https://epubservercos.yuewen.com/9B6764/19471983208811106/epubprivate/OEBPS/Images/txt005_44.jpg?sign=1739503496-XvGPSoWV3ielqwbCRoMUxCXfWDoxUkyb-0-737077d4cbde6bac6b0e750096a303da)
前面介绍过关系运算符可以判断两个表达式的大小关系,使用逻辑运算符可以将多个关系表达式的结果合并在一起进行判断,其语法格式如下:
![img](https://epubservercos.yuewen.com/9B6764/19471983208811106/epubprivate/OEBPS/Images/txt005_45.jpg?sign=1739503496-LPU5q4WGOK8rZF7SRrLD4jgbpJOkYyee-0-ebe638269e22d84c532aa37aa533d7cb)
逻辑运算的结果如表4.4所示。
表4.4 逻辑运算的结果
![img](https://epubservercos.yuewen.com/9B6764/19471983208811106/epubprivate/OEBPS/Images/txt005_46.jpg?sign=1739503496-WxpOZfh8ODbCArMPYsYSCADnkjvs55CG-0-c404e1c7833a39d1711aef9b7da1f6ab)
逻辑与运算符“&&”和逻辑或运算符“||”可以用于非常复杂的表达式中。逻辑表达式通常被用作控制程序流程的语句中的条件表达式。
在程序中,通常使用逻辑非运算符“!”将一个变量的值转换为相应的逻辑真值(1)或逻辑假值(0)。例如:
![img](https://epubservercos.yuewen.com/9B6764/19471983208811106/epubprivate/OEBPS/Images/txt005_47.jpg?sign=1739503496-pd1CN5dUMvOV3mrMfki5XOpJYmyjUJ7W-0-e665913415929cafb428d0cedeb9985b)
4.5.3 逻辑运算符的优先级与结合性
![img](https://epubservercos.yuewen.com/9B6764/19471983208811106/epubprivate/OEBPS/Images/txt005_48.jpg?sign=1739503496-stTR5eIoNfdH3HsPTEYviTsElnLZl4uK-0-016ad306d504f70c0e1c614a2c9bab6f)
逻辑运算符的优先级从高到低依次为逻辑非运算符“!”、逻辑与运算符“&&”、逻辑或运算符“||”。
当逻辑运算符的优先级相同时,结合性为自左向右。