zoukankan      html  css  js  c++  java
  • C语言之逻辑运算符

    一 逻辑运算符:

     &&:逻辑与,读作并且

     表达式左右两边都为真,那么结果才为真

           口诀:一假则假

      

     ||:逻辑或,读作或者

      表达式左右两边,有一个为真,那么结果就为真

      口诀:一真则真

     

    !: 逻辑非,读作取反

          表达式的结果如果为假,就变成真,如果为真,就变成假

    口诀:真变假,假变真

    二 逻辑运算符的短路问题

                  tips:非0为真,0为假

     短路的情况:

     &&:左边如果为假,则右边短路(右边不会被执行)

     ||:左边如果为真,则右边短路(右边不会执行)

    tips:代码例子如下

    #include <stdio.h>

     

    int main(int argc, const char * argv[]) {

       

       

        //    int res = 1 && 2;

        //    printf("res=%d ",res);

       

        //    int res = 1 && -2;

        //    printf("res=%d ",res);//1

        //    int res = 1 && 0;

        //    printf("res=%d ",res);//0

       

       

        //    int num1=10,num2=20;

        //或者的口诀:一真则真,所以如果左边为真,那么右边表达式不会被执行了

        //    int res = num1++ || num2++;

        //    printf("res=%d  num1=%d  num2=%d ",res,num1,num2);//1  11  20

       

       

        //    int num1=0,num2=10;

        //    //并且的口诀:一假则假

        //    int res = num1++ && num2++;

        //    printf("res=%d  num1=%d  num2=%d ",res,num1,num2); //0  1  10

        //    int num1=0,num2=10;

        //    int sum = num1++ + num2; //10

       

       

        //    int num = 10;

        //    int res = 0 && num++;

        //    printf("res=%d  num=%d ",res,num); //0  10

       

       

        //    int num1=0,num2=10;

        //    //并且的口诀:一假则假

        //    int res = num1 && num2++;

    //    printf("res=%d  num1=%d  num2=%d ",res,num1,num2); //1  1  11

     

        //    int num1=-3,num2=3,num3=4;

        //    int res = (num1 + num2) && (num1 - num3);

         //    printf("res=%d ",res);//0

       

       

        //    int num1=-3,num2=3,num3=4;

        //    int res = (num1 + num2) && num3++;

         //    printf("res=%d   num3=%d ",res,num3);//0  4

       

        int num1=-3,num2=3,num3=4;

        int res = num1++ + num2++ && num3++;

        printf("res=%d   num1=%d   num2=%d   num3=%d ",res,num1,num2,num3);//0  -2  4  4

     

        return 0;

    }

    不忘初心,方得始终
  • 相关阅读:
    java利用Scanner获取键盘输入
    实验四:数据类型与运算符 4、运算符及表达式实训
    实验三:数据类型与运算符 4、运算符及表达式实训
    Java运算符优先级
    laravel jobs 进程
    安装laravel horizon进程管理
    layui导出表格
    layui无限级分类
    Linux中基本命令
    gogs git 部署服务端钩子 自动发布项目
  • 原文地址:https://www.cnblogs.com/jialiangliang/p/5990573.html
Copyright © 2011-2022 走看看