| 1、逻辑与:  条件1 && 条件2             逻辑与运算中,判断口诀(同真为真,一假皆假) 2、逻辑或:  条件1||条件2             逻辑或运算中,判断口诀(同假为假,一真皆真) 3、逻辑非:  !条件             逻辑非运算中,(变真为假,变假为真) 就从代码中解释吧 #include <stdio.h> int main() {     //*****************逻辑与(&&)********************    /* int a = 10>3 && 2>7;      printf ("%d\n",a );//a的值为1 
      int b = 0 && 10;//会报警告      printf("%d\n",b );*/     /*--      int a = 10;      int b = 10;      int c= a<5 && ++b>=11;      printf("a=%d,b=%d,c=%d\n",a,b,c );//输出结果:a=10,b=10,c=0,因为判断a<5不成立即语句不进行逻辑与&&右边的语句,即++b不执行,b=10,c=0;      */     /*-----      int a =10 ;      int b =10;      int c =a>5 && ++b>=11;      printf("a=%d,b=%d,c=%d\n",a,b,c );//输出结果:a=10,b=11,c=1,因为判断a>5成立,即再判断++b>=11也成立,即b=11,c=1      */ 
     //********************逻辑或(||)********************     /*int a=10;      int b=11;      int c=a<5||b++ - 10;      printf("a=%d,b=%d,c=%d\n",a,b,c);//输出结果:a=10,b=12,c=1,逻辑或刚好和逻辑与相反,逻辑或||左边如果不成立就要判断右边语句,如果右边也不成立即整个语句不成立,只要有一条语句成立就成立,判断a<5不成立,在判断b++ -10条件成立,则输出c=1,b进行自加得b=12;      */ 
     /*int a=10;      int b=11;      int c=a>5||b++ - 10;      printf("a=%d,b=%d,c=%d\n",a,b,c);//输出结果:a=10,b=11,c=1,因为判断a>5成立,即逻辑或运算不需要在进行判断b++ -10,则输出c=1,b++没执行,则b=11;      */     //**********************逻辑非 !条件*******************     //int a=!(10>8);     //int a=!0;     int a=!!10;//非非为真     printf("%d\n",a );     return 0; 
 } 代码分别运行的结果如下图所示, 
 |