运算符的优先级

1 括号  ()[] 

2正负号   +、-

3自增自减,非   ++、--、!

4乘除,取余   *、/、%

5加减   +、-

6移位运算   <<、>>

7大小关系   <、>、<=、>=

8相等关系   ==、!=

9按位与   &

10按位异或   ^

11按位或   |

12逻辑与   &&

13逻辑或   ||

14条件运算   ? :

15赋值运算   =、+=、-=、*=、/=、%=

16位赋值运算   &=、|=、<<=、>>=、>>>=、,

这里面,从上到下,越来越弱,最上面的优先级最高,那么我们现在简单的打一下上面的代码,我们去验证相关的运算符的优先级

第一个:

那么这个代码呢,因为&&的优先级大于||,所以说先运行前面的结果,再将这个结果和后面的++z运行

第二个:

这个,x+1确实是大于零的,但是括号前面加了一个!,就说明是取反,按照正常的结果该是1,所以结果就是0了,那么&&是遇见零就截止,那y++就不需要运算,y依旧是0,这里是个易错点,很容易想成y=1,后面运算就比较简单了,请自行思考

第三个难度上升,先写代码在解释吧

首先最外层他是一个,的运算符,我们首先要比较逗号运算符和>的运算符的优先级,所以他会出现两种情况,

根据上面的优先级表,应该先运行后面的>的式子,也就是说是第二种情况,最后面的式子z=x+y+z=1>0,逗号运算符他运算的特点是先算最后面的式子,所以说z=1,那么再往回走,因为==的优先级是大于+=的,所以说,先定义y=z=1,所以x=2,再往后算,y就等于x+2=4,最后的答案是x=2,y=4,z=1了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值