[案例] 说明逻辑表达式的值关系。
main(){ int result=0; int num=0; printf("input a number:"); scanf("input a number:%d\n",&num); result=(num>=0)&&(num<10); printf("(num>=0)&&(num<10) is equal: %d\n",result); result=(num<1)||(num>5); printf("(num<1)||(num>5) is equal: %d\n",result); result=!(num==0); printf("!(num==0) is equal: %d\n",result); result=(num%4==0)&&(num%100!=0)||(num%400==0) ; printf("(num%4==0)&&(num%100!=0)||(num%400==0) is equal: %d",result);}1.逻辑运算符及其运算规则
(1)C语言提供三种逻辑运算符:
&& 逻辑与(相当于"同时")
|| 逻辑或(相当于"或者")
! 逻辑非(相当于"否定")
例如,下面的表达式都是逻辑表达式:
(2)运算规则
1)&&:当且仅当两个运算量的值都为"真"时,运算结果为"真",否则为"假"。
2) || :当且仅当两个运算量的值都为"假"时,运算结果为"假",否则为"真"。
3) ! :当运算量的值为"真"时,运算结果为"假";当运算量的值为"假"时,运算结果为"真"。
例如,假定x=5,则(x>=0) && (x<10)的值为"真",(x<-1) || (x>5)的值为"假"。
2.逻辑运算符的运算优先级
(1)逻辑非的优先级最高,逻辑与次之,逻辑或最低,即:
!(非) → &&(与) → ||(或)
记忆口诀:not(非) and(与) 香港vps or(或)
(2)与其它种类运算符的优先关系
!→ 算术运算 → 关系运算 → &&→ || → 赋值运算