青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

牽著老婆滿街逛

嚴(yán)以律己,寬以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

C++ 運算符優(yōu)先級列表

介紹

    運算符是告訴編譯程序執(zhí)行特定算術(shù)或邏輯操作的符號。C語言的運算范圍很寬,把除了控制語句和輸入輸出以外的幾乎所有的基本操作都作為運算符處理。主要分為三大類:算術(shù)運算符、 關(guān)系運算符與邏輯運算符。除此之外,還有一些用于完成特殊任務(wù)的運算符。

運算符的優(yōu)先級與結(jié)合性

    優(yōu)先級:C語言中,運算符的運算優(yōu)先級共分為15級。1級最高,15級最低。在表達(dá)式中,優(yōu)先級較高的先于優(yōu)先級較低的進(jìn)行運算。而在一個運算量兩側(cè)的運算符優(yōu)先級相同時,則按運算符的結(jié)合性所規(guī)定的結(jié)合方向處理。
    結(jié)合性:C語言中各運算符的結(jié)合性分為兩種,即左結(jié)合性(自左至右)和右結(jié)合性(自右至左)。例如算術(shù)運算符的結(jié)合性是自左至右,即先左后右。如有表達(dá)式x-y+z則y應(yīng)先與"-"號結(jié)合,執(zhí)行x-y運算,然后再執(zhí)行+z的運算。這種自左至右的結(jié)合方向就稱為"左結(jié)合性"。而自右至左的結(jié)合方向稱為"右結(jié)合性"。最典型的右結(jié)合性運算符是賦值運算符。如x=y=z,由于“=”的右結(jié)合性,應(yīng)先執(zhí)行y=z再執(zhí)行x=(y=z)運算。C語言運算符中有不少為右結(jié)合性,應(yīng)注意區(qū)別,以避免理解錯誤。

優(yōu)先級 結(jié)合性 運算符 備注
1 左結(jié)合 ()
[]
->
.
圓括號
下標(biāo)運算符
指向結(jié)構(gòu)體成員運算符
結(jié)構(gòu)體成員運算符
2 右結(jié)合 !
~
++
--
+
-
(類型)
*
&
sizeof
邏輯非運算符
按位取反運算符
前綴增量運算符
前綴減量運算符
正號運算符
負(fù)號運算符
類型轉(zhuǎn)換運算符
指針運算符
地址運算符
長度運算符
3 左結(jié)合 *
/
%
乘法運算符
除法運算符
取余運算符
4 左結(jié)合 +
-
加法運算符
減法運算符
5 左結(jié)合 <<
>>
左移運算符
右移運算符
6 左結(jié)合 <
<=
>
>=
關(guān)系運算符
7 左結(jié)合 ==
!=
等于運算符
不等于運算符
8 左結(jié)合 &
按位與運算符
9 左結(jié)合 ^
按位異或運算符
10 結(jié)合性 |
按位或運算符
11 左結(jié)合 &&
邏輯與運算符
12 左結(jié)合 ||
邏輯或運算符
13 右結(jié)合 ? :
條件運算符
14 右結(jié)合 =
+=
-=
*=
/=
%=
&=
^=
|=
<<=
>>=
賦值運算符
15 左結(jié)合 ,
逗號運算符

備注

    優(yōu)先級口訣:圓方括號、箭頭一句號,自增自減非反負(fù)、針強地址長度,乘除,加減,再移位,小等大等、等等不等,八位與,七位異,六位或,五與,四或,三疑,二賦,一真逗。 
    口訣解釋:“圓方括號、箭頭一句號”指的是第15級的運算符。其中圓方括號很明顯“()、[]”,箭頭指的是指向結(jié)構(gòu)體成員運算符“->”,句號指的是結(jié)構(gòu)體成員運算符“.”。 “自增自減非反負(fù)、針強地址長度”指的是第14級的運算符。其中非指的是邏輯運算符“!”,反指的是按位取反運算符“~”,負(fù)指的是負(fù)號運算符“-”,針指的是指針運算符“*”,強指的是強制類型轉(zhuǎn)換運算符,地址指的是地址運算符“&”,長度指的是長度運算符“sizeof”。“乘除,加減,再移位”移位指的是左移運算符“<<”和右移運算符“>>”,其中除法還包括了取余運算符“%”。“小等大等、等等不等”指的是第10級到第9級的運算符:<、<=、>和>=,等等指的是等于運算符==,不等指的是不等于運算符!=。 “八位與,七位異,六位或”其中 八位與指的是第8級的按位與運算符“&”,七位異指的是第7級的按位異或運算符“^”,六位或指的是第6級的按位或運算符“|”。 “五與,四或”指的是第5級、第4級的邏輯與運算符“&&”和邏輯或運算符“||”。“三疑,二賦,一真逗”指的是第3級到第1級的運算符。其中,三疑指的是條件運算符“?:”(三有雙重含義:即指優(yōu)先級別是三,它的運算符類型也是三目,疑也取“?”之意),二賦指的是賦值運算符=、+=、-=、*=、/=、%=、>>=、<<=、&=、^=和|= ,一真逗指的是第1級的“,”運算符,真字只是為了語句需要罷了。
    由于C語言的運算符優(yōu)先級與C++的不完全一樣(主要是增加了幾個運算符),所以這個口訣不能完全實用于C++.但是應(yīng)該能夠兼容,大家可以比較一下他們的區(qū)別應(yīng)該就能夠很快掌握C++的優(yōu)先級的!當(dāng)然,如果真的不想背這些優(yōu)先級,那么可以在每次使用符號的地方都用上(),這樣就不用在意運算符優(yōu)先級了,這也是一個很好的編程習(xí)慣。



