為了方便自己記憶,將幾乎所有運算子編成口訣記憶:
圓方括號域,箭頭一句號
位反邏非長強制,正負增減值取地
乘除加減再移位,大小等等等不等
八位與九位異或,十一二邏輯與或
條件賦值後逗號
1.圓方括號域,箭頭一句號
1
陣列下標
陣列名[常量表示式]
左到右--
()
圓括號(表示式)/函式名(形參表)
--.
成員選擇(物件)
物件.成員名
--->
成員選擇(指標)
物件指標->成員名
-- 2.位反邏非長強制,正負增減值取地
2
-
負號運算子
-表示式
右到左
單目運算子
~
按位取反運算子
~表示式
++
自增運算子
++變數名/變數名++
--
自減運算子
--變數名/變數名--
*
取值運算子
*指標變數
&
取位址運算子
&變數名
!
邏輯非運算子
!表示式
(
型別)
強制型別轉換
(資料型別)表示式
--sizeof
長度運算子
sizeof(表示式)
--3、4、5乘除加減再移位
3
/
除表示式/表示式
左到右雙目運算子
*
乘表示式*表示式
%
餘數(取模)
整型表示式%整型表示式
4
+
加表示式+表示式
左到右雙目運算子
-
減表示式-表示式
5
<<
左移變數《表示式
左到右雙目運算子
6、7大小等等等不等
6
>
大於表示式》表示式
左到右雙目運算子
>=
大於等於
表示式》=表示式
<
小於表示式《表示式
<=
小於等於
表示式<=表示式
7
==
等於表示式==表示式
左到右雙目運算子
8、9 、10八位與九位異或
8
&
按位與表示式&表示式
左到右雙目運算子
9
^
按位異或
表示式^表示式
左到右雙目運算子
10
|
按位或表示式|表示式
左到右雙目運算子
11、12十一二邏輯與或
11
&&
邏輯與表示式&&表示式
左到右雙目運算子
12
||
邏輯或表示式||表示式
左到右雙目運算子
13、14、15條件賦值後逗號
13
?:
條件運算子
表示式1?
表示式2: 表示式3
右到左
三目運算子
14
=
賦值運算子
變數=表示式
右到左
--/=
除后賦值
變數/=表示式
--*=
乘後賦值
變數*=表示式
--%=
取模後賦值
變數%=表示式
--+=
加後賦值
變數+=表示式
---=
減後賦值
變數-=表示式
--<<=
左移後賦值
變數<<=表示式
-->>=
右移後賦值
變數》=表示式
--&=
按位與後賦值
變數&=表示式
--^=
按位異或後賦值
變數^=表示式
--|=
按位或後賦值
變數|=表示式
--15
,
逗號運算子
表示式,表示式,…
左到右--
所有的優先順序中,只有三個優先順序是從右至左結合的,它們是單目運算子、條件運算子、賦值運算子。其它的都是從左至右結合。
單目運算子,所有的單目運算子具有相同的優先順序。
**是從此處拷貝過來:
運算子優先順序 C 運算子優先順序
c 運算子優先順序 優先順序運算子 描述方向1 scope resolution 範圍解析 left to right 2 suffix postfix increment and decrement 字首 字尾遞增和遞減 function call 函式呼叫 array subscripting ...
C 運算子優先順序與記憶口訣
優先順序 運算子名稱或含義 使用形式 結合方向 說明 1 陣列下標 陣列名 常量表示式 左到右 圓括號 表示式 函式名 形參表 成員選擇 物件 物件 成員名 成員選擇 指標 物件指標 成員名 2 負號運算子 表示式 右到左 單目運算子 型別 強制型別轉換 資料型別 表示式 自增運算子 變數名 變數名...
C 語言運算子優先順序(記憶口訣)
優先順序運算子 名稱或含義 使用形式 結合方向說明1 陣列下標 陣列名 常量表示式 左到右 圓括號 表示式 函式名 形參表 成員選擇 物件 物件.成員名 成員選擇 指標 物件指標 成員名2 負號運算子 表示式 右到左單目運算子 型別 強制型別轉換 資料型別 表示式 自增運算子 變數名 變數名 單目運...