C语言运算符的优先级

一共有十五个优先级: 


1   ()  []  .  ->


2   !  ~   -(负号) ++  --   &(取变量地址)*   (type)(强制类型)    sizeof 


3   * / %


4   + - 


5   >> <<  


6   > >= < <= 


7   == !=   


8   &  


9   ^   


10  |   


11  &&


12  ||


13  ?:


14   =  +=  -=  *=  /=   %=  |=   ^=   &=   >>=   <<=


15  ,


结合性:2   13  14  是从右至左   其他都是  从左至右 



※[概述]
括号成员第一;        //括号运算符[]() 成员运算符.  ->


全体单目第二;        //所有的单目运算符比如++、 --、 +(正)、 -(负) 、指针运算*、&乘除余三,加减四;   //这个"余"是指取余运算即%


移位五,关系六;    //移位运算符:<< >> ,关系:> < >= <= 等


等于(与)不等排第七;    //即== 和!=


位与异或和位或;    //这几个都是位运算: 位与(&)异或(^)位或(|)    


"三分天下"八九十;  


逻辑或跟与;            //逻辑运算符:|| 和 &&


十二和十一;            //注意顺序:优先级(||)  底于 优先级(&&) 


条件高于赋值,        //三目运算符优先级排到13 位只比赋值运算符和","高


逗号运算级最低!    //逗号运算符优先级最低 


※[3→]
算术运算符,*、/、%的优先级当然比+、-高了。


移位运算符紧随其后。


其次的关系运算符中,< <= > >=要比 == !=高一个级别,不大好理解。


所有的逻辑操作符都具有不同的优先级(单目运算符除外,!和~)


逻辑位操作符的"与"比"或"高,而"异或"则在它们之间。


跟在其后的&&比||高。


接下来的是条件运算符,赋值运算符及逗号运算符。


在C语言中,只有4个运算符规定了运算方向,它们是&&、| |、条件运算符及逗号运算符。


&&、| |都是先计算左边表达式的值,当左边表达式的值能确定整个表达式的值时,就不再计算右边表达式的值。如 a = 0 && b; &&运算符的左边位为0,则右边表达式b就不再判断。


在条件运算符中。如a?b:c;先判断a的值,再根据a的值对b或c之中的一个进行求值。


逗号表达式则规定从左到右依次进行求值。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值