逻辑操作符

本文详细介绍了C语言中的逻辑运算符,包括逻辑取反(!),与(&&)和或(||)的使用方法,以及短路求值的特点。通过实例展示了如何利用这些运算符进行条件判断和优化代码效率。
摘要由CSDN通过智能技术生成

逻辑操作符:&& , || , !

逻辑运算符提供逻辑判断功能,⽤于构建更复杂的表达式,主要有下⾯三个运算符。

  •  ! :逻辑取反运算符(改变单个表达式的真假)。
  • && :与运算符,就是并且的意思(两侧的表达式都为真,则为真,否则为假)。
  •  || :或运算符,就是或者的意思(两侧⾄少有⼀个表达式为真,则为真,否则为假)。

注:C语⾔中,⾮0表⽰真,0表⽰假

逻辑取反运算符 !

⽐如,我们有⼀个变量叫 a ,如果a为假,要打印hello,就可以这样写代码:

#include<stdio.h>
int main()
{
int a=0;
if (!a)
  {
   printf("hello");
  }
return 0;
}

与运算符&&

&& 就是与运算符,也是并且的意思, && 是⼀个双⽬操作符,使⽤的⽅式是 a&&b , && 两边的表达 式都是真的时候,整个表达式才为真,只要有⼀个是假,则整个表达式为假。

int age =0;
scanf("%d",&age);
if(age>=18 && age<=45)
printf("青年");

这里的age同时满足>=18和<=45.

或运算符||

|| 就是或运算符,也就是或者的意思, || 也是⼀个双⽬操作符,使⽤的⽅式是 a || b , || 两边的表达式只要有⼀个是真,整个表达式就是真,两边的表达式都为假的时候,才为假。

int mouth =0;
scanf("%d",&mouth);
if(mouth=12||mouth=1||mout=2)
printf("冬季");

短路

C语⾔逻辑运算符还有⼀个特点,它总是先对左侧的表达式求值,再对右边的表达式求值,这个顺序是 保证的。 如果左边的表达式满⾜逻辑运算符的条件,就不再对右边的表达式求值。这种情况称为“短路”。

if(a>=5&&a<=10);

如果a=0对于a>=不符合,就为假,就不判断a<=10,整个结果为0.

对于 || 操作符是怎么样呢?

我们结合前⾯的代码:

if(month == 12 || month==1 || month == 2)

则不⽤再判断month是否等于1或者2,整个表达式的结果也是1(是冬季)。 所以, || 操作符的左操作数的结果不为0时,就⽆需执⾏右操作数。

像这种仅仅根据左操作数的结果就能知道整个表达式的结果,不再对右操作数进⾏计算的运算称为短 路求值。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值