关系操作符,条件操作符与逻辑操作符

一.关系操作符

1.在C语言中,我们把用于比较的一系列表达式统称为“ 关系表达式 ”。而在这其中,我们所使用的运算符自然就是我们的“ 关系运算符 ”。哎呀,其实都是大家从小玩到大的好朋友了,以下我们就介绍几个:

(1)>  :大于运算符

(2)<  :小于运算符

(3)>=  :大于等于运算符

(4)<=  :小于等于运算符

(5)==  :相等运算符

(6)!=  :不相等运算符

2.之前就多次提到过,在C语言中,0表示假,非0表示真,在关系表达式中也差不多,0表示假,1表示真

3.在C语言中,“ == ”才表示等于,我们一般用的等于符号:“ = ”在C语言中表示赋值的意思,在我之前的一篇文章:“ C语言中的操作符 ”中有详细讲到过,对此不熟悉的小伙伴可以去翻翻看。我们在写代码的时候一定要条理清晰,做到心中有数,知道什么时候该用相等运算符:== ,什么时候用赋值操作符:= 

4.多个关系运算符不宜连用,这就不像我们数学中的那样了,比如:a < b < c ,这样子虽然系统并不会报错,但是在代码运行的时候,往往并不会向我们预想的结果去发展,这是因为在C语言中,关系运算符是从左到右依次运算,所以对于这个式子,系统就会识别为:(a < b )<c ,上面提到过,关系表达式返回值是 0 或 1 ,所以这里按我们输入的就是 a 与 b 比较后真假的返回值 0 或1 与 c 作比较

这个时候就有小伙伴要真诚地提出疑问了,“我们想要比较三个甚至多个数据的关系怎么办呢?” ,Good question!这里就会运用上我们的逻辑操作符了,像这样:a < b && b < c (这里的&&表示的是并且的意思,诸君莫急,逻辑操作符马上就会讲到)

二.条件操作符

1.三目操作符

条件操作符又叫三目操作符,诸君莫要被这个三目吓到,其实这之中没那么多弯弯绕绕,很好理解,三目操作符就是需要三个操作数来执行的,其格式如:ex1 ? ex2 :ex3 ,这个条件操作符的意思就是,ex1为真为假?若为真,执行ex2,若为假,执行ex3 

下图是我们以往的写法:

当我们使用条件操作符来改进这串代码就是:

条件操作符就是这么简单,相信诸君轻松拿捏

三.逻辑操作符

逻辑操作符主要有三个:

1.&&   逻辑与运算符,言简意赅嘛,就是并且的意思,两侧的表达式都为真,则为真,否则为假(一假全假,全真才真

逻辑与运算符,意思是并且,它是双目操作符,顾名思义就是需要两个操作数完成执行的,其表达形式为:a && b , “ && ”两边都为真时,这整个表达式才为真,一个为假整个表达式就不成立

就像我上面的例子一样昂,高富帅三点,你少了一点你都不是高富帅,懂了吧(当然这里只是举例方便大家理解记忆哈,每个人都是自己人生篇章的主角,希望大家都能活的出彩!)

2. | |    逻辑或运算符,就是或者的意思,两侧至少有一个表达式为真,才为真,否则就为假    (一真为真,全假才假

逻辑或运算符,意思就是或者,也是一个双目操作符,表达形式为:a | | b ,一个为真表达式就成立,只有全假的时候才假

例如我们在买一个零食的时候,要么它便宜,要么它好吃,但凡占一样,我们就拿下,两样都占那我们就更不说了是吧,如果它又贵又难吃,那我们还买啥啊,你图个啥

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

逻辑取反操作符,意思就是在我们的数据其那面加上一个感叹号:!,表示真假相反的返回值,如:“ ex ”为真,“ !ex ”就为假,“ ex ”为假,“ !ex ”就为真

就比如,我们喜欢一个女孩是吧,但当出现了红色感叹号的时候,你就应该明白,再真的喜欢,那也是假的了,是吧,诸君潇洒一点嘛,要学会爱自己,懂吧

4.短路

在C语言中,逻辑运算符有一个特点:在运行时,它总是先对左侧的表达式求值,再对右边的表达式求值

有一种特殊的情况:当我们左边的表达式满足逻辑运算符的条件下,就不再对右边的表达式求值了,这种情况我们就称之为短路

(1)比如我们在逻辑与运算符中的短路是这样的:

当我们输入的年龄小于十八的时候,左边的“ age >= 18 ”的返回值已经为0了,就不必再执行&&后的表达式了,整个表达式的结果已经为0 了,就已经被系统判定为未成年了

(2)在逻辑或运算符中是这样的:

当我们年龄已经等于18时,第一个表达式判定为真,整个表达式就为真,就无需执行后续表达式了

四.练习题:判断年份是闰年还是平年

联合我们学过的 i f ... else 语句和逻辑运算符还有scanf函数等等,我们可以完成一道简单的判断闰年的题,如:

OKK,有关于关系操作符,条件操作符与逻辑操作符的相关知识今天就给大家讲解到这里,这部分的知识很简单,希望诸君都能够理解。如果大家发现,我总结的这些有什么问题或者有什么想要补充的,又或者大家对这部分有什么疑问,都非常欢迎跟我沟通交流。OK,无需多言,咱们下期再见,与诸君共勉!!!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值