這應該算基本的東西 各C/C++語言的書籍中也都可以查的到 不過把它列示在這邊 以便版
眾們看文時若有需要 可以速查 列表之後有給初學者的一些提示
(晚一點會改成彩色的 並再排版)
參考旗標 Linux C語言實務
優先順序由大到小
名稱 記號 結合性 運算元數量
一次算符 () 左到右 1元
[]
.
->
------------------------------------------------------
單項算符 !(NOT) 右到左 1元
~(補數)
++
--
-(負號)
(型別)
*(取指標值)
&(取址)
sizeof
------------------------------------------------------
乘法算符 * 左到右 2元
/
%(餘數)
-------------------------------------------------------
加法算符 + 左到右 2元
-(減法)
-------------------------------------------------------
移位算符 >> 左到右 2元
<<
-------------------------------------------------------
比較運算子 < 左到右 2元
<=
>
>=
==
!=
--------------------------------------------------------
位元算符 & 左到右 2元
^(xor)
|
--------------------------------------------------------
布林算符 && 左到右 2元
--------------------------------------------------------
布林算符 || 左到右 2元
--------------------------------------------------------
三元運算子 ?: 左到右 3元
--------------------------------------------------------
指定算符 = 右到左 2元
+=
-=
*=
/=
%=
>>=
<<=
&=
^=
|=
----------------------------------------------------------
逗號算符 , 左到右 2元
說明:
優先順序較快速的判斷方式是
一元算符>算數算符(+-*/)>比較算符(大於、小於)>布林算符(AND、OR...)
也就是 一元算符>加減乘除>大於小於>布林
例如 -5+3>6||7<8 得到的結果是true
而位在同一個間隔內的算符優先順序是相同的 當多個順序相同的算符在一起的時候
結合性是就依算符本身的結合性
要注意布林運符裡 AND優先權大於OR
例如 a=b=c=d+=100; 因為每個算符優先順序都相等 而=和+=結合性是由右到左 所以
結果是所有的變數值都變成 d加上100後的值