天天看點

C語言基礎知識之運算符優先級

轉自: http://blog.csdn.net/huangblog/article/details/8271791

作為一名程式員還是要把這個基礎知識牢記于心,以免出錯。

C語言運算符優先級

優先級 運算符 名稱或含義 使用形式 結合方向 說明
1 [] 數組下标 數組名[常量表達式] 左到右 --
() 圓括号 (表達式)/函數名(形參表) --
. 成員選擇(對象) 對象.成員名 --
-> 成員選擇(指針) 對象指針->成員名 --
2 - 負号運算符 -表達式 右到左 單目運算符
~ 按位取反運算符 ~表達式
++ 自增運算符 ++變量名/變量名++
-- 自減運算符 --變量名/變量名--
* 取值運算符 *指針變量
& 取位址運算符 &變量名
! 邏輯非運算符 !表達式
(類型) 強制類型轉換 (資料類型)表達式 --
sizeof 長度運算符 sizeof(表達式) --
3 / 表達式/表達式 左到右 雙目運算符
* 表達式*表達式
% 餘數(取模) 整型表達式%整型表達式
4 + 表達式+表達式 左到右 雙目運算符
- 表達式-表達式
5 <<  左移 變量<<表達式 左到右 雙目運算符
>>  右移 變量>>表達式
6 大于 表達式>表達式 左到右 雙目運算符
>= 大于等于 表達式>=表達式
小于 表達式<表達式
<= 小于等于 表達式<=表達式
7 == 等于 表達式==表達式 左到右 雙目運算符
!= 不等于 表達式!= 表達式
8 & 按位與 表達式&表達式 左到右 雙目運算符
9 ^ 按位異或 表達式^表達式 左到右 雙目運算符
10 | 按位或 表達式|表達式 左到右 雙目運算符
11 && 邏輯與 表達式&&表達式 左到右 雙目運算符
12 || 邏輯或 表達式||表達式 左到右 雙目運算符
13 ?: 條件運算符

表達式1?

表達式2: 表達式3

右到左 三目運算符
14 = 指派運算符 變量=表達式 右到左 --
/= 除後指派 變量/=表達式 --
*= 乘後指派 變量*=表達式 --
%= 取模後指派 變量%=表達式 --
+= 加後指派 變量+=表達式 --
-= 減後指派 變量-=表達式 --
<<= 左移後指派 變量<<=表達式 --
>>= 右移後指派 變量>>=表達式 --
&= 按位與後指派 變量&=表達式 --
^= 按位異或後指派 變量^=表達式 --
|= 按位或後指派 變量|=表達式 --
15 逗号運算符 表達式,表達式,… 左到右 --

說明:

    同一優先級的運算符,運算次序由結合方向所決定。

    簡單記就是:! > 算術運算符 > 關系運算符 > && > || > 指派運算符

繼續閱讀