一、C語言運算符號的種類
1 算術運算符
用於各類數值運算。包括加(+)、減(-)、乘(*)、除(/)、求余(或稱模運算,%)、自增(++)、自減(--)共七種。
2.關係運算符
用於比較運算。包括大於(>)、小於(<)、等於(==)、 大於等於(>=)
、小於等於(<=)和不等於(!=)六種。
3.邏輯運算符
用於邏輯運算。包括與(&&)、或(||)、非(!)三種。
4.位操作運算符
參與運算的量,按二進制位進行運算。包括位與(&)、位或(|)、位非(~)、位異或(^)、左移(<<)、右移(>>)六種。
5.賦值運算符
用於賦值運算,分為簡單賦值(=)、複合算術賦值(+=,-=,*=,/=,%=)和複合位運算賦值(&=,|=,^=,>>=,<<=)三類共十一種。
6.條件運算符
這是一個三目運算符,用於條件求值(?:)。
7.逗號運算符
用於把若干表達式組合成一個表達式(,)。
8.指針運算符
用於取內容(*)和取地址(&)二種運算。
9.求位元組數運算符
用於計算數據類型所占的位元組數(sizeof)。
10.特殊運算符
有括弧(),下標[],成員(→,.)等幾種。
二、C語言運算符號的優先權
1、優先權1級
結合方向 左結合(自左至右)
( ) 圓括弧
[ ] 下標運算符
-> 指向結構體成員運算符
. 結構體成員運算符 (請注意它是一個實心圓點)
2、優先權2級
結合方向 右結合(自右至左)單目運算符
! 邏輯非運算符
~ 按位取反運算符
++ 自增運算符
-- 自減運算符
- 負號運算符
(類型) 類型轉換運算符
* 指針運算符
& 地址與運算符
sizeof 長度運算符
3、優先權3級
結合方向 左結合 雙目運算符
* 乘法運算符
/ 除法運算符
% 取余運算符
4、優先權4級
結合方向 左結合 雙目運算符
+ 加法運算符
- 減法運算符
5、優先權5級
結合方向 左結合 雙目運算符
<< 左移運算符
>> 右移運算符
6、優先權6級
結合方向 左結合 雙目運算符
<、<=、>、>= 關係運算符
7、優先權7級
結合方向 左結合 雙目運算符
== 等於運算符 (判斷)
!= 不等於運算符(判斷)
8、優先權8級
結合方向 左結合 雙目運算符
& 按位與運算符
9、優先權9級
結合方向 左結合 雙目運算符
^ 按位異或運算符
10、優先權10級
結合方向 左結合 雙目運算符
| 按位或運算符 舉例:0xfe|0xef 即為1111 1110 與1110 1111按位或運算則答案為:1111 1111 即0xff。
11、優先權11級
結合方向 左結合 雙目運算符
&& 邏輯與運算符
12、優先權12級
結合方向 左結合 雙目運算符
|| 邏輯或運算符
13、優先權13級
結合方向 右結合 三目運算符
? : 條件運算符
14、優先權14級
結合方向 右結合 雙目運算符
= 賦值運算符
+ = 加後賦值運算符 如s+=1表示s=s+1
- = 減後賦值運算符 如s-=1表示s=s-1
* = 乘後賦值運算符
/ = 除後賦值運算符
% = 取模後賦值運算符
< <= 左移後賦值運算符
>>=右移後賦值運算符
&= 按位與後賦值運算符
^=按位異或後賦值運算符
|= 按位或後賦值運算符
15、優先權15級
結合方向 左結合
, 逗號運算符