• 逻辑运算符学习笔记


    逻辑运算符

    c语言中的逻辑运算符有&&(逻辑与)、||(逻辑非)、!(逻辑或)。其运算规则如下表

    运算符描述实例
    && 如果两个操作数都为真,则条件为真,否则为假。 (A && B) 为假。
    || 如果两个操作数中有任意一个为真,则条件为真,否则为假。 (A || B) 为真。
    ! 用来逆转操作数的逻辑状态。如果条件为真则逻辑非运算符将使其为假。 !(A && B) 为真。

    实例

    
    
    #include<iostream>

    using namespace std;

    int main(){
        int a = 1;
        int b = 2;
        int c; 
        if(a && b){
            printf("a&&b为真 ");
        }else{
            printf("a&&b为假 ");
        }
        if(a || b){
            printf("a||b为真 ");
        }else{
            printf("a||b为假 ");
        }
        if(!(a && b)){
            printf("a&&b为真 ");
        }else{
            printf("a&&b为假 ");
        }
        return 0;
    }

    运行结果如下:

    另外值得一提的是逻辑运算符的短路特性,短路特性是指如果能够同过某一个条件得知整个表达式的真假情况,将不再进行下一步的运算,比如说a&&b,如果a为假,则整个式子为假,将不再对b进行判断。

    实例:

    #include<stdio.h>
    
    int main(){
        printf("%d
    ",3/0);
        return 0;
    }
    

      运行上面代码,编译器会报错:

    "message": "division by zero [-Wdiv-by-zero]"

    意思是0不能被用来当除数

    而运行下面代码:

     1 #include<stdio.h>
     2 
     3 int main(){
     4     int a = 0;
     5     int b = 2;
     6     if(a && (b/0)){
     7         printf("yes
    ");
     8     }else{
     9         printf("no
    ");
    10     }
    11     return 0;
    12 }

    得到的结果为:

     通过了编译,证明了逻辑运算符的短路特性。当然逻辑或同理。

    以上就是我对逻辑运算符的一些认识,如果错误之处,敬请指正。

  • 相关阅读:
    ComboBox
    EntityFramework之领域驱动设计实践(九)(转)
    EntityFramework之领域驱动设计实践(八)(转)
    Rectangle Button
    Silverlight 4中拖拽效果实现附源码下载
    Silverlight RIA Services Class Library类库使用1.
    如何添加/删除一个RIA Service Link
    Silverlight开发技巧总结实时更新
    Silverlight 4中把DataGrid数据导出Excel—附源码下载
    Silverlight4不同控件间拖拽实现附源码下载
  • 原文地址:https://www.cnblogs.com/ma-liner/p/11519300.html
Copyright © 2020-2023  润新知