////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


優(yōu)先級

運算符

名稱或含義

使用形式

結(jié)合方向

說明

1

[]

數(shù)組下標(biāo)

數(shù)組名[常量表達(dá)式]

左到右

()

圓括號

(表達(dá)式)/函數(shù)名(形參表)

.

成員選擇(對象)

對象.成員名

->

成員選擇(指針)

對象指針->成員名

2

-

負(fù)號運算符

-表達(dá)式

右到左

單目運算符

(類型)

強制類型轉(zhuǎn)換

(數(shù)據(jù)類型)表達(dá)式

++

自增運算符

++變量名/變量名++

單目運算符

--

自減運算符

--變量名/變量名--

單目運算符

*

取值運算符

*指針變量

單目運算符

&

取地址運算符

&變量名

單目運算符

!

邏輯非運算符

!表達(dá)式

單目運算符

~

按位取反運算符

~表達(dá)式

單目運算符

sizeof

長度運算符

sizeof(表達(dá)式)

3

/

表達(dá)式/表達(dá)式

左到右

雙目運算符

*

表達(dá)式*表達(dá)式

雙目運算符

%

余數(shù)(取模)

整型表達(dá)式/整型表達(dá)式

雙目運算符

4

+

表達(dá)式+表達(dá)式

左到右

雙目運算符

-

表達(dá)式-表達(dá)式

雙目運算符

5

<<

左移

變量<<表達(dá)式

左到右

雙目運算符

>>

右移

變量>>表達(dá)式

雙目運算符

6

>

大于

表達(dá)式>表達(dá)式

左到右

雙目運算符

>=

大于等于

表達(dá)式>=表達(dá)式

雙目運算符

<

小于

表達(dá)式<表達(dá)式

雙目運算符

<=

小于等于

表達(dá)式<=表達(dá)式

雙目運算符

7

==

等于

表達(dá)式==表達(dá)式

左到右

雙目運算符

!=

不等于

表達(dá)式!= 表達(dá)式

雙目運算符

8

&

按位與

表達(dá)式&表達(dá)式

左到右

雙目運算符

9

^

按位異或

表達(dá)式^表達(dá)式

左到右

雙目運算符

10

|

按位或

表達(dá)式|表達(dá)式

左到右

雙目運算符

11

&&

邏輯與

表達(dá)式&&表達(dá)式

左到右

雙目運算符

12

||

邏輯或

表達(dá)式||表達(dá)式

左到右

雙目運算符

13

?:

條件運算符

表達(dá)式1? 表達(dá)式2: 表達(dá)式3

右到左

三目運算符

14

=

賦值運算符

變量=表達(dá)式

右到左

/=

除后賦值

變量/=表達(dá)式

*=

乘后賦值

變量*=表達(dá)式

%=

取模后賦值

變量%=表達(dá)式

+=

加后賦值

變量+=表達(dá)式

-=

減后賦值

變量-=表達(dá)式

<<=

左移后賦值

變量<<=表達(dá)式

>>=

右移后賦值

變量>>=表達(dá)式

&=

按位與后賦值

變量&=表達(dá)式

^=

按位異或后賦值

變量^=表達(dá)式

|=

按位或后賦值

變量|=表達(dá)式

15

,

逗號運算符

表達(dá)式,表達(dá)式,…

左到右

從左向右順序運算



////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


