一 语法介绍
-
逻辑与
符号:&&
语法:运算符两侧表达式都为真值时,结果才为真.有假就假 -
逻辑或
符号:||
语法:运算符两侧表达式只要有一个为真,结果就位真.有真就真 -
逻辑非
符号:!
语法:对一个表达式的逻辑值取反.
运算优先级:逻辑非>逻辑与>逻辑或
二 演示
- 代码
#include <stdio.h>
int main()
{
int num1=11;
int num2=12;
int num3=13;
//测试逻辑与运算
printf("有假就假测试结果:");
printf("%d\n",(num1<num2)&&(num1>num2)); //"有假就假"
printf("两真才真测试结果:");
printf("%d\n",(num1<num2)&&(num1<num3)); //"两真才真"
//测试逻辑或运算
printf("有真就真测试结果:");
printf("%d\n",(num1<num2)||(num1>num2)); //"有真就真"
printf("两真也真测试结果:");
printf("%d\n",(num1<num2)||(num1<num3)); //"两真也真"
//测试逻辑非运算
printf("真变假测试结果:");
printf("%d\n",!(num1<num2)); //"真变假"
printf("假变真测试结果:");
printf("%d\n",!(num1>num2)); //"假变真"
//混合测试以及验证优先级顺序
printf("混合测试结果:");
printf("%d\n",(num1<num2)||(num1>num3)&&(num2<num3)||!(num1<10));
/*对上一行代码的解释:
先计算各括号内的表达式,得:
1||0&&1||!1 然后计算"!1",得:
1||0&&1||0 接着计算"0&&1",得:
1||0||0 最后得:
1
*/
return 0;
}
- 结果