C语言逻辑运算符教程
在
C语言逻辑运算符语法
运算符
说明
范例
&&
逻辑与
A && B
||
逻辑或
A || B
!
逻辑非
!A
逻辑与,如果 A 和 B 的值都为真,那么结果为真,否则结果为假。如果 A 的值为假,那么不会计算 B 的值,这叫做短路。
逻辑或,只要 A 和 B 的值一个为真,那么结果为真,否则结果为假。如果 A 的值为真,那么不会计算 B 的值,这叫做短路。
逻辑非,如果原来 A 的值为真,那么结果为假。如果原来 A 的值为假,那么结果为真。
案例
逻辑与运算
使用 && 运算符,实现逻辑与判断
#include
int main(int argc, char **argv){
printf("嗨客网(www.haicoder.net)\n");
//使用 && 运算符,实现逻辑与判断
int age = 40;
int b = age > 30 && age < 50;
int c = age > 40 && age < 50;
printf("b = %d, c = %d\n", b, c);
}
程序运行后,控制台输出如下:
首先,我们定义了一个
我们再次使用逻辑与运算符 &&,判断变量 age 的值是否大于 40 并且小于 50,并将比较结果赋值给 c。
逻辑或运算
使用 || 运算符,实现逻辑或判断
#include
int main(int argc, char **argv){
printf("嗨客网(www.haicoder.net)\n");
//使用 || 运算符,实现逻辑或判断
int age = 40;
int b = age > 30 || age < 50;
int c = age > 40 || age < 30;
printf("b = %d, c = %d\n", b, c);
}
程序运行后,控制台输出如下:
首先,我们定义了一个变量 age 并赋值为 40。 接着,我们使用逻辑或运算符 ||,判断变量 age 的值是否大于 30 或者小于 50,并将比较结果赋值给 b。
我们再次使用逻辑或运算符 ||,判断变量 age 的值是否大于 40 或者小于 30,并将比较结果赋值给 c。
逻辑非运算
使用 ! 运算符,实现逻辑非判断
#include
int main(int argc, char **argv){
printf("嗨客网(www.haicoder.net)\n");
//使用 ! 运算符,实现逻辑非判断
int a = 1;
int b = -1;
int c = 0;
int d = 100;
int e = !a, f = !b, g = !c, h = !d;
printf("e = %d, f = %d, g = %d, h = %d\n", e, f, g, h);
}
程序运行后,控制台输出如下:
我们可以看到,在 C 语言中,只有与 0 的非运算的结果为 1,其他任何值的非运算的结果都是 0,因此,在 C 语言中,除了 0 都是真。
C语言逻辑运算符总结
逻辑与,如果 A 和 B 的值都为真,那么结果为真,否则结果为假。如果 A 的值为假,那么不会计算 B 的值,这叫做短路。
逻辑或,只要 A 和 B 的值一个为真,那么结果为真,否则结果为假。如果 A 的值为真,那么不会计算 B 的值,这叫做短路。
逻辑非,如果原来 A 的值为真,那么结果为假。如果原来 A 的值为假,那么结果为真。