sy_ycdm

C语言运算符优先级等级口诀

口诀:


       [圆方括号、箭头一句号]

  [自增自减非反负、针强地址长度]

  [乘除,加减,再移位]

  [小等大等、等等不等]

  [八位与],[七位异],[六位或],[五与],[四或],[三疑],[二赋],[一真逗]


  (其中“[]”号为一个等级分段)

说明:


  “圆方括号、箭头一句号”

         指的是第15级的运算符。其中【圆方括号】为“()、[]”,【箭头】指的是指向结构体成员运算符“->”,【句号】指的是结构体成员运算符“.” ;


  “自增自减非反负、针强地址长度”

         指的是第14级的运算符。其中【非】指的是逻辑运算符“!”,【反】指的是按位取反运算符“~”,【负】指的是负号运算符“-”,【针】指的是指针运算符“*”,【强】指的是强制类型转换运算符,【地址】指的是地址运算符“&”,【长度】指的是长度运算符“sizeof ”;


  “乘除,加减,再移位”

         【移位】指的是左移运算符“<<”和右移运算符“>>”,其中【除】还包括了 取余运算符“%”;


  “小等大等、等等不等”

         【小等大等】指的是第10级到第9级的运算符:<、<=、>和>=,【等等】指的是等于运算符“==”,【不等】指的是不等于运算符“!=”;


  “八位与,七位异,六位或”

         【八位与】指的是第8级的 按位与 运算符“&”,【七位异】指的是第7级的按位异或 运算符“^”,【六位或】指的是第6级的按位或运算符“||”;


  “五与,四或”

         【五与】指的是第5级的逻辑与运算符“&&”,【四或】第4级和逻辑或运算符“||”;


  “三疑,二赋,一真逗”

         指的是第3级到第1级的运算符。其中,【三疑】指的是条件运算符“?:” (三有双重含义:即指优先级别是三,它的运算符类型也是三目,疑也取“?”之意),【二赋】指的是赋值运算符=、+=、-=、*=、/=、%=、>>=、<<=、&=、^=和|= ,【一真逗】指的是第1级的“,”运算符,真字只是为了语句需要罢了。

评论

热度(2)