C语言 逻辑运算符及其优先级

[案例] 说明逻辑表达式的值关系。

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语言提供三种逻辑运算符:
&& 逻辑与(相当于"同时")
|| 逻辑或(相当于"或者")
! 逻辑非(相当于"否定")
例如,下面的表达式都是逻辑表达式:

(x>=0) && (x<10) ,(x<1) || (x>5)  ,! (x= =0),     
(year%4==0)&&(year%100!=0)||(year%400==0) 

(2)运算规则
1)&&:当且仅当两个运算量的值都为"真"时,运算结果为"真",否则为"假"。
2) || :当且仅当两个运算量的值都为"假"时,运算结果为"假",否则为"真"。
3) ! :当运算量的值为"真"时,运算结果为"假";当运算量的值为"假"时,运算结果为"真"。
例如,假定x=5,则(x>=0) && (x<10)的值为"真",(x<-1) || (x>5)的值为"假"。
2.逻辑运算符的运算优先级
(1)逻辑非的优先级最高,逻辑与次之,逻辑或最低,即:
!(非) → &&(与) → ||(或)
记忆口诀:not(非) and(与) or(或)
(2)与其它种类运算符的优先关系
!→ 算术运算 → 关系运算 → &&→ || → 赋值运算

你可能感兴趣的:(#,C程序流程设计)