C语言中几个数互不相等_C语言中的关系运算符与逻辑运算符

关系运算符与逻辑运算符

  在算数运算符那一节当中,我们学习了以下几种运算符以及它们的优先级:

  1. 赋值运算符=

  2. 加法运算符+

  3. 减法运算符-

  4. 符号运算符+、-

  6. 乘法运算符*

  7. 除法运算符/

  8. 求余运算符%

  9. 自增、自减运算符++,--

  并且还了解了它们的优先级。

bff8eda37fdf079fe1dc6ff706690907.png

  使用括号可以先算括号里面的运算符,和数学中一样。类似于:

sum 

  上式未使用括号,*优先级高于+,b先乘以c,结果再加a。

  下式使用了括号,先算a+b,结果再乘以c。

  本节中,我们来继续熟悉更多的运算符吧。

1. 关系运算符

1.1 大于>、小于<

935dad6cbbd5d55bf82e611b5ae11eb6.png

  1 > 2,结果为假。在C语言中,用0表示假

  1 < 2,结果为真。在C语言中,用1表示真

cc853e4f7ed5e4bf161deb3e834bca22.png

  大于、小于表现在数轴上,如上图所示。注意,N为空心。也就是不能取N。

  我们知道1 > 1,肯定结果为假的嘛。那如果我们想要可以取到N呢。那可以使用运算符,大于等于,或小于等于。

1.3 大于等于>=、小于等于<=

f6575ba92b3e16c8840732aee85961a2.png

f9753ec06fc791f681c4136c595ba83c.png

0702287f2d807749a4929e25713da6bc.png

2. 等于==、不等于!=

  等于运算符以及不等于运算符,就单纯的判断运算符两边的值是否相等或不相等。

894646b242b7b0b42b76f83aa5010f18.png

  特别注意这里的等于运算符==与不等于运算符!=,与数学里面的不同。由于=号以及被作为赋值了。所以相等在C语言里面用两个=来表示。

3. 逻辑运算符

  我们来看看在C语言里面,怎样表达数轴上的这两个条件。

5d9e757e8088d1f67bc454986e09d2ba.png

  我们在上面了解了大于等于和小于等于的用法,但是目前好像没法表示上面这两个数轴的区间。

  第一个数轴区间:x <= 2 或 x >= 10

  由于数值只要满足任意一个要求,就满足要求,所以这里我们用

  第二个数轴区间:x >= 2 且 x <= 10

  由于数值要满足两个条件,才满足要求,所以这里我们用

  所以,这里必须引入新的运算符,来表达这种情况。

3.1 逻辑或||、逻辑与&&

逻辑或运算符写法为 ||, 两条竖线。

逻辑与运算符写法为 &&。

  第一个数轴区间:(x <= 2) || (x >= 10)

  第二个数轴区间:(x >= 2) && (x <= 10)

  我们在上面加了(),确保两边完成之后,再进行与运算、或运算。然而,事实上,这里不加括号也是可以的。因为||和&&的运算符优先级比关系运算符>=、<=低。所以,按照优先级也会是先算两边,进行与、或。

  但是,为了着重一般会加上括号。在写条件时,不要吝啬括号,这样可以最大程度的保证程序按照你的想法执行。

  举个反例:

4ffe4d388f451d5a642a05d4f8f7ba32.png

  假如我们用了一个运算符,放在中间。我们预想的效果是,先两边,两边的结果再进行中间的?运算。?的优先级如果低于<=和>=那么一切将照常运行。问题是,如果?的优先级高于两边呢?那么2 ? x会先进行运算。这样程序运行的结果就会超出你的预料了。

3.2 逻辑非!

  使用逻辑非运算符,我们可以对当前的结果,取它的反向。

  例如,2 != 3,为真,但是如果加上逻辑非之后呢。

57182c133aa263608566426b97988ac7.png

  它的结果就是假了。

  那我们再看看上面的区间,如果被逻辑非之后呢?

396aa77d3a9a1f173e56dad86c318463.png

4. 运算符优先级

7af02ec7d7d50843014f1c371afd83c5.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值