按优先级从高到低排列:!、&&、||。
!的优先级最高,
&&的优先级居中,
||的优先级最低。
下表是前辈们整理出来的易错的优先级问题,非常具有代表性:
参考:https://blog.youkuaiyun.com/weixin_43555423/article/details/89059848
这个人的推荐的 《C语言深度剖析》参考链接:https://blog.youkuaiyun.com/weixin_43555423/article/details/89319795
所有运算符,参考:https://www.cnblogs.com/dianqijiaodengdai/p/6141486.html
(1)算术运算符:加减乘除,取余(%),自增1(++),自减1(--)。
(2)关系运算符:大于,小于,等于(==),不等于(!=)。
(3)逻辑运算符:与(&&),或(||),非(!)。
(4)位运算符:按位与(&),按位或(|),异或(^),取反(~),左移(<<),右移(>>)
(5)赋值运算符:赋值(=),加等于(+=),减等于(-=),乘等于(*=),除等于(/=),模等于(%=)。
(左移且赋值)<<=(例如:C<<=2 <==> C=C<<2)
(右移且赋值)>>=(例如:C>>=2 <==> C=C>>2)
(按位与且赋值)&=(例如:C&=2 <==> C=C&2)
(按位异或且赋值)^=(例如:C^=2 <==> C=C^2)
(按位或且赋值)|=(例如:C|=2 <==> C=C|2)
(6)杂项运算符:
sizeof 运算符:返回变量的大小。
条件运算符(?:):Condition?X:Y。
逗号运算符(,)。
.(点)和 —>(箭头):成员运算符,用于引用类、结构和共用体的成员。
强制转换运算符(Cast):int(2.2000) 将返回 2。
指针运算符(&):返回变量的地址。
指针运算符(*):指向一个变量。如*var,将指向变量var。