zoukankan      html  css  js  c++  java
  • 逻辑运算符与逻辑表达式

     1 #include <stdio.h>
     2 
     3 int main()
     4 {
     5     int a=0;int b=0;
     6     if(a&&b)//a&&ba的逻辑值为0,则执行else
     7     {
     8         printf("a&&b is true
    ");
     9     }
    10     else
    11     {
    12         printf("a&&b is false
    ");
    13     }
    14 
    15     if(a||b)//逻辑值为0
    16     {
    17         printf("a||b is true
    ");
    18     }
    19     else
    20     {
    21         printf("a||b is false
    ");
    22     }
    23 
    24     if(!a)//逻辑值为1
    25     {
    26         printf("!a is true
    ");
    27     }
    28     else
    29     {
    30         printf("!a is false
    ");
    31     }
    32 
    33     if((a<5)||(b=3))//注意短路现象,a<5,即0<5执行完毕之后得逻辑值1,则直接打印。b=3不进行操作
    34     {
    35         printf("a=%d b=%d
    ",a,b);//打印结果为a=0 b=0
    36     }
    37     if((a>5)||(b=3))//a>5,即0>5,得逻辑值0;继续进行b=3的操作,将3赋值给b
    38     {
    39         printf("a=%d b=%d
    ",a,b);//打印结果为a=0 b=3
    40     }
    41 
    42     return 0;
    43 }

    打印结果:

    注:

    逻辑运算,存在短路现象。

    &&当两个运算量都是真时,其结果为真。因此,当左边已是0,右边的表达式不再求解。

    | |当两个运算量有一个为真时,其结果为真。因此,当左边已是1时,右边的表达式不再求解。

    短路现象是一直效率的需求。

  • 相关阅读:
    Zepto跨域请求
    C语言中浮点数的比较
    IOS开源项目Telegram初试
    Java NIO初试
    ios8.0之后注册通知中心
    spring AOP的配置
    IOS学习日记-2014年10月25日
    struct框架中实体类中属性的类型错误问题
    Oracle存储过程使用DML语句问题
    跳出类似framset 嵌入式框架
  • 原文地址:https://www.cnblogs.com/onemusk/p/9482009.html
Copyright © 2011-2022 走看看