您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“C語言中的運算符和結合性問題怎么解決”,內容詳細,步驟清晰,細節處理妥當,希望這篇“C語言中的運算符和結合性問題怎么解決”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
優先級 | 運算符 | 含義 | 要求運算對象的個數 | 結合方向 |
---|---|---|---|---|
1 | () | 圓括號 | 自左至右 | |
1 | [] | 下標運算符 | 自左至右 | |
1 | -> | 指向結構體成員運算符 | 自左至右 | |
1 | · | 結構體成員運算符 | 自左至右 | |
2 | ! | 邏輯非運算符 | 1(單目運算符) | 自右至左 |
2 | ~ | 按位取反運算符 | 1(單目運算符) | 自右至左 |
2 | ++ | 自增運算符 | 1(單目運算符) | 自右至左 |
2 | -- | 自減運算符 | 1(單目運算符) | 自右至左 |
2 | - | 負號運算符 | 1(單目運算符) | 自右至左 |
2 | (類型) | 類型轉換運算符 | 1(單目運算符) | 自右至左 |
2 | * | 指針運算符 | 1(單目運算符) | 自右至左 |
2 | & | 取地址運算符 | 1(單目運算符) | 自右至左 |
2 | sizeof | 長度運算符 | 1(單目運算符) | 自右至左 |
3 | * | 乘法運算符 | 2(雙目運算符) | 自左至右 |
3 | / | 除法運算符 | 2(雙目運算符) | 自左至右 |
3 | % | 求余運算符 | 2(雙目運算符) | 自左至右 |
4 | + | 加法運算符 | 2(雙目運算符) | 自左至右 |
4 | - | 減法運算符 | 2(雙目運算符) | 自左至右 |
5 | << | 左移運算符 | 2(雙目運算符) | 自左至右 |
5 | >> | 左移運算符 | 2(雙目運算符) | 自左至右 |
6 | < <= > >= | 關系運算符 | 2(雙目運算符) | 自左至右 |
7 | == | 等于運算符 | 2(雙目運算符) | 自左至右 |
7 | != | 不等于運算符 | 2(雙目運算符) | 自左至右 |
8 | & | 按位與運算符 | 2(雙目運算符) | 自左至右 |
9 | ^ | 按位異或運算符 | 2(雙目運算符) | 自左至右 |
10 | | | 按位或運算符 | 2(雙目運算符) | 自左至右 |
11 | && | 邏輯與運算符 | 2(雙目運算符) | 自左至右 |
12 | || | 邏輯或運算符 | 2(雙目運算符) | 自左至右 |
13 | ? : | 條件運算符 | 3(三目運算符) | 自右至左 |
14 | = += -= *= /= %= >>= <<= &= ^= |= | 賦值運算符 | 2(二目運算符) | 自右至左 |
15 | , | 逗號運算符(順序求值運算符) | 自左至右 |
同一優先級的運算符,運算次序由結合方向決定。
-
和++
為同一優先級,結合方向為自右至左,因此-i++
相當于-(i++)
;
不同的運算符要求有不同的運算對象個數,如+
和-
為雙目運算符,要求在運算符兩側各有一個運算對象(3+5
)。
而++
和-
(負號)運算符是單目運算符,只能在運算符的一側出現一個運算對象(如-a
、i++
、--i
、(float)i
、sizeof(int)
、*p
等)。
條件運算符是C語言中唯一的三木運算符,如x?a:b
。
以上的優先級別由上到下遞減。初等運算符優先級最高,逗號運算符優先級最低。
位運算符的優先級比較分散(有的在算術運算符之前(如~
),有的在關系運算符之前(如<<
和>>
),有的在關系運算符之后(如&
、^
、|
))。
為了容易記憶,使用位運算符時可加圓括號。
讀到這里,這篇“C語言中的運算符和結合性問題怎么解決”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。