第03天C语言(11):逻辑运算符

#pragma mark 逻辑运算符

/**
*  && (与运算)
*  || (或运算)
*  !(非运算)

   逻辑运算符的返回值只有两种: 要么真要么假,要么是1(真),要么是0(假)
*/
#include <stdio.h>

int main()
{
   
   /**
    逻辑运算符的返回值只有两种: 要么真要么假,要么是1(真),要么是0(假)
    && (与运算)
    格式:表达式1 && 表达式2
    结合性:从左至右
    只有表达式1和表达式2都为真的时候,逻辑与表达式才返回真
    如果表达式1或者表达式2中又一个是假,那么逻辑与表达式 返回的结果都是假
    口诀:一假则假
    
   || (或运算)
    格式:表达式1 || 表达式2
    结合性:从左至右
    只要表达式1或者表达式2有一个是真的,逻辑或表达式返回的真就是真
    只有表达式1和表达式2的值都是假,逻辑或的值才是假
    口诀: 一真则真
    
      !(非运算)
    格式: !表达式
    结合性:从右至左
    如果表达式是真,就返回假
    如果表达式是假,就返回真
    取反
    */
   
   /*  或
   //              1 &&   0
   int result = 10 > 8 && 5 > 8;
   printf("result = %i\n",result);
   */
   
   /* 与
   //              1   ||  0
   int result = 10 > 8 || 5 > 18;
   printf("result = %i\n", result);
   */
   
   /* 非
   //
   int result = !(10 > 18); // !0
   printf("result = %i\n",result);
    */
   
   /*
   // 注意点:
   // 由于C语言规定,任何数值都有真假性,非0即真,所有逻辑运算符 可以直接与数值进行计算
//    int result = 10 && 11;
//    int result = 0 || 0;
   // 逻辑非结合型:从右至左
   int result = !!!!!!!1;  //0
   printf("result = %i\n",result);
    */
   
   /*
   // 由于逻辑与有一个特点:一假则假,如果前面的表达式的值为假,那么后面的表达式没有必要参与运算
//    int result = 10 > 18 && 9 >5;
   int a = 10;
   //              0    &&
   int result = 10 > 18 && ++a >5;
   printf("result = %i a = %i\n",result,a);
    */
   
   /*
   // 由于逻辑或有一个特点:一真则真
   // 逻辑和逻辑或的这个特点,陈之为逻辑运算符的短路?
   int a = 10;
   int result = 10 > 18 || ++a >5;
   printf("result = %i a = %i\n",result,a);
    */
   
   
   // 使用注意点 判断 a的值是否在(3,5)范围内
   // 是否在 3< a < 5 之间      // 错误写法
   // (a>3) && (a<5)           // 正确写法
   return 0;
}

转载于:https://my.oschina.net/u/3561184/blog/1034512

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值