Precedence Operator Description Example Associativity
1 ()
[]
->
.
::
++
--
Grouping operator
Array access
Member access from a pointer
Member access from an object
Scoping operator
Post-increment
Post-decrement
(a + b) / 4;
array[4] = 2;
ptr->age = 34;
obj.age = 34;
Class::age = 2;
for( i = 0; i < 10; i++ ) ...
for( i = 10; i > 0; i-- ) ...
left to right
2 !
~
++
--
-
+
*
&
(type)
sizeof
Logical negation
Bitwise complement
Pre-increment
Pre-decrement
Unary minus
Unary plus
Dereference
Address of
Cast to a given type
Return size in bytes
if( !done ) ...
flags = ~flags;
for( i = 0; i < 10; ++i ) ...
for( i = 10; i > 0; --i ) ...
int i = -1;
int i = +1;
data = *ptr;
address = &obj;
int i = (int) floatNum;
int size = sizeof(floatNum);
right to left
3 ->*
.*
Member pointer selector
Member pointer selector
ptr->*var = 24;
obj.*var = 24;
left to right
4 *
/
%
Multiplication
Division
Modulus
int i = 2 * 4;
float f = 10 / 3;
int rem = 4 % 3;
left to right
5 +
-
Addition
Subtraction
int i = 2 + 3;
int i = 5 - 1;
left to right
6 <<
>>
Bitwise shift left
Bitwise shift right
int flags = 33 << 1;
int flags = 33 >> 1;
left to right
7 <
<=
>
>=
Comparison less-than
Comparison less-than-or-equal-to
Comparison greater-than
Comparison geater-than-or-equal-to
if( i < 42 ) ...
if( i <= 42 ) ...
if( i > 42 ) ...
if( i >= 42 ) ...
left to right
8 ==
!=
Comparison equal-to
Comparison not-equal-to
if( i == 42 ) ...
if( i != 42 ) ...
left to right
9 & Bitwise AND flags = flags & 42; left to right
10 ^ Bitwise exclusive OR flags = flags ^ 42; left to right
11 | Bitwise inclusive (normal) OR flags = flags | 42; left to right
12 && Logical AND if( conditionA && conditionB ) ... left to right
13 || Logical OR if( conditionA || conditionB ) ... left to right
14 ? : Ternary conditional (if-then-else) int i = (a > b) ? a : b; right to left
15 =
+=
-=
*=
/=
%=
&=
^=
|=
<<=
>>=
Assignment operator
Increment and assign
Decrement and assign
Multiply and assign
Divide and assign
Modulo and assign
Bitwise AND and assign
Bitwise exclusive OR and assign
Bitwise inclusive (normal) OR and assign
Bitwise shift left and assign
Bitwise shift right and assign
int a = b;
a += 3;
b -= 4;
a *= 5;
a /= 2;
a %= 3;
flags &= new_flags;
flags ^= new_flags;
flags |= new_flags;
flags <<= 2;
flags >>= 2;
right to left
16 , Sequential evaluation operator for( i = 0, j = 0; i < 10; i++, j++ ) ... left to right




資料來源:
http://clanguage.h.baike.com/?m=article&id=74289
http://www.slyar.com/blog/c-operator-priority.html
http://en.cppreference.com/w/cpp/language/operator_precedence

posted on 2014-01-18 21:46 楊粼波 閱讀(1424) 評論(1)  編輯 收藏 引用 所屬分類: C++

評論

# re: C++ 運算符優(yōu)先級列表 2014-02-16 17:52 求敗

