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

posts - 311, comments - 0, trackbacks - 0, articles - 0
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

(搬運工)VC++優先級與運算符

Posted on 2011-03-08 16:14 點點滴滴 閱讀(812) 評論(0)  編輯 收藏 引用 所屬分類: 02 編程語言

C++的優先級 
優先級 操作符 結合性 
1 :: 左 
2 . -> [] () 左 
3 ++ -- ~ ! - + & * () sizeof new delete castname_cast<type> 單目操作符 右 
4 .* ->* 左 
5 * / % 左 
6 + - 左 
7 << >> 左 
8 < <= > >= 左 
9 == != 左 
10 & 左 
11 ^ 左 
12 | 左 
13 && 左 
14 || 左 
15 ?: 右 
16 = *= /= %= += -= <<= >>= &= |= ^= 右 
17 throw 左 
18 , 左


C的優先級 
一、賦值運算符 
賦值語句的作用是把某個常量或變量或表達式的值賦值給另一個變量。符號為‘=’。這里并不是等于的意思,只是賦值,等于用‘==’表示。 
注意:賦值語句左邊的變量在程序的其他地方必須要聲明。 
得已賦值的變量我們稱為左值,因為它們出現在賦值語句的左邊;產生值的表達式我們稱為右值,因為她它們出現在賦值語句的右邊。常數只能作為右值。 
例如: 
count=5; 
total1=total2=0; 
第一個賦值語句大家都能理解。 
第二個賦值語句的意思是把0同時賦值給兩個變量。這是因為賦值語句是從右向左運算的,也就是說從右端開始計算。這樣它先total2=0;然后total1=total2;那么我們這樣行不行呢? 
(total1=total2)=0; 
這樣是不可以的,因為先要算括號里面的,這時total1=total2是一個表達式,而賦值語句的左邊是不允許表達式存在的。

二、算術運算符 
在C語言中有兩個單目和五個雙目運算符。 
符號 功能 
+ 單目正 
- 單目負 
* 乘法 
/ 除法 
% 取模 
+ 加法 
- 減法 
下面是一些賦值語句的例子, 在賦值運算符右側的表達式中就使用了上面的算術運算符: 
Area=Height*Width; 
num=num1+num2/num3-num4; 
運算符也有個運算順序問題,先算乘除再算加減。單目正和單目負最先運算。 
取模運算符(%)用于計算兩個整數相除所得的余數。例如: 
a=7%4; 
最終a的結果是3,因為7%4的余數是3。 
那么有人要問了,我要想求它們的商怎么辦呢? 
b=7/4; 
這樣b就是它們的商了,應該是1。 
也許有人就不明白了,7/4應該是1.75,怎么會是1呢?這里需要說明的是,當兩個整數相除時,所得到的結果仍然是整數,沒有小數部分。要想也得到小數部分,可以這樣寫7.0/4或者7/4.0,也即把其中一個數變為非整數。 
那么怎樣由一個實數得到它的整數部分呢?這就需要用強制類型轉換了。例如: 
a=(int) (7.0/4); 
因為7.0/4的值為1.75,如果在前面加上(int)就表示把結果強制轉換成整型,這就得到了1。那么思考一下a=(float) (7/4);最終a的結果是多少? 
單目減運算符相當于取相反值,若是正值就變為負值,若是負數就變為正值。 
單目加運算符沒有意義,純粹是和單目減構成一對用的。

三、邏輯運算符 
邏輯運算符是根據表達式的值來返回真值或是假值。其實在C語言中沒有所謂的真值和假值,只是認為非0為真值,0為假值。 
符號 功能 
&& 邏輯與 
|| 邏輯或 
! 邏輯非

當表達式進行&&運算時,只要有一個為假,總的表達式就為假,只有當所有都為真時,總的式子才為真。當表達式進行||運算時,只要有一個為真,總的值就為真,只有當所有的都為假時,總的式子才為假。邏輯非(!)運算是把相應的變量數據轉換為相應的真/假值。若原先為假,則邏輯非以后為真,若原先為真,則邏輯非以后為假。 
還有一點很重要,當一個邏輯表達式的后一部分的取值不會影響整個表達式的值時,后一部分就不會進行運算了。例如: 
a=2,b=1; 
a||b-1; 
因為a=2,為真值,所以不管b-1是不是真值,總的表達式一定為真值,這時后面的表達式就不會再計算了。

