14 运算符与表达式之逻辑运算符

在前一篇中,我们介绍了关系运算符,它们用于比较两个操作数的大小关系,并返回布尔值(truefalse)。本篇将进一步讲解逻辑运算符,它们在控制程序流和条件判断中发挥着重要作用。逻辑运算符的主要员工是连接多个布尔表达式,以产生单一的布尔结果。我们将了解三种主要的逻辑运算符:&&(逻辑与),||(逻辑或)和!(逻辑非)。

逻辑与:&&

逻辑与运算符(&&)会在两个条件都为真时返回真。换句话说,只有当两个条件都为true时,结果才为true。如果任一条件为false,结果则为false

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>

int main() {
int a = 5, b = 10;

// 判断条件
if (a < 10 && b > 5) {
printf("条件成立:a 小于 10 并且 b 大于 5\n");
} else {
printf("条件不成立\n");
}

return 0;
}

在上述代码中,当a小于10且b大于5时,控制台将输出“条件成立”。如果我们将b改变为2,结果将为“条件不成立”。

逻辑或:||

逻辑或运算符(||)在至少一个条件为真时返回真。只要其中一个条件为true,结果就为true,仅在所有条件都为false时结果才为false

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>

int main() {
int a = 5, b = 10;

// 判断条件
if (a > 10 || b > 5) {
printf("条件成立:a 大于 10 或者 b 大于 5\n");
} else {
printf("条件不成立\n");
}

return 0;
}

在这个例子中,由于b大于5,控制台将输出“条件成立”。即使a不大于10,只要满足任一条件就可以。

逻辑非:!

逻辑非运算符(!)用于反转布尔值。如果条件为真,使用逻辑非将更改为假;反之亦然。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>

int main() {
int a = 5;

// 判断条件
if (!(a > 10)) {
printf("条件成立:a 不大于 10\n");
} else {
printf("条件不成立\n");
}

return 0;
}

在这里,!(a > 10)的结果为true,因为a确实不大于10,因此控制台输出“条件成立”。

逻辑运算符的结合使用

逻辑运算符可以结合使用来构建复杂的条件判断。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>

int main() {
int a = 5, b = 10, c = 15;

// 判断多个条件
if ((a < 10 && b > 5) || (c > 20 && a > 0)) {
printf("条件成立:至少一个复杂条件为真\n");
} else {
printf("条件不成立\n");
}

return 0;
}

在这个示例中,尽管c > 20false,但由于第一个条件(a < 10 && b > 5)true,因此整个条件表达式评估为true,控制台输出“条件成立”。

总结

逻辑运算符在条件判断和控制流程中非常重要。通过使用逻辑与&&、逻辑或||和逻辑非!,我们可以构建复杂的逻辑条件,控制程序的执行路径。

在下一篇文章中,我们将探讨位运算符,了解如何直接操作数据的二进制位。

14 运算符与表达式之逻辑运算符

https://zglg.work/cplusplus-zero/14/

作者

IT教程网(郭震)

发布于

2024-08-10

更新于

2024-08-10

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论