zoukankan      html  css  js  c++  java
  • 逻辑运算符学习笔记

    逻辑运算符

    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 }

    得到的结果为:

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

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

  • 相关阅读:
    Linux虚拟机的安装(使用Centos6.3)
    【转载】接口测试用例的设计原则
    Oracle PLSQL游标、游标变量的使用
    利用shell脚本将Oracle服务器中数据定时增量刷新到ftp服务器中
    源码安装rlwrap 0.43(为了方便使用linux下的sqlplus)
    Oracle自定义脱敏函数
    Oracle分析函数FIRST_VALUE、LAST_VALUE
    MYSQL性能测试工具SYSBENCH
    OEL7.6源码安装MYSQL5.7
    OEL7.6安装Oracle Database 19C(VERSION 19.3.0.0)
  • 原文地址:https://www.cnblogs.com/ma-liner/p/11519300.html
Copyright © 2011-2022 走看看