日本欧美一区-日本欧美一区二区三区片-日本强好片久久久久久AAA-日本-区一区二区三区A片-日本人伦一区二区三区-日本人妻A片成人免费看

電子開發網

電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發網 >> 編程學習 >> C語言 >> 正文

c語言運算符號優先級別

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2018/3/30

 1級優先級 左結合

() 圓括號

[] 下標運算符

-> 指向結構體成員運算符

. 結構體成員運算符

2級優先級 右結合

! 邏輯非運算符

~ 按位取反運算符

++ 自增運算符

-- 自減運算符

- 負號運算符

(類型) 類型轉換運算符

* 指針運算符

& 地址與運算符

sizeof 長度運算符

3級優先級 左結合

* 乘法運算符

/ 除法運算符

% 取余運算符

4級優先級 左結合

+ 加法運算符

- 減法運算符

5級優先級 左結合

<< 左移運算符

>> 右移運算符

6級優先級 左結合

<、<=、>、>= 關系運算符

7級優先級 左結合

== 等于運算符

!= 不等于運算符

8級優先級 左結合

& 按位與運算符

9級優先級 左結合

^ 按位異或運算符

10級優先級 左結合

| 按位或運算符

11級優先級 左結合

&& 邏輯與運算符

12級優先級 左結合

|| 邏輯或運算符

13級優先級 右結合

? : 條件運算符

14級優先級 右結合

= += -= *= /= %= &= ^= |= <<= >>= 全為賦值運算符

15級優先級 左結合

, 逗號運算符

——————————————————————————————————————

優先級從上到下依次遞減,最上面具有最高的優先級,逗號操作符具有最低的優先級。

所有的優先級中,只有三個優先級是從右至左結合的,它們是單目運算符、條件運算符、賦值運算符。其它的都是從左至右結合。

具有最高優先級的其實并不算是真正的運算符,它們算是一類特殊的操作。()是與函數相關,[]與數組相關,而->及.是取結構成員。

其次是單目運算符,所有的單目運算符具有相同的優先級,因此在我認為的 真正的運算符中它們具有最高的優先級,又由于它們都是從右至左結合的,因此*p++與*(p++)等效是毫無疑問的。

接下來是算術運算符,*、/、%的優先級當然比+、-高了。

移位運算符緊隨其后。

其次的關系運算符中,< <= > >=要比 == !=高一個級別,不大好理解。

所有的邏輯操作符都具有不同的優先級(單目運算符出外,!和~)

邏輯位操作符的"與"比"或"高,而"異或"則在它們之間。

跟在其后的&&比||高。

接下來的是條件運算符,賦值運算符及逗號運算符。

在C語言中,只有4個運算符規定了運算方向,它們是&&、| |、條件運算符及賦值運算符。

&&、| |都是先計算左邊表達式的值,當左邊表達式的值能確定整個表達式的值時,就不再計算右邊表達式的值。如 a = 0 && b; &&運算符的左邊位0,則右邊表達式b就不再判斷。

在條件運算符中。如a?b:c;先判斷a的值,再根據a的值對b或c之中的一個進行求值。

賦值表達式則規定先對右邊的表達式求值,因此使 a = b = c = 6;成為可能

Tags:c語言,優先級別  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊。 昵稱:注冊  登錄
[ 查看全部 ] 網友評論
關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