天天看點

C語言運算符号優先級

1、符号概述

C語言基本上是所有語言裡面運算符号最多的一種了。學習C語言不可避免要運用到運算符号。優先級和結合性是學習符号最重要的點。

2、優先級和結合性

基本優先級:   指針最優,單目運算優于雙目運算。如正負号。   先乘除(模),後加減。   先算術運算,後移位運算,最後位運算。請特别注意:1 << 3 + 2 & 7等價于 (1 << (3 + 2))&7.   邏輯運算最後計算。 全部優先級:

優先級 運算符 名稱或含義 使用形式 結合方向 說明
1

後置++

  

後置自增運算符 變量名++ 左到右  

後置--

  

後置自減運算符

變量名--

  

  
[ ] 數組下标 數組名[整型表達式]   
( ) 圓括号 (表達式)/函數名(形參表)  
. 成員選擇(對象) 對象.成員名  
-> 成員選擇(指針) 對象指針->成員名  
2 - 負号運算符 -表達式 右到左 單目運算符
(類型) 強制類型轉換 (資料類型)表達式  
前置++ 前置自增運算符 ++變量名 單目運算符
前置-- 前置自減運算符 --變量名 單目運算符
* 取值運算符 *指針表達式 單目運算符
& 取位址運算符 &左值表達式 單目運算符
! 邏輯非運算符 !表達式 單目運算符
~ 按位取反運算符 ~表達式 單目運算符
sizeof 長度運算符 sizeof 表達式/sizeof(類型)  
3 / 表達式/表達式 左到右 雙目運算符
* 表達式*表達式 雙目運算符
% 餘數(取模) 整型表達式%整型表達式 雙目運算符
4 + 表達式+表達式 左到右 雙目運算符
- 表達式-表達式 雙目運算符
5 << 左移 表達式<<表達式 左到右 雙目運算符
>> 右移 表達式>>表達式 雙目運算符
6 > 大于 表達式>表達式 左到右 雙目運算符
>= 大于等于 表達式>=表達式 雙目運算符
< 小于 表達式<表達式 雙目運算符
<= 小于等于 表達式<=表達式 雙目運算符
7 == 等于 表達式==表達式 左到右 雙目運算符
!= 不等于 表達式!= 表達式 雙目運算符
8 & 按位與 整型表達式&整型表達式 左到右 雙目運算符
9 ^ 按位異或 整型表達式^整型表達式 左到右 雙目運算符
10 | 按位或 整型表達式|整型表達式 左到右 雙目運算符
11 && 邏輯與 表達式&&表達式 左到右 雙目運算符
12 || 邏輯或 表達式||表達式 左到右 雙目運算符
13 ?: 條件運算符 表達式1? 表達式2: 表達式3 右到左 三目運算符
14 = 指派運算符 變量=表達式 右到左  
/= 除後指派 變量/=表達式  
*= 乘後指派 變量*=表達式  
%= 取模後指派 變量%=表達式  
+= 加後指派 變量+=表達式  
-= 減後指派 變量-=表達式  
<<= 左移後指派 變量<<=表達式  
>>= 右移後指派 變量>>=表達式  
&= 按位與後指派 變量&=表達式  
^= 按位異或後指派 變量^=表達式  
|= 按位或後指派 變量|=表達式  
15 , 逗号運算符 表達式,表達式,… 左到右 從左向右順序運算

3、思考

符号的優先級可以很好運用在C語言指針上。

轉載于:https://www.cnblogs.com/MGT614469730/articles/5898068.html