四、關系運算符 
關系運算符是對兩個表達式進行比較,返回一個真/假值。 
符號 功能 
> 大于 
< 小于 
>= 大于等于 
<= 小于等于 
== 等于 
!= 不等于 
這些運算符大家都能明白,主要問題就是等于==和賦值=的區別了。 
一些剛開始學習C語言的人總是對這兩個運算符弄不明白,經常在一些簡單問題上出錯,自己檢查時還找不出來。看下面的代碼: 
if(Amount=123) …… 
很多新人都理解為如果Amount等于123,就怎么樣。其實這行代碼的意思是先賦值Amount=123,然后判斷這個表達式是不是真值,因為結果為 123,是真值,那么就做后面的。如果想讓當Amount等于123才運行時,應該if(Amount==123) ……

五、自增自減運算符 
這是一類特殊的運算符,自增運算符++和自減運算符--對變量的操作結果是增加1和減少1。例如: 
--Couter; 
Couter--; 
++Amount; 
Amount++;

看這些例子里,運算符在前面還是在后面對本身的影響都是一樣的,都是加1或者減1,但是當把他們作為其他表達式的一部分,兩者就有區別了。運算符放在變量前面,那么在運算之前,變量先完成自增或自減運算;如果運算符放在后面,那么自增自減運算是在變量參加表達式的運算后再運算。這樣講可能不太清楚,看下面的例子: 
num1=4; 
num2=8; 
a=++num1; 
b=num2++;

a =++num1;這總的來看是一個賦值,把++num1的值賦給a,因為自增運算符在變量的前面,所以num1先自增加1變為5,然后賦值給a,最終a也為5。b=num2++;這是把num2++的值賦給b,因為自增運算符在變量的后面,所以先把num2賦值給b,b應該為8,然后num2自增加1變為 9。 
那么如果出現這樣的情況我們怎么處理呢? 
c=num1+++num2; 
到底是c=(num1++)+num2;還是c=num1+(++num2);這要根據編譯器來決定,不同的編譯器可能有不同的結果。所以我們在以后的編程當中,應該盡量避免出現上面復雜的情況。

六、復合賦值運算符 
在賦值運算符當中,還有一類C/C++獨有的復合賦值運算符。它們實際上是一種縮寫形式,使得對變量的改變更為簡潔。 
Total=Total+3; 
乍一看這行代碼,似乎有問題,這是不可能成立的。其實還是老樣子,'='是賦值不是等于。它的意思是本身的值加3,然后在賦值給本身。為了簡化,上面的代碼也可以寫成: 
Total+=3; 
復合賦值運算符有下列這些: 
符號 功能 
+= 加法賦值 
-= 減法賦值 
*= 乘法賦值 
/= 除法賦值 
%= 模運算賦值 
<<= 左移賦值 
>>= 右移賦值 
&= 位邏輯與賦值 
|= 位邏輯或賦值 
^= 位邏輯異或賦值 
上面的十個復合賦值運算符中,后面五個我們到以后位運算時再說明。 
那么看了上面的復合賦值運算符,有人就會問,到底Total=Total+3;與Total+=3;有沒有區別?答案是有的,對于A=A+1,表達式A被計算了兩次,對于復合運算符A+=1,表達式A僅計算了一次。一般的來說,這種區別對于程序的運行沒有多大影響,但是當表達式作為函數的返回值時,函數就被調用了兩次(以后再說明),而且如果使用普通的賦值運算符,也會加大程序的開銷,使效率降低。

七、條件運算符 
條件運算符(?:)是C語言中唯一的一個三目運算符,它是對第一個表達式作真/假檢測,然后根據結果返回兩外兩個表達式中的一個。 
<表達式1>?<表達式2>:<表達式3> 
在運算中,首先對第一個表達式進行檢驗,如果為真,則返回表達式2的值;如果為假,則返回表達式3的值。 
例如: 
a=(b>0)?b:-b; 
當b>0時,a=b;當b不大于0時,a=-b;這就是條件表達式。其實上面的意思就是把b的絕對值賦值給a。

