運算子 優先順序 結合性

2022-08-01 23:24:15 字數 1620 閱讀 1591

c語言的運算子可分為以下幾類:

1.算術運算子:用於各類數值運算。包括加(+)、減(-)、乘(*)、除(/)、求餘(或稱模運算,%)、自增(++)、自減(--)共七種。

2.關係運算子:用於比較運算。包括大於(>)、小於(<)、等於(==)、 大於等於(>=)、小於等於(<=)和不等於(!=)六種。

3.邏輯運算子:用於邏輯運算。包括與(&&)、或(||)、非(!)三種。

4.位操作運算子:參與運算的量,按二進位制位進行運算。包括位與(&)、位或(|)、位非(~)、位異或(^)、左移(<<)、右移(>>)六種。

5.賦值運算子:分為簡單賦值(=)、復合算術賦值(+=,-=,*=,/=,%=)和復合位運算賦值(&=,|=,^=,>>=,<<=)三類共十一種。

6.條件運算子:這是乙個三目運算子,用於條件求值(?:)。

7.逗號運算子:用於把若干表示式組合成乙個表示式(,)。

8.指標運算子:用於取內容(*)和取位址(&)二種運算。

9.求位元組數運算子:用於計算資料型別所佔的位元組數(sizeof)。

10.特殊運算子:有括號(),下標,成員(→,.)等幾種。

c語言中,運算子的運算優先順序共分為15級。1級最高,15級最低。

c語言中各運算子的結合性分為兩種,即左結合性(自左至右)和右結合性(自右至左)。

優先順序:

一般而言,單目運算子優先順序較高,賦值運算子優先順序低。

算術運算子優先順序較高,關係和邏輯運算子優先順序較低。

關係運算子的優先順序低於算術運算子,高於賦值運算子。

在六個關係運算子中,<,<=,>,>=的優先順序相同,高於==和!=,==和!=的優先順序相同。

如圖優先順序由高到低 自上而下

!(非)

算術運算子

關係運算子

&&和 ||

條件運算子

賦值運算子

結合性:

多數運算子具有左結合性

單目運算子、三目運算子、賦值運算子具有右結合性。

算術運算子的結合性是自左至右,即先左後右。

如有表示式x-y+z則y應先與「-」號結合,執行x-y運算,然後再執行+z的運算。

關係運算子都是雙目運算子,其結合性均為左結合。

最典型的右結合性運算子是賦值運算子。

與運算子&&和或運算子||均為雙目運算子。具有左結合性。

非運算子!為單目運算子,具有右結合性。

單目運算子:非運算子!

雙目運算子:關係運算子,與運算子&&和或運算子||

三目運算子:條件運算子

運算子優先順序和結合性

所謂優先順序就是當乙個表示式中有多個運算子時,先計算誰,後計算誰。這個其實我們在小學學算術的時候就學過,如1 4 2。但是c語言中的運算子已經遠不止四則運算中的加減乘除了,還有其他很多運算子。當它們出現在同乙個表示式中時先計算誰後計算誰呢?所以本節還是有必要講一下的。最後我還會將所有運算子展示出來,...

運算子優先順序和結合性

優先順序 運算子含義 運算物件個數 結合順序1 初等運算子 自左至右 下標運算子 指向結構體成員運算子 結構體成員運算子2!單目運算子 1 單目運算子 自右至左 負號 指標運算子 sizeof 型別 型別轉換運算子3 乘法算數運算子 2 雙目運算子 自左至右 4 2 雙目運算子 自左至右 5 2 雙...

運算子的優先順序和結合 性

優先順序 運算子 含義 運算子型別 結合方向 15 圓括號 單目 自左向右 下標運算子 指向結構體成員運算子 結構體成員運算子 14 邏輯非運算子 自右向左 按位取反運算子 自增運算子 自減運算子 負號運算子 型別 型別轉換運算子 指標運算子 位址運算子 sizeof 長度運算子 13 乘法運算子 ...