逻辑运算符有三种,“&&”(逻辑与)、“||”(逻辑或)和“!”(逻辑非)
(一)逻辑与&&
“&&”相当于生活中说的“并且”,就是两个条件都同时成立的情况下“&&”的运算结果才为“真”。只要有一个条件不成立,则结果为“假”。
1 && 1 = 1
1 && 0 = 0
0 && 1 = 0
0 && 0 = 0
验证程序:
#include <stdio.h>
int main()
{
int x = 50;
if(x >= 0 && x <= 100)
{
printf("x is between 0~100\n\n");
}
int y = 200;
if(y >= 0 && y <= 100)
{
printf("y is between 0~100\n");
}
return 0;
}
运行结果:
x is between 0~100
(二)逻辑或||
“||”相当于生活中说的“或者”,只要有一个条件成立,“||”的运算结果就为“真”。两个条件都不成立结果才为“假”。
1 || 1 = 1
1 || 0 = 1
0 || 1 = 1
0 || 0 = 0
验证程序:
#include <stdio.h>
int main()
{
int x = 50;
if(x < 0 || x > 100)
{
printf("x is not between 0~100\n");
}
int y = 200;
if(y < 0 || y > 100)
{
printf("y is not between 0~100\n");
}
return 0;
}
运行结果:
y is not between 0~100
(三)逻辑非!
如果条件为真,加上“!”后判断为假;如果条件为假,加上”!”后判断为真。
!0 = 1
!1 = 0
注意,计算机非0即为真,比如x = 1或x = 3或x = 50或x=-27,这些情况下if(x)判断都为真。
验证程序:
#include <stdio.h>
int main()
{
int x = 50;
if(!x)
{
printf("x is zero\n");
}
int y = 0;
if(!y)
{
printf("y is zero\n");
}
return 0;
}
运行结果:
y is zero
分析:
if(判断语句)
{
printf(“xxx”);
}
只有“判断语句”为真的情况下,printf()语句才能被执行。
这里if(!x),只有!x为真,printf()语句才会被执行。
既然!x为真,则x为假。所以printf()一旦被执行,必然说明x的值就是0。
更多内容请关注微信公众号