運算子優先順序,自增自減,定義(三個容易混的知識點)

2021-09-29 20:20:47 字數 1582 閱讀 6716

單目運算子只有乙個運算元,雙目運算子有兩個運算元

邏輯非運算子【!】、按位取反運算子【~】、自增自減運算子【++ --】、負號運算子【-】、型別轉換運算子【(型別)】、指標運算子和取位址運算子【和&】、長度運算子【sizeof】這些是單目運算子

雙目運算子較多,+,-,,/,=,== 等等

還有乙個三目運算子,就是需要三個運算元?:

c的運算子有以下幾類:

1 算術運算子:* - + /

2.關係運算子: > < == != >= <=

3. 邏輯運算子:! && ||

4.位運算子:<< >> ~ | ^ &

5. 賦值運算子:=及擴充套件賦值運算子

6.條件運算子:?:

7.逗號運算子:,

8. 指標運算子:*和&

9.求位元組數運算子:sizeof

10. 強制型別轉換運算子:(型別)

11.分量運算子:. ->

12. 下標運算子:[ ]

13.其他:如 函式呼叫運算子:()

乘號比逗號高

優先順序第一級

圓括號【()】、 下標運算子【】、分量運算子的指向 結構體成員運算子【->】、結構體成員運算子【.】

第二級

邏輯非運算子【!】、按位取反運算子【~】、自增自減運算子【++ --】、負號運算子【-】、 型別轉換運算子【(型別)】、 指標運算子和取位址運算子【*和&】、長度運算子【sizeof】

第**:乘法運算子【 星號】、除法運算子【/】、取餘運算子【%】(從左往右)

第四級:加法運算子【+】、減法運算子【-】

第五級:左移動運算子【<>】

第六級:關係運算子【< > <= >= 】

第七級:等於運算子【==】、不等於運算子【!=】

第八級:按位與運算子【&】

第九級:按位異或運算子【^】

第十級:按位或運算子【|】

第十一級: 邏輯與運算子【&&】

第十二級: 邏輯或運算子【||】

第十**:條件運算子【?:】

第十四級: 賦值運算子【= += -= *= /= %= >>= <<.>

第十五級:逗號運算子【,】

運算子優先順序,自增 ,自減 ,題

初始化 int 型別變數 a b c 都為 2 那麼經過以下運算之 a a a b b b c c c 三個的值分別為多少?答案 4 5 6 解析 關於自增 的解釋 a 和 a a 是先自增,然後進行其他運算,而 a 是 a 先進行其他運算,然後自增。注意 a 和 a 運算物件都是左運算元,使可變左...

自增自減運算子

自增自減運算子 i 先使用i,然後i i 1 i 先使用i,然後i i 1 i 先i i 1然後使用i i 先i i 1 然後使用i 以下使用vc下除錯的結果,不同的編譯器可能有不同的結果。i 3 例1printf d i 結果輸出4 例2printf d i 結果輸出3 例3printf resu...

自增 ,自減 運算子

自增1運算子記為 其功能是使變數的值自增1。自減1運算子記為 其功能是使變數值自減1。自增1,自減1運算子均為單目運算,都具有右結合性。可有以下幾種形式 i i自增1後再參與其它運算。i i自減1後再參與其它運算。i i參與運算後,i的值再自增1。i i參與運算後,i的值再自減1。在理解和使用上容易...