逻辑运算符
结果就是: 真(1,正确),假(0,错误)
1. 或。||
格式: 表达式1 || 表达式2
规则 : 有一个为真,结果就是真;全假就是假的
示例如下:
#include<stdio.h>
int main(){
printf("%d\n", 1 > 0);
printf("%d\n", 1 < 0);
printf("%d\n", 1 < 0 || 1 > 0);
printf("%d\n", 3 > 2 || 1 > 0);
printf("%d\n", 3 < 2 || 1 > 3);
}
运行结果如下:
真:非零即真(只要不是0都为真)
示例如下:
#include<stdio.h>
int main(){
printf("%d\n", 1 || 2);
printf("%d\n", 1 || 1 > 3);
printf("%d\n", 0 || 1 > 3);
printf("%d\n", 1.2 || 5.6);
}
运行结果如下:
2. 与。&&
格式: 表达式1 && 表达式2
规则 : 全真则真,一假则假。
示例:
#include<stdio.h>
int main(){
printf("%d\n", 1 < 0 && 1 > 0);
printf("%d\n", 3 > 2 && 1 > 0);
printf("%d\n", 3 < 2 && 1 > 3);
}
运行结果如下:
短路
&&:如果左边为假,则右边不求值
#include<stdio.h>
int main(){
int i = 0;
2 > 3 && (i = 1);
printf("%d\n", i);
}
3. 非。 !
取反(真变假,假变真即为取反)
#include<stdio.h>
int main(){
printf("%d\n", !(1 > 0));
printf("%d\n", !0);
printf("%d\n", !2);
printf("%d\n", !0.01);
printf("%d\n", !!2);
}