c語言中的運算子及其優先順序
優先順序
運算子
名稱或含義
使用形式
結合方向 說明
1 陣列下標
陣列名[常量表示式]
左到右 ()
圓括號
(表示式)/函式名(形參表).
成員選擇(物件) 物件
.成員名
->
成員選擇(指標)
物件指標->成員名 2
-負號運算子 -
表示式
右到左
單目運算子 (
型別)強制型別轉換 (
資料型別)表示式 ++
自增運算子 ++
變數名/變數名++
單目運算子 --
自減運算子 --
變數名/變數名--
單目運算子 *
取值運算子 *
指標變數
單目運算子 &
取位址運算子 &
變數名
單目運算子 !
邏輯非運算子 !
表示式
單目運算子 ~
按位取反運算子 ~
表示式
單目運算子
sizeof
長度運算子
sizeof(
表示式)
算術運算子
先乘除後加減
3 / 除
表示式/表示式
左到右雙目運算子 *
乘表示式*表示式
雙目運算子 %
餘數(取模)
整型表示式/整型表示式
雙目運算子 4
+ 加表示式+表示式
左到右雙目運算子 -
減表示式-表示式
雙目運算子
移位運算子
5 << 左移
變數《表示式
左到右雙目運算子
>> 右移
變數》表示式
雙目運算子
關係運算子
6 > 大於
表示式》表示式
左到右雙目運算子
>=
大於等於
表示式》=表示式
雙目運算子
< 小於
表示式《表示式
雙目運算子
<=
小於等於
表示式<=表示式
雙目運算子 7
== 等於
表示式==表示式
左到右雙目運算子 !=
不等於表示式!= 表示式
雙目運算子 8
&按位與
表示式&表示式
左到右雙目運算子 9
^按位異或
表示式^表示式
左到右雙目運算子
邏輯運算子
10 |
按位或
表示式|表示式
左到右雙目運算子 11
&&邏輯與
表示式&&表示式
左到右雙目運算子 12
||邏輯或
表示式||表示式
左到右雙目運算子 13
?:條件運算子
表示式1? 表示式2: 表示式3
右到左
三目運算子 14
=賦值運算子
變數=表示式
右到左賦值運算子 /=
除后賦值
變數/=表示式
賦值運算子 *=
乘後賦值
變數*=表示式
賦值運算子 %=
取模後賦值
變數%=表示式
賦值運算子 +=
加後賦值
變數+=表示式
賦值運算子 -=
減後賦值
變數-=表示式
賦值運算子
<<=
左移後賦值
變數<<=表示式
賦值運算子
>>=
右移後賦值
變數》=表示式
賦值運算子 &=
按位與後賦值
變數&=表示式
賦值運算子 ^=
按位異或後賦值
變數^=表示式
賦值運算子 |=
按位或後賦值
變數|=表示式
賦值運算子 15
,逗號運算子
表示式,表示式,…
左到右
逗號運算子
個人總結:
1:按運算子優先順序從高到低:單目運算子->雙目運算子->三目運算子->賦值運算子->逗號運算子
2:在雙目運算子中,按運算子優先順序從高到低:
1
:算術運算子(先乘除後加減) 2
:移位運算子 3
:關係運算子(其中== 和 !=優先順序又較低) 4
:邏輯運算子(&>^>|>&&>||)
3:結合方向:
只有單目運算子,條件運算子,賦值運算子是自右從左結合的,其他都是自左向右。
宣告:本文件是在原網上流傳版本上做的編輯,非本人親繪**,因為出處不詳,所以沒有源引作者姓名,望見諒,在此對原作者表示感謝。希望大家今後若有空,也可以整理一些有用的文件,為中國it事業發展做點貢獻。
C語言運算子整理
從新學了一下c語言,發現每次看過c語言中的運算子之後,過一段時間便忘了各種運算子的優先順序及結合順序,每次都要翻書,各種苦逼,好吧,這次順便整理一下。優先順序 運算子 名稱或含義 使用形式 結合方向 說明 1 陣列下標 陣列名 常量表示式 左到右 圓括號 表示式 函式名 形參表 成員選擇 物件 物件...
C語言中的運算子
c語音中的運算子,按其功能,可以分為 算數運算子,關係運算子,邏輯運算子,自增和自減運算子,按位運算子,賦值運算子,和條件運算子。1 算數運算子 運算元可以為任何基本型別,運算結果的型別和運算元型別相同。2 關係運算子 運算元可以為任何基本型別,一般為整型,運算結果,如果兩個運算元關係成立,則結果為...
C語言中的運算子
c語言中的運算子 一 運算子 1 算術運算子 2 賦值運算子 賦值運算子用 來給變數賦值。注意,在c語言中 不表示相等,而只是乙個運算子。3 增量和減量運算子 在程式開發中,我們經常需要對乙個變數的值執行加1或者減1的操作。例如 x x 1 x x 1 為簡化這種操作,c語言提供了增量運算子 和減量...