逻辑运算符第 2 部分
本课属于 Coddy C 学习旅程的“基础知识”单元。第 22 课,共 63 课。
逻辑运算符有一个专门的表,叫作“真值表”,它展示了逻辑运算符组合后的返回结果。
and(&&)运算符的真值表:
| a | b | a && b |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
对于 and(&&)运算符,只有当 a 和 b 都是 1(true)时,结果才会是 1(true)
or(||)运算符的真值表:
| a | b | a || b |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
在这种情况下,要得到 1(真)这个结果,a 或 b 应该为 1(真)。
not(!)运算符的真值表:
| a | !a |
|---|---|
| 0 | 1 |
| 1 | 0 |
这里,a 的值被取反。如果 a 是 0(假),那么 !a 就是 1(真)。
挑战
简单你需要为变量 b1 和 b2 赋整数值,使表达式 int b3 = !((b1 + b2) > (b1 * b2)); 的结果为 1(真)。
花点时间分析这个条件,想想哪些值能让它成立。
亲手试试
#include <stdio.h>
int main() {
// 在下方输入你的代码
int b1 = ?;
int b2 = ?;
int b3 = !((b1 + b2) > (b1 * b2));
// 不要修改下面这行
printf("b3 = %d\n", b3);
return 0;
}这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: C 在线编译器