C语言-关系运算符和逻辑运算符

1. 关系运算符

在 C 语言中,使用关系运算符来比较两个数的大小关系。

 



关系运算符都是双目运算符,其结合性均为左到右。另外,关系运算符的优先级低于算术运算符,高于赋值运算符。


2. 关系表达式

用关系运算符将两边的变量、数据或表达式连接起来,称之为关系表达式:
 

  • 1 < 2
  • a > b
  • a <= 1 + b
  • 'a' + 'b' <= 'c'
  • (a = 3) > (b = 5)


关系表达式得到的值是一个逻辑值,即判断结果为“真”或“假”,如果结果为“真”,关系表达式的值为 1,如果为“假”,关系表达式的值则为 0。


3. 逻辑运算符

C 语言总共提供了三种逻辑运算符:

 




4. 逻辑表达式

用逻辑运算符将两边的变量、数据或表达式连接起来,称之为逻辑表达式:
 

  • 3 > 1 && 1 < 2
  • 3 + 1 || 2 == 0
  • !(a + b)
  • !0 + 1 < 1 || !(3 + 4)
  • 'a' - 'b' && 'c'


注:关系表达式和逻辑表达式得到的值都是一个逻辑值,也就是表示真的 1 和表示假的 0。但是用于判断一个值是否为真时,以 0 表示假,以任何非 0 的数表示真。一个是编译系统告诉我们的结果,一个是我们让编译系统去判断的,两者方向不同。


5. 短路求值

短路求值又称最小化求值,是一种逻辑运算符的求值策略。只有当第一个运算数的值无法确定逻辑运算的结果时,才对第二个运算数进行求值。

C 语言对于逻辑与和逻辑或采用短路求值的方式。


 

  1. #include <stdio.h>
    
    int main()
    {
            int a = 3, b = 3;
    
            (a = 0) && (b = 5);
            printf("a = %d, b = %d\n", a, b);
    
            (a = 1) || (b = 5);
            printf("a = %d, b = %d\n", a, b);
    
            return 0;
    }

复制代码

  • 23
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值