运算符 优先级 结合性
C語言的運算符可分為以下幾類:
1.??????算術(shù)運算符:用于各類數(shù)值運算。包括加(+)、減(-)、乘(*)、除(/)、求余(或稱模運算,%)、自增(++)、自減(--)共七種。
2.??????關(guān)系運算符:用于比較運算。包括大于(>)、小于(<)、等于(==)、?大于等于(>=)、小于等于(<=)和不等于(!=)六種。
3.??????邏輯運算符:用于邏輯運算。包括與(&&)、或(||)、非(!)三種。
4.??????位操作運算符:參與運算的量,按二進制位進行運算。包括位與(&)、位或(|)、位非(~)、位異或(^)、左移(<<)、右移(>>)六種。
5.??????賦值運算符:分為簡單賦值(=)、復(fù)合算術(shù)賦值(+=,-=,*=,/=,%=)和復(fù)合位運算賦值(&=,|=,^=,>>=,<<=)三類共十一種。
6.??????條件運算符:這是一個三目運算符,用于條件求值(?:)。
7.??????逗號運算符:用于把若干表達式組合成一個表達式(,)。
8.??????指針運算符:用于取內(nèi)容(*)和取地址(&)二種運算。
9.??????求字節(jié)數(shù)運算符:用于計算數(shù)據(jù)類型所占的字節(jié)數(shù)(sizeof)。
10.??特殊運算符:有括號(),下標[],成員(→,.)等幾種。
?
C語言中,運算符的運算優(yōu)先級共分為15級。1級最高,15級最低。
C語言中各運算符的結(jié)合性分為兩種,即左結(jié)合性(自左至右)和右結(jié)合性(自右至左)。
?
優(yōu)先級:
一般而言,單目運算符優(yōu)先級較高,賦值運算符優(yōu)先級低。
算術(shù)運算符優(yōu)先級較高,關(guān)系和邏輯運算符優(yōu)先級較低。
關(guān)系運算符的優(yōu)先級低于算術(shù)運算符,高于賦值運算符。
在六個關(guān)系運算符中,<,<=,>,>=的優(yōu)先級相同,高于==和!=,==和!=的優(yōu)先級相同。
如圖優(yōu)先級由高到低?自上而下
?
? |
?
?
結(jié)合性:
多數(shù)運算符具有左結(jié)合性
單目運算符、三目運算符、賦值運算符具有右結(jié)合性。
?
算術(shù)運算符的結(jié)合性是自左至右,即先左后右。
如有表達式x-y+z則y應(yīng)先與“-”號結(jié)合,執(zhí)行x-y運算,然后再執(zhí)行+z的運算。
???????關(guān)系運算符都是雙目運算符,其結(jié)合性均為左結(jié)合。
最典型的右結(jié)合性運算符是賦值運算符。
與運算符&&和或運算符||均為雙目運算符。具有左結(jié)合性。
非運算符!為單目運算符,具有右結(jié)合性。
?
?
單目運算符:非運算符!
雙目運算符:關(guān)系運算符,與運算符&&和或運算符||
三目運算符:條件運算符
轉(zhuǎn)載于:https://www.cnblogs.com/GavinDai/archive/2011/12/03/2274911.html
總結(jié)
以上是生活随笔為你收集整理的运算符 优先级 结合性的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringBoot:如何处理Sprin
- 下一篇: 论文阅读课5-DocRED: A Lar