正在學(xué)習(xí)C++,不錯!  回復(fù)  更多評論   

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美成人精品一区二区| 亚洲午夜一区| 免费不卡欧美自拍视频| 久久精品国产亚洲一区二区| 狠狠噜噜久久| 亚洲欧美日韩综合一区| 亚洲午夜伦理| 国产一区二区精品丝袜| 久久综合九色综合欧美狠狠| 亚洲天堂成人在线观看| 久久精品国产第一区二区三区| 国产麻豆9l精品三级站| 久久久精品久久久久| 久久婷婷久久| 999亚洲国产精| 亚洲一区免费网站| 一区二区视频免费完整版观看| 欧美激情精品久久久六区热门 | 免费在线欧美视频| 欧美 日韩 国产 一区| 国产亚洲欧美另类中文| 欧美成人免费播放| 欧美日韩美女一区二区| 久久九九久精品国产免费直播| 免费成人av在线看| 午夜亚洲性色福利视频| 美女久久网站| 国产欧美日韩中文字幕在线| 欧美在线观看一区二区三区| 亚洲第一页在线| 亚洲一二三区精品| 亚欧成人精品| 一区二区三区四区蜜桃| 久久精品综合一区| 99人久久精品视频最新地址| 欧美一区二区三区在线视频| 一区二区三区波多野结衣在线观看| 香蕉乱码成人久久天堂爱免费 | 久久国产精品第一页| 夜夜嗨av一区二区三区网页| 久久国产一区| 香蕉免费一区二区三区在线观看| 欧美黄色免费| 免费不卡亚洲欧美| 国产一区二区三区高清在线观看| 欧美成人午夜激情视频| 久久精品日韩| 午夜在线精品偷拍| 欧美激情一区二区三区在线视频观看| 久久精品一本久久99精品| 欧美激情视频在线播放| 欧美xart系列高清| 国内精品久久久久影院色| 亚洲在线免费观看| 一本色道久久综合亚洲精品按摩 | 一区二区三区国产| 亚洲国产99| 亚洲制服av| 性欧美在线看片a免费观看| 欧美午夜a级限制福利片| 亚洲区在线播放| 亚洲视频免费在线| 影视先锋久久| 久久成人18免费网站| 午夜精品免费| 国产亚洲欧美中文| 亚洲欧美日韩成人高清在线一区| 亚洲天堂男人| 国产精品久久久久影院色老大 | 欧美大片一区二区三区| 欧美大胆a视频| 亚洲欧洲视频| 欧美日韩在线免费| 一本色道久久综合狠狠躁篇怎么玩| 中文国产亚洲喷潮| 欧美裸体一区二区三区| 亚洲美女免费精品视频在线观看| 国产精品99久久99久久久二8| 欧美视频国产精品| 久久天天狠狠| 国产精品v片在线观看不卡| 9色精品在线| 欧美一区二区三区久久精品| 韩曰欧美视频免费观看| 美日韩精品视频免费看| 亚洲精品久久嫩草网站秘色| 亚洲一区二区在线观看视频| 亚洲高清视频一区| 99亚洲视频| 国产视频在线一区二区| 久久久久久夜| 亚洲免费激情| 久久久久看片| 日韩亚洲欧美精品| 国产日韩一区欧美| 免费不卡在线视频| 亚洲天堂成人在线观看| 欧美**人妖| 亚洲欧美日韩综合aⅴ视频| 国产综合在线看| 欧美日韩精品免费观看视一区二区| 亚洲一区二区三区777| 免费在线看成人av| 国产精品国产三级国产a| 欧美一区二区视频在线观看| 亚洲国产美国国产综合一区二区| 亚洲一区在线观看免费观看电影高清| 国内精品久久久久久久影视麻豆 | 一区二区三欧美| 免费成人高清| 午夜久久影院| 亚洲靠逼com| 一区免费视频| 国产精品欧美日韩一区二区| 欧美成人免费全部| 久久国产精品色婷婷| 一区二区三区色| 亚洲国内在线| 最新热久久免费视频| 91久久精品美女| 久久久欧美一区二区| 99热免费精品在线观看| 加勒比av一区二区| 国产精品毛片| 欧美日韩一区二区三区免费看 | 在线观看视频一区二区| 国产女主播在线一区二区| 欧美精品电影在线| 久久综合一区二区| 久久精品亚洲一区二区| 午夜精品网站| 亚洲欧美国产高清| 宅男66日本亚洲欧美视频| 亚洲国产综合视频在线观看| 欧美成人免费大片| 免费日韩av| 免费欧美在线视频| 欧美xxx成人| 免费久久精品视频| 免费看的黄色欧美网站| 欧美二区不卡| 亚洲高清激情| 亚洲国产婷婷| 亚洲免费av电影| 一本到12不卡视频在线dvd| 亚洲人成77777在线观看网| 亚洲激情中文1区| 亚洲精华国产欧美| 日韩视频一区二区在线观看| 亚洲精品精选| 在线一区免费观看| 午夜欧美精品| 久久噜噜噜精品国产亚洲综合| 久久精品亚洲乱码伦伦中文 | 亚洲天堂男人| 午夜日韩激情| 久久人人精品| 欧美理论在线播放| 国产精品av一区二区| 国产精品自拍三区| 在线成人激情黄色| 亚洲免费电影在线| 久热精品视频| 欧美成人免费在线| 欧美视频一区二区三区| 国产欧美日韩在线视频| 亚洲电影av在线| 亚洲视频999| 久久久www成人免费毛片麻豆| 久久这里有精品视频| 亚洲大黄网站| 亚洲一区二区免费看| 久久综合一区二区| 国产精品二区影院| 在线观看国产精品网站| 一本色道久久加勒比88综合| 欧美自拍偷拍| 亚洲国产高清高潮精品美女| 亚洲美女诱惑| 久久久九九九九| 亚洲精品一区二区三区av| 午夜精品久久久久影视| 欧美阿v一级看视频| 国产精品日日摸夜夜添夜夜av| 在线精品高清中文字幕| 亚洲一区二区黄| 久色成人在线| 亚洲一区二区三区在线视频| 蜜桃久久av一区| 国产欧美日韩另类一区| 亚洲乱亚洲高清| 葵司免费一区二区三区四区五区| 亚洲免费成人| 欧美福利视频网站| 在线电影一区| 久久高清国产| 免费看黄裸体一级大秀欧美| 国产亚洲精品bt天堂精选| 日韩一级黄色大片| 狂野欧美一区|