![零基础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=1739259961-8BawBx4tDOC25N7RFld8JK4ewysXxKrG-0-5cd9fc698b080625aa224ddd00d1260c)
上述表达式就是一个逻辑表达式,该表达式中的“&&”是一个逻辑运算符。
4.5.1 逻辑运算符
![img](https://epubservercos.yuewen.com/9B6764/19471983208811106/epubprivate/OEBPS/Images/txt005_42.jpg?sign=1739259961-en8UPbJ0AId1G9vXs8HhG2C8mWuna1ds-0-f57074460a469026f0eb662f30460d1b)
逻辑运算符有3个,如表4.3所示。
表4.3 逻辑运算符的符号及功能
![img](https://epubservercos.yuewen.com/9B6764/19471983208811106/epubprivate/OEBPS/Images/txt005_43.jpg?sign=1739259961-ZaZDS7qZMs1dF3zHgTeZK6NBHAkS20h6-0-2a9d9083681f06419074a396962a7a1c)
学习笔记
在表4.3中,逻辑与运算符“&&”和逻辑或运算符“||”都是双目运算符,逻辑非运算符“!”是单目运算符。
4.5.2 逻辑表达式
![img](https://epubservercos.yuewen.com/9B6764/19471983208811106/epubprivate/OEBPS/Images/txt005_44.jpg?sign=1739259961-3XO8mwyTAUBQuXIOwgONIyDCeJlUmGGy-0-4da4e1921cfa15763437032580c03024)
前面介绍过关系运算符可以判断两个表达式的大小关系,使用逻辑运算符可以将多个关系表达式的结果合并在一起进行判断,其语法格式如下:
![img](https://epubservercos.yuewen.com/9B6764/19471983208811106/epubprivate/OEBPS/Images/txt005_45.jpg?sign=1739259961-NxBNrKYOuQCHufvv2ffMjlDLWrBpUMgL-0-12f810bb531b1c305994f3e8be7fa0d5)
逻辑运算的结果如表4.4所示。
表4.4 逻辑运算的结果
![img](https://epubservercos.yuewen.com/9B6764/19471983208811106/epubprivate/OEBPS/Images/txt005_46.jpg?sign=1739259961-VU7dqfcCZN2GqsYcPlH0UgWQE1RPpzuU-0-986f87b0282afdb496e55e7d91b2b2cd)
逻辑与运算符“&&”和逻辑或运算符“||”可以用于非常复杂的表达式中。逻辑表达式通常被用作控制程序流程的语句中的条件表达式。
在程序中,通常使用逻辑非运算符“!”将一个变量的值转换为相应的逻辑真值(1)或逻辑假值(0)。例如:
![img](https://epubservercos.yuewen.com/9B6764/19471983208811106/epubprivate/OEBPS/Images/txt005_47.jpg?sign=1739259961-83nI3cPhzCHcr22Z2GdhjYeI6td34uJp-0-4bea9345ced5e6107ba967d47014c389)
4.5.3 逻辑运算符的优先级与结合性
![img](https://epubservercos.yuewen.com/9B6764/19471983208811106/epubprivate/OEBPS/Images/txt005_48.jpg?sign=1739259961-lZ9yjSiWdyHGHj4CqBmBAxELIl0icrSA-0-cdee3830c3c0275e35a48e8eead8edde)
逻辑运算符的优先级从高到低依次为逻辑非运算符“!”、逻辑与运算符“&&”、逻辑或运算符“||”。
当逻辑运算符的优先级相同时,结合性为自左向右。