逻辑运算符

C语言中有三种逻辑运算符,“或”,“与”,“非”,对应C语言中的符号为“||”,“&&”,“  !”,而相比大家熟悉 if 语句和 while 语句的使用,这两种语句通常用关系表达式作为测试条件,有时会把多个关系表达式组合起来使用,这时候就需要用到逻辑运算符。典例如下

#include <stdio.h>
 
int main()
{
   int a = 5;
   int b = 20;
   int c ;                 //非0就是真
 
   if ( a && b )         
   {
      printf("Line 1 - 条件为真\n" );
   }
   if ( a || b )
   {
      printf("Line 2 - 条件为真\n" );
   }
   /* 改变 a 和 b 的值 */
   a = 0;                //有0则假
   b = 10;
   if ( a && b )
   {
      printf("Line 3 - 条件为真\n" );
   }
   else
   {
      printf("Line 3 - 条件为假\n" );
   }
   if ( !(a && b) )
   {
      printf("Line 4 - 条件为真\n" );
   }
}

运行结果如下:

Line 1 - 条件为真
Line 2 - 条件为真
Line 3 - 条件为假
Line 4 - 条件为真
 

下表为C语言支持的三种逻辑运算符,假设A为0,B为1,则结果如下:

也就是说,逻辑运算符&&,是要两个子表达式都为真,总表达式才为真,|| 运算符是两个都为假,才是假,而!运算符是取反,真变假,假变真。

 再举一些例子,方便大家理解:

5 > 2 && 4 > 7为假,因为只有一个子表达式为真。

5 > 2 || 4 > 7为真,因为有一个子表达式为真。

!(4 > 7)为真,因为4 > 7为假,取反为真。

优先级:

!运算符的优先级很高,比乘法运算符还高,与递增运算符的优先级相同,只比圆括号的优先级低。&&运算符的优先级比 || 运算符高,但是两者的优先级都比关系运算符低,比赋值运算符高。因此,表达式 a > b && b > c || b > d相当于((a > b) && (b  > c))|| (b > d)。推荐使用后者这种方式编写,因为便于理解

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿杰不会编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值