![零基础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=1739358716-xj42dyVzp53nLaOZ9SfCeNZ7ew0TMhUv-0-18a2f586fef48c9377a6a5598dc076f4)
上述表达式就是一个逻辑表达式,该表达式中的“&&”是一个逻辑运算符。
4.5.1 逻辑运算符
![img](https://epubservercos.yuewen.com/9B6764/19471983208811106/epubprivate/OEBPS/Images/txt005_42.jpg?sign=1739358716-uHpLxGv6rJcvjsNRvvuKLV0IYGES8bsx-0-5c204ed82514353dc230d09b39432992)
逻辑运算符有3个,如表4.3所示。
表4.3 逻辑运算符的符号及功能
![img](https://epubservercos.yuewen.com/9B6764/19471983208811106/epubprivate/OEBPS/Images/txt005_43.jpg?sign=1739358716-XKqTHU0pHfsf0MmJ2bpg9vHaM3beqQ4M-0-ef6336ceb4f348d76e8a5f1626746ab2)
学习笔记
在表4.3中,逻辑与运算符“&&”和逻辑或运算符“||”都是双目运算符,逻辑非运算符“!”是单目运算符。
4.5.2 逻辑表达式
![img](https://epubservercos.yuewen.com/9B6764/19471983208811106/epubprivate/OEBPS/Images/txt005_44.jpg?sign=1739358716-4ICGjvFUXlvEenQTicxuoDr1ZEkoOwyn-0-f67db81d9c432735ac59fdece12f59a2)
前面介绍过关系运算符可以判断两个表达式的大小关系,使用逻辑运算符可以将多个关系表达式的结果合并在一起进行判断,其语法格式如下:
![img](https://epubservercos.yuewen.com/9B6764/19471983208811106/epubprivate/OEBPS/Images/txt005_45.jpg?sign=1739358716-985P3h8cnFh7A9pzsncJwI6pAkDMdZBq-0-139c741796e4383fb21a5e3b709c9aa3)
逻辑运算的结果如表4.4所示。
表4.4 逻辑运算的结果
![img](https://epubservercos.yuewen.com/9B6764/19471983208811106/epubprivate/OEBPS/Images/txt005_46.jpg?sign=1739358716-xn7KYDdUxo5rLvMXb5rpO9lskbhgEbBD-0-d9f5f6ba18d51f993bb23a07eabd5a28)
逻辑与运算符“&&”和逻辑或运算符“||”可以用于非常复杂的表达式中。逻辑表达式通常被用作控制程序流程的语句中的条件表达式。
在程序中,通常使用逻辑非运算符“!”将一个变量的值转换为相应的逻辑真值(1)或逻辑假值(0)。例如:
![img](https://epubservercos.yuewen.com/9B6764/19471983208811106/epubprivate/OEBPS/Images/txt005_47.jpg?sign=1739358716-VNsttEveLKpMfpN8oN9pQxoOdgf5AEh2-0-cba7a968ca2878bb44732fc50f17f660)
4.5.3 逻辑运算符的优先级与结合性
![img](https://epubservercos.yuewen.com/9B6764/19471983208811106/epubprivate/OEBPS/Images/txt005_48.jpg?sign=1739358716-95lzSuaPD2JGobq8LSO1hNnF2jQoOrq9-0-7a5e424a392a0d19dbf76aeaec92af67)
逻辑运算符的优先级从高到低依次为逻辑非运算符“!”、逻辑与运算符“&&”、逻辑或运算符“||”。
当逻辑运算符的优先级相同时,结合性为自左向右。