運算子型別
優先順序運算子
運算物件的個數
結合性 基本
1 ()
[ ]
−>
自左至右單目
2 !
~ ++ −− + − (type) * & sizeof
1 (單目運算子)
自右至左算術
3
* / %
2 (雙目運算子)
自左至右
4 +
− 移位
5
>> <<
2 (雙目運算子)
自左至右關係
6
< <= > >=
2 (雙目運算子)
自左至右
7
== !=
位邏輯8
&
2 (雙目運算子
)
自左至右
9
^
10
| 邏輯
11
&&
2 (雙目運算子)
自左至右
12
|| 條件
13
?:
3 (三目運算子)
自右至左賦值
14
= +=
−= *= /= %= !=
>>= <<=
2 (雙目運算子)
自右至左逗號
15 ,
n
自左至右
取模運算子
%
——取模運算子,或稱求餘運算子。
取模運算子實質上是數**算中的求餘運算子,其兩個操作物件都必須是整數。結果的符號與
%左邊的運算元的符號相同,如
20%6=2,20%(-6)=2,-20%6=-2,-20%-6=-2。
自增、自減運算子
++i和i++
的作用都相當於
i=i+1,
表示將i
的內容在原來的基礎上加1。
--i和i--
的作用都相當於
i=i-1,
表示將i
的內容在原來的基礎上加1。
但是,將它們用在表示式中,字首和字尾是有區別的。
i=51;
j=++i;(
i的值先加1變成
52,再賦給j,
j的值為52)
j=i++
;(先將
i的值賦給j,
j的值為
51,然後i再加
1變為52)
邏輯與
&&和邏輯或
||的短路求值
邏輯與&&:當兩個運算分量同時為真時,結果才為真。
a&&b (如果a
為假時,整個條件就為假,程式不會執行b)
邏輯或||
:只要其中乙個運算分量為真,結果就為真。
a||b(如果a
為真,整個條件就為真,程式也不會執行b)
位邏輯運算子
&
——按位與 |
——按位或 ^
——按位異或 ~
——按位取反
強制轉換運算子
(type)
表示式
例:int i,j;
double a;
i=j+(int)a;
長度運算子
sizeof
sizeof(type) 例
:sizeof(double);
取值運算子
&例:
printf(「%d」,&r);
運算子 優先順序 結合性
語言的運算子可分為以下幾類 1.算術運算子 用於各類數值運算。包括加 減 乘 除 求餘 或稱模運算,自增 自減 共七種。2.關係運算子 用於比較運算。包括大於 小於 等於 大於等於 小於等於 和不等於 六種。3.邏輯運算子 用於邏輯運算。包括與 或 非 三種。4.位操作運算子 參與運算的量,按二進位...
運算子優先順序和結合性
所謂優先順序就是當乙個表示式中有多個運算子時,先計算誰,後計算誰。這個其實我們在小學學算術的時候就學過,如1 4 2。但是c語言中的運算子已經遠不止四則運算中的加減乘除了,還有其他很多運算子。當它們出現在同乙個表示式中時先計算誰後計算誰呢?所以本節還是有必要講一下的。最後我還會將所有運算子展示出來,...
運算子優先順序和結合性
優先順序 運算子含義 運算物件個數 結合順序1 初等運算子 自左至右 下標運算子 指向結構體成員運算子 結構體成員運算子2!單目運算子 1 單目運算子 自右至左 負號 指標運算子 sizeof 型別 型別轉換運算子3 乘法算數運算子 2 雙目運算子 自左至右 4 2 雙目運算子 自左至右 5 2 雙...