運算子以及操作符大全

2021-08-19 22:11:06 字數 1972 閱讀 9388

c的運算子有以下幾類:

1. 算術運算子

:* - + / %

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

3. 邏輯運算子

:! && ||

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

5. 賦值運算子

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

6.條件運算子:?:

7.逗號運算子:,

8. 指標運算子

:*和&

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

10. 強制型別轉換

運算子:(型別)

11.分量運算子:. ->

12. 下標

運算子:[ ]

13.其他:如

函式呼叫

運算子:()

注意:條件運算子是c語言中惟一乙個三目(三元)運算子

優先順序【高到低】:

第一級:

圓括號【()】、

下標運算子【】、分量運算子的指向

結構體成員運算子【->】、結構體成員運算子【.】

第二級:

邏輯非運算子【!】、按位取反運算子【~】、自增自減運算子【++ --】、負號運算子【-】、

型別轉換

運算子【(型別)】、

指標運算子

和取位址運算子【*和&】、長度運算子【sizeof】

第**:乘法運算子【*】、除法運算子【/】、取餘運算子【%】

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

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

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

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

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

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

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

第十一級:

邏輯與運算子【&&】

第十二級:

邏輯或運算子【||】

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

第十四級:

賦值運算子

【= += -= *= /= %= >>= <<.>

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

說明:①g1不要求運算物件的個數,g2是

單目運算子

,g13條件運算子是

三目運算子

,其他都是

雙目運算子

。②g2、g13條件運算子、g14賦值運算子是自右向左的【也就是右結合性】,其他都是自左向右【左結合性】

歸納各類運算子【高到低】:

初等運算子【()、->、.】 g1

單目運算子g2

算術運算子

(先乘除【取餘】,後加減) g3,4

位運算子【<< >>】 g5

關係運算子

g6,7

位運算子【遞減& ^ |】 g8,9,10

邏輯運算子

(不包括!) g11,12

條件運算子 g13

賦值運算子

g14逗號運算子 g15

c語言中各運算子的結合性分為兩種:左結合性和右結合性。

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

如有表示式x-y+z則y應先與「-」號結合,執行x-y運算,然後再執行+z的運算。這種自左至右的結合方向就稱為「左結合性」。

而自右至左的結合方向稱為「右結合性」。 最典型的右結合性運算子是賦值運算子。如x=y=z,由於「=」的右結合性,應先執行y=z再執行x=(y=z)運算。

c語言運算子中有不少為右結合性,應注意區別,以避免理解錯誤。(上文的優先順序有分辨左右結合性)

位運算子 操作符

按位與 按位或 取反 按位異或 按位異或可以實現兩個變數值的交換,但是並不推薦。a b b a a b 都是雙目運算子,將二進位制向左移動指定位,高位丟棄,低位補0.當為負數時,根據編譯系統的規定補0,或者1.例 0x01 2 3 這裡要考慮運算子的優先順序。的優先順序大於 的優先順序,所以0x01...

操作符 (邏輯運算子)

操作符 關係操作符 關係操作符 關係操作符 比較兩個變數之間的關係 大於 大於或等於 小於 小於或等於 是否相等 是否不等 邏輯運算子 長路與 和 短路與 長路或 和 短路或 取反 異或 邏輯運算子 public class count 長路或和短路或 無論長路或還是短路或 兩邊的運算單元都是布林值...

延展操作符 擴充套件運算子

擴充套件運算子 spread 是三個點 它好比 rest 引數的逆運算,將乙個陣列轉為用逗號分隔的引數序列。他的應用 1 複製陣列 const a 1,2,3 複製 cosnt b a 2 合併陣列 cosnt arr1 1,2 const arr2 4,5,6 合併 arr1,arr2 注意這種方...