深入讲解各种操作符——关系、条件、逻辑

1.关系操作符

C语言当中用于比较的表达式,比较就代表了两个事物之间的关系,所以这种用于比较的表达式,被称为“关系表达式”

常见的关系运算符有以下六个

>(大于)

<(小于)

>=(大于等于)

<=(小于等于)

==(等于)

!=(不等于)

一个关系表达式的返回值是0或1,表示真假,跟C语言通常标准一样,0表示假,非零表示真,在这里0表示假,1(非零)表示真

这种返回值可以用到后续讲解的if()while()循环结构里面进行判定,从而结束无休止的循环下去

接下来详细介绍一下

1.1 =(赋值操作符)和==(等号)的具体区别

大家可以发现,仅仅只是缺少一个=,代码执行的结果却是截然不同

这是因为单独的一个=代表赋值操作符,在if()的括号里面写了a=3,相当于给a赋值了3,那么当然会满足if语句的执行条件,从而去执行if语句中的代码,而当括号里面是a==3时,才真正代表是必须a的值就是3才会执行if语句的条件,不然就执行else语句

1.2 多个关系操作符不宜连用

这里要严格说明,在C语言的语法之中,和我们学的数学知识是有一定区别的,比如我们想要一个表达式,代表b的值在a和c之间,如果写成a<b<c,并不能达到我们预期的效果

很明显,并不满足a<b<c,但我们结果依旧显示的是hello,这是为什么呢?

这是因为关系操作符都是从左向右依次执行的

实际上执行的是(a<b)<c

因为先判定a<b,如果成立关系表达式就是1,不成立就是0, (a<b)<3,所以导致if语句顺利执行

那我们要如何才能使得我们的目的正确的实现呢???

此时就需要用到&&操作符了

此时就成功达到了我们的目的,由于不满足a<b<c,所以最终执行了else语句里面的内容

2. 条件操作符

条件操作符也叫作三目操作符

三目操作符顾名思义也就是说需要有三个操作数,也就是下面的exp1,exp2,exp3

exp1?exp2:exp3

其中用来连接第一个操作数和第二个操作数,用来连接第二个操作数和第三个操作数

这是固定的语法规则,记住即可

条件操作符的计算逻辑为:如果exp1为真,那么exp2计算,计算出来的结果就是整个表达式的结果

如果exp1为假,那么exp3计算

相信上面的大家肯定根本理解不了(天才除外哈)

那接下来就来实际操作演示一下

实际上将上面所说的三个操作数的关系,用if和else语句来解释就清晰明朗多了,很明显可以看出,a>10的时候,便执行b=3的运算结果,当a>10出错的时候,那便执行else语句的结果,也就是条件操作符中的第三个操作数

看到这里,大家就可以感觉到通过使用条件操作符(三目操作符),实际上便可以对if,else语句进行简化

3 逻辑操作符

逻辑运算符主要有以下三个运算符

!:逻辑取反运算符(改变单个表达式的真假)

&&:并且

||:或者

比如在if()等等语句中,括号里面的内容需要有一个返回值,此时如果我们加上!逻辑取反运算符,我们就可以改变这个表达式的真假,比如原本是需要a==3的时候才成立,一旦加上!,那么只要a不等于3,这个if语句便都可以执行下去

&&和||当作并且和或者就可以理解了,并且代表两边都需要为真,而或者只需要两边只有一个为真即可

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值