八、逗號運算符 
在C語言中,多個表達式可以用逗號分開,其中用逗號分開的表達式的值分別結算,但整個表達式的值是最后一個表達式的值。 
假設b=2,c=7,d=5, 
a1=(++b,c--,d+3); 
a2=++b,c--,d+3; 
對于第一行代碼,有三個表達式,用逗號分開,所以最終的值應該是最后一個表達式的值,也就是d+3,為8,所以a=8。對于第二行代碼,那么也是有三個表達式,這時的三個表達式為a2=++b、c--、d+3,(這是因為賦值運算符比逗號運算符優先級高)所以最終表達式的值雖然也為8,但a2=3。

還有其他的如位邏輯運算符,位移運算符等等,我們等到講位運算時再說明。

九、優先級和結合性 
從上面的逗號運算符那個例子可以看出,這些運算符計算時都有一定的順序,就好象先要算乘除后算加減一樣。優先級和結合性是運算符兩個重要的特性,結合性又稱為計算順序,它決定組成表達式的各個部分是否參與計算以及什么時候計算。 
下面是C語言中所使用的運算符的優先級和結合性: 
優先級 運算符 結合性 
(最高) () [] -> . 自左向右 
! ~ ++ -- + - * & sizeof 自右向左 
* / % 自左向右 
+ - 自左向右 
<< >> 自左向右 
< <= > >= 自左向右 
== != 自左向右 
& 自左向右 
^ 自左向右 
| 自左向右 
&& 自左向右 
|| 自左向右 
?: 自右向左 
= += -= *= /= %= &= ^= |= <<= >>= 自右向左 
(最低) , 自左向右

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲一区三区在线观看| 亚洲国产精品一区| 久久国产精品久久久久久久久久| 亚洲国产精品精华液2区45| 亚洲永久网站| 午夜激情综合网| 西瓜成人精品人成网站| 欧美一区在线看| 最新日韩欧美| 亚洲盗摄视频| 亚洲理伦在线| 亚洲精品日本| 日韩午夜电影| 亚洲一区二区三区在线观看视频| 亚洲天堂av在线免费| 亚欧美中日韩视频| 久久综合给合久久狠狠狠97色69| 久久久久久婷| 欧美日韩精品福利| 国产精品视频yy9299一区| 黄色成人在线免费| 亚洲少妇自拍| 久久综合一区二区| 91久久精品美女高潮| 亚洲欧美变态国产另类| 久久久久久久国产| 久久综合色一综合色88| 国产欧美日韩视频一区二区三区| 国产一区二区在线免费观看| 亚洲国产黄色| 欧美一区二区国产| 亚洲国产综合91精品麻豆| 一本综合精品| 久久久久国产精品午夜一区| 欧美日韩视频在线观看一区二区三区| 国产综合欧美| 亚洲欧美日韩中文播放| 欧美91视频| 久久激情久久| 亚洲福利在线视频| 性做久久久久久久久| 欧美日韩综合在线| 精品动漫av| 伊人色综合久久天天五月婷| 国产精品美女久久| 亚洲电影在线免费观看| 欧美主播一区二区三区| 日韩一级精品| 欧美bbbxxxxx| 亚洲成色777777在线观看影院| 新狼窝色av性久久久久久| 亚洲国产专区校园欧美| 欧美福利视频在线观看| 加勒比av一区二区| 久久精品国产一区二区三区免费看| 91久久精品一区| 欧美成人日本| 最近看过的日韩成人| 免费看亚洲片| 久久综合五月| 又紧又大又爽精品一区二区| 欧美亚洲一级片| 亚洲在线1234| 国产精品久久久一区二区三区| 一区二区三区精品视频在线观看| 亚洲国产mv| 欧美欧美天天天天操| 亚洲美女少妇无套啪啪呻吟| 亚洲第一福利在线观看| 久久香蕉国产线看观看av| 一区精品在线| 亚洲国产精品va在看黑人| 欧美精品二区| 亚洲一区二区久久| 亚洲欧美成人在线| 国语自产精品视频在线看8查询8 | 亚洲免费观看在线观看| 欧美福利影院| 久久久精品国产免费观看同学| 黄色日韩网站| 亚洲国产高清一区| 欧美日韩精品免费观看视频完整| 欧美日韩国产bt| 久久精品国亚洲| 欧美高清视频一二三区| 99热精品在线观看| 一本色道久久88综合亚洲精品ⅰ| 欧美午夜精品理论片a级按摩| 亚洲一区黄色| 欧美亚洲尤物久久| 亚洲精品乱码久久久久| 一本久道久久综合婷婷鲸鱼| 国产精品久久999| 久久视频免费观看| 欧美精品成人在线| 欧美一级网站| 麻豆精品视频在线观看视频| 一本色道久久99精品综合| 在线一区免费观看| 国内外成人在线视频| 亚洲国产婷婷| 国产精品嫩草影院av蜜臀| 久久全国免费视频| 欧美日韩一区二区欧美激情 | 99爱精品视频| 亚洲午夜久久久久久久久电影院 | 欧美绝品在线观看成人午夜影视 | 久久午夜av| 亚洲视频综合| 噜噜噜久久亚洲精品国产品小说| 亚洲一区999| 麻豆精品传媒视频| 久久久久综合网| 亚洲一区区二区| 亚洲精品偷拍| 久久综合色播五月| 久久久久国产精品www| 欧美日韩久久不卡| 久久综合999| 国产欧美91| 亚洲精品久久久久久久久久久| 男女精品视频| 免费成人在线视频网站| 久久久精品日韩欧美| 国产精品久久久久久久久免费樱桃| 欧美午夜精品久久久久免费视| 欧美成人午夜视频| 麻豆精品视频在线| 国产一区二区av| 午夜精品久久久99热福利| 一区二区三区视频在线播放| 欧美h视频在线| 欧美国产亚洲另类动漫| 亚洲视频综合| 99国产精品私拍| 免费看的黄色欧美网站| 国产欧美一区二区精品婷婷| 一本色道久久综合亚洲精品不卡| 欧美aaaaaaaa牛牛影院| 国产农村妇女毛片精品久久麻豆| 亚洲福利av| 亚洲国产乱码最新视频| 久久成人在线| 麻豆精品精品国产自在97香蕉| 国产无一区二区| 欧美一区二区三区免费视频| 久久久久国产免费免费| 国产精品一区二区三区四区| 午夜久久黄色| 国产精品视频大全| 亚洲视频免费在线| 午夜精品亚洲一区二区三区嫩草| 欧美亚州在线观看| 亚洲调教视频在线观看| 亚洲欧美一区二区视频| 国产精品国产三级国产aⅴ无密码| 亚洲深夜av| 最新成人av在线| 欧美另类69精品久久久久9999| 亚洲国产清纯| 宅男噜噜噜66一区二区| 国产精品久久久久久久午夜片| 亚洲午夜精品在线| 久久婷婷久久一区二区三区| 亚洲第一主播视频| 欧美人牲a欧美精品| 午夜精品一区二区在线观看| 美女亚洲精品| 亚洲永久精品大片| 激情欧美亚洲| 欧美精品一区三区| 亚洲欧美日韩在线| 欧美成年人视频网站| 一本一本a久久| 国产日产高清欧美一区二区三区| 久久综合给合| 亚洲免费一在线| 亚洲第一天堂无码专区| 小处雏高清一区二区三区| 1769国内精品视频在线播放| 欧美午夜免费电影| 免费一级欧美片在线观看| 亚洲午夜一区| 亚洲国产精品久久久久婷婷884| 欧美一区二区在线免费观看| 亚洲精选中文字幕| 激情久久综艺| 国产伦一区二区三区色一情| 免费亚洲一区二区| 久久国产精品久久精品国产| 亚洲精品免费在线观看| 久热国产精品| 久久精品国产亚洲精品| 亚洲色在线视频| 亚洲人午夜精品免费| 黄色小说综合网站| 国产手机视频一区二区| 国产精品videosex极品| 欧美极品在线播放| 久久人人看视频|