1.2.4 逻辑运算符

更新于 2026年10月10日 版权声明
1.2.4 逻辑运算符

逻辑运算符包括三种:

&&:逻辑与。

||:逻辑或。

!:逻辑非。

逻辑运算符中的“&&”和“||”的运算优先级低于关系运算符的,“!”的运算优先级高于算术运算符的。用逻辑运算符将两个常量、变量、逻辑量或关系表达式连接起来的式子称作逻辑表达式。逻辑与运算的规则如下:

1&&1=1;

1&&0=0;

0&&1=0;

0&&0=0。

逻辑与运算的两边都为1时,结果才为1,否则结果就为0。

逻辑或运算规则如下:

1||1=1;

1||0=1;

0||1=1;

0||0=0。

逻辑或运算的两边只要有一边为1,结果就为1。两边都为0时,结果才为假。

逻辑非运算规则如下:

!1=0;

!0=1。

逻辑非运算对于0的非运算结果为1,所有不是0的情况做逻辑非操作的结果都是0。(https://www.daowen.com)

三种逻辑运算中的1代表所有为真的情况,0代表所有为假的情况。

例如,若a=3,b=2,则下面的几个逻辑运算结果分别如下。

!b:值为0。因为b的值为2,是真的,故逻辑运算结果为0。也就是只有0是假的,其他数值都是真的,无论正负。

a>0&&b<0:值为0。因为a>0为真,即为1,而b<0假,即为0,故整个逻辑运算的结果为0。

a&&b:值为1。因为a为3,b为2,都为真,即都为1,故整个逻辑运算结果为1。

a||b:值为1。因为a、b都为真,即都为1,故整个逻辑运算结果为1。

!a||b:值为1。因为!a为0,而b为真,即为1,所以逻辑或两边有一边为1,整个逻辑运算结果即为1。

4&&0||2:值为1。因为4&&0的结果为0,而2为真,故整个逻辑运算结果为1。

当一个逻辑表达式中出现多个运算符时,一般是按从左向右的顺序来执行,但是要遵循各种运算之间的优先顺序。算术运算符、赋值运算符、关系运算符、逻辑运算符之间的优先顺序如表1-1所示。

表1-1 运算符优先级表

图示

例如,对于“6>2&&7<3-!0”,执行的顺序如下:!0的结果为1→3-1的结果为2→6>2的结果为1→7<2的结果为0→1&&0的结果为0。

但对于逻辑操作也有些情况要考虑。在逻辑表达式的运算过程中,并不是所有的逻辑运算符都要被执行,要遵循下面的两条规则:

①逻辑与运算中,对于a&&b&&c,只有a为真时,才需要判断b的值;只有a和b都为真时,才需要判断c的值。如果a的值为假,整个表达式的值即为0,那么b和c不需要执行;如果a为真,b为假,整个表达式的值即为0,那么c不需要执行。

②逻辑或运算中,对于a||b||c,只要a为真,整个表达式的值即为1,那么b和c不需要执行。如果a为假,才需要判断b;如果a和b都为假,才需要判断c。因此b、c能不能执行取决于a的值。

例如,对于“6>2&&7<3&&2<8”,执行的顺序如下:6>2结果为1→7<3结果为0→1&&0结果为0,故整个表达式值为0,2<8并没有执行。

例1-4 a=1,b=2,c=5,d=4,n=3,求解执行(a>b)&&(n=c>d)后n的值。

分析:

由于a>b不成立,值为0,整个表达式的值即为0,右侧的表达式并没有执行,因此n的值不变,仍为3。如果右边仍然去求解,那么由于c>d成立,值为1,n的值为1,结果就是错的。因此在逻辑运算中,一定要按照上述的两条规则来进行运算。

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)