
運算符是一種告訴編譯器執行特定的數學或邏輯操作的符號。
C語言內置了豐富的運算符,大體可分為10類:算術運算符、關系運算符、邏輯運算符、位操作運算符、賦值運算符、條件運算符、逗號運算符、指針運算符、求字節數運算符和特殊運算符。
根據運算符可操作的操作數的個數,可把運算符分為一元運算符、二元運算符和多元運算符(一般三元)。
1、算數運算符
用于數值計算,包括:加(+)、減(-)、乘(*)、除(/)、求余(%)、自增(++)、自減(--)。
2、關系運算符
用于比較運算,包括:大于(>)、小于(=)、小于等于(<=)、不等于(!=)。
3、邏輯運算符
用于邏輯運算,包括:與(&&)、或(||)、非(!)。
4、位操作運算符
按二進制位進行運算,包括:位與(&)、位或(|)、位非(~)、 位異或(^)、左移(<>)。
5、賦值運算符
用于賦值運算,包括:簡單賦值(=)、復合算術賦值(+=、-=、*= 、/=、%=)以及復合位運算賦值(&=、|=、^=、>>=、<<=)等。
6、條件運算符
用于條件求值,三目運算符:(x > y) ? x : y。C語言中有且只有這一個三目運算符。
7、逗號運算符
用于把若干表達式組合成一個表達式:表達式1 , 表達式2。
8、指針運算符
用于取內容(*)和取地址(&)兩種運算。
9、求字節數運算符
用于計算數據類型所占的字節數(sizeof)。
10、特殊運算符
包括括號()、數組下標[]、成員(-> 和 .)等。

比如式子“x = 1 + 2 * 3 / 4”,需要先計算乘再計算除,然后是加,最后是賦值。這里介紹下關于運算符在參與運算過程中的兩個概念:
- 優先級:當不同運算符優先級不同時,先計算誰后計算誰
- 結合性:當不同運算符優先級相同時,先計算誰后計算誰
運算符的優先級和結合性

作為初學者,當一個表達式中有多個運算符時,如果不知道哪個優先級高哪個優先級低就可以查一下優先級表,等用的時間長了自然而然就記住了。而且,事實上在編程的時候也不需要考慮優先級的問題。因為如果不知道優先級高低的話,加一個括號就可以了,因為括號( )的優先級是最高的。
另外,大多數運算符的結合性都是從左往右。從右向左的一個是單目運算符,另一個是三目運算符,還有一個就是雙目運算符中的賦值運算符=。運算符的“結合性”也不用死記,在不斷使用中就記住了。
擴展閱讀:
C語言:一種高效、易學的編程語言
C語言的內存分配方式:堆和棧
C程序中常見的與內存相關的錯誤
GCC編譯C語言程序的全過程
C語言中靜態庫和動態庫簡介
