zoukankan      html  css  js  c++  java
  • c语言学习之基础知识点介绍(五):关系运算式和逻辑运算式

    本节主要说关系运算式和逻辑运算式。 

    一、关系运算式

    1、等于(==):判断左边的表达式是否等于右边的表达式

    2、大于(>):判断左边的表达式是否大于右边的表达式

    3、大于等于(>=):判断左边的表达式是否大于等于右边的表达式

    4、小于(<):判断左边的表达式是否小于右边的表达式

    5、小于等于(<=):判断左边的表达式是否小于等于右边的表达式

    6、不等于(!=):判断左边的表达式是否不等于右边的表达式

     

    //注意:c语言中,关系运算所得结果只有0和1,0代表false(假),1代表true(真)。
    int num1 = 4;
    int num2 = 7;
    int result = 0;//默认为0
    
    //等于(==):
    result = num1 == num2;
    printf("result = %d 
    ",result);//输出0
    
    //大于(>):
    result = num1 > num2;
    printf("result = %d 
    ",result);//输出0
    
    //大于等于(>=):
    result = num1 >= num2;
    printf("result = %d 
    ",result);//输出0
    
    //小于(<):
    result = num1  < num2;
    printf("result = %d 
    ",result);//输出1
    
    //小于等于(<=):
    result = num1 <= num2;
    printf("result = %d 
    ",result);//输出1
    
    /不等于(!=):
    result = num1 != num2;
    printf("result = %d 
    ",result);//输出1

     

     

    二、逻辑运算符

    //逻辑运算式的结果也只有0和1,0代表false(假),1代表true(真)
    //注意:c语言中任何非0数字都为真。
    int num1= 6;
    int num2= 7;
    int result = 0;
    //1、&&:逻辑与,
    result = num1>num2&&num1<num2;
    printf("result = %d 
    ",result);
    //输出0,因为有一个是0,所以整个表达式的结果就是0。一假则假
    
    //2、||:逻辑或,
    result = num1>num2 || num1<num2;
    printf("result = %d 
    ",result);
    //输出1,因为有一个是1,所以整个表达式的结果就是1。一真就真
    
    //3、!:逻辑非,
    result = !(num1>num2);
    printf("result = %d 
    ",result);
    //输出1,因为是取反,真变假,假变真。
    
    //断路的问题
    result = ++num1 || num2++;
    printf("num1= %d num2 = %d result= %d",num1,num2,result);
    //输出 7,7,1,因为任何非0 的数字都是真,所以当程序执行到++num1的时候就为真,后面的num2++不会执行。
    
    int num 1= -1;int num2 =20;
    result = num1++ || num2++;
    printf("num1= %d num2 = %d result= %d",num1,num2,result);
    //输出 0,20,1,后缀++会先用原先的值进行判断,-1为真,所以就是真,后面的值不会执行。如果是前缀++结果就是0,21,1
    
    //逻辑与(&&)的运算可以自己去试试,但是得注意的是,如果&&前面的表达式为假,后面的就不会执行。只有当前面的为真,才会执行后面的表达式。
    
    //总结:因为&&是一假则假,所以右边的表达式不会执行,||是一真则真,所有右边的表达式不会执行。
    
    //逻辑运算符的优先级
    //逻辑运算符<关系运算符<算术运算符

     三、sizeof运算符

    注意:sizeof并不是函数 只是运算符(计算出的结果是unsigned long 类型的数值)。

    作用:计算出类型所占用的字节数。

    //sizeof运算符
    int result = sizeof(int);//发生了隐式转换
    printf("result = %d",result);//输出4
    printf("result = %lu",sizeof(int));//输出4
    
    //自动的类型转换:只有基本数据类型才有,整型、实型、字符型。
    
    //如果传入的是char类型的常量,计算结果也是4字节,传入char类型的变量或者char类型,那么计算结果是1。因为char类型的常量在内存中是当做int类型来存的。

     

    至此运算符还有最后一个换位运算符没有介绍,后续有空会补上,有兴趣的也可以自己去学下。

     

  • 相关阅读:
    SpringBlade 端口占用 Web server failed to start. Port 80 was already in use.
    SpringBlade 找不到或无法加载主类 springboot.Application
    Java idea 常用快捷键
    Java Velocity
    个人 一些需求
    Java MyBatis-Plus 基本使用
    Java Spring Initializr 创建的项目 包是一层一层的,需要隐藏一下空包
    MapReduce之自定义OutputFormat
    数据链路层之PPP协议
    MapReduce之GroupingComparator分组(辅助排序、二次排序)
  • 原文地址:https://www.cnblogs.com/bobo-pcb/p/4902291.html
Copyright © 2011-2022 走看看