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

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>
            国产欧美日韩在线 | 欧美国产一区二区在线观看 | 国产精品亚洲美女av网站| 亚洲综合精品| 最新国产の精品合集bt伙计| 久久成人国产| 在线播放亚洲一区| 久久综合色播五月| 欧美一区二区福利在线| 免播放器亚洲一区| 91久久精品国产91久久性色| 国产视频一区欧美| 国产欧美高清| 国产人成精品一区二区三| 国产精品成人一区二区艾草| 欧美日韩一卡| 国产精品v欧美精品∨日韩| 欧美精品一区三区| 久久久99久久精品女同性| 亚洲欧美日韩国产另类专区| 欧美搞黄网站| 亚洲国产精品va在线看黑人动漫| 国产私拍一区| 国产一区二区三区电影在线观看| 欧美亚洲视频| 亚洲欧美一区二区三区在线 | 亚洲免费在线观看| 亚洲男人的天堂在线aⅴ视频| 欧美午夜激情小视频| 欧美日韩亚洲一区三区| 欧美日韩亚洲成人| 国产精品伦一区| 国产精品视频网站| 红桃视频一区| 日韩午夜在线播放| 午夜精品久久久久久久久久久久| 欧美性做爰猛烈叫床潮| 国产精品日韩欧美综合| 国产一区二区三区四区在线观看 | 国产综合在线视频| 极品日韩av| 国模大胆一区二区三区| 黄色成人在线网址| 亚洲国产欧美在线人成| 国产精品99久久久久久久久久久久 | 一本色道久久综合亚洲精品不| 欧美视频日韩视频| 国产精品v欧美精品v日韩| 国产日韩欧美夫妻视频在线观看| 暖暖成人免费视频| 欧美大片免费久久精品三p | 国产欧美91| 最新高清无码专区| 夜夜爽www精品| 午夜日韩电影| 欧美日韩美女一区二区| 免费91麻豆精品国产自产在线观看| 在线一区亚洲| 久久av一区二区三区漫画| 欧美大片国产精品| 国内精品一区二区| 亚洲一区区二区| 欧美顶级大胆免费视频| 午夜精品区一区二区三| 欧美大香线蕉线伊人久久国产精品| 国产精品99久久不卡二区| 欧美一区二区三区在线播放| 欧美日本中文字幕| 一区一区视频| 欧美一区二区三区在线观看视频| 一区二区三区 在线观看视频| 国产婷婷色一区二区三区在线 | 美女精品国产| 国产视频一区在线| 亚洲欧美日韩综合| 亚洲精品小视频| 老司机一区二区三区| 欧美三级午夜理伦三级中文幕 | 亚洲精品国精品久久99热| 一本久久知道综合久久| 亚洲欧美日韩在线播放| 亚洲欧洲在线播放| 美女视频黄a大片欧美| 国产精品亚发布| 99精品视频一区二区三区| 欧美大片在线观看一区| 久久人人爽人人| 在线欧美不卡| 欧美高清在线观看| 亚洲欧美日韩国产| 欧美精品日韩| 亚洲美女性视频| 最新国产の精品合集bt伙计| 欧美另类videos死尸| 亚洲精品在线一区二区| 亚洲国产小视频| 亚洲免费观看高清在线观看 | 欧美与黑人午夜性猛交久久久| 欧美一区二区久久久| 亚洲视频综合| 国产性色一区二区| 午夜国产精品视频| 亚洲第一视频网站| 欧美精品久久久久久久| 欧美成人免费观看| 久久久久久有精品国产| 国内精品久久久久久| 麻豆精品视频在线观看| 免费亚洲电影在线观看| 99热免费精品在线观看| 亚洲精品欧美极品| 久久综合999| 亚洲精品一区二区三区99| 99视频一区| 国产亚洲一区在线播放| 欧美高清在线一区二区| 欧美三级视频在线| 久久一区二区精品| 欧美jjzz| 欧美一区二区三区四区在线观看地址| 狂野欧美激情性xxxx欧美| 嫩草伊人久久精品少妇av杨幂| 国产精品露脸自拍| 久久久亚洲午夜电影| 久久精品99国产精品| 国产免费成人在线视频| 麻豆国产精品一区二区三区| 欧美激情一区二区三区在线视频观看| 欧美大片第1页| 亚洲欧美日韩视频一区| 亚洲视频视频在线| 国产精品国产一区二区| 久久影视三级福利片| 欧美午夜宅男影院| 欧美福利一区二区| 国产精品九九| 亚洲国产清纯| 在线观看国产成人av片| 亚洲一区二区精品| 欧美精品一区二区精品网| 一本色道久久精品| 久久久中精品2020中文| 亚洲欧美精品suv| 欧美高清你懂得| 麻豆91精品91久久久的内涵| 国产精品永久免费在线| 亚洲免费黄色| 国产视频在线一区二区 | 日韩亚洲欧美高清| 国外成人性视频| 欧美 日韩 国产 一区| 国精品一区二区三区| 国产亚洲欧美一区二区| 国产夜色精品一区二区av| 在线观看成人一级片| 亚洲美女黄色片| 亚洲一区二区视频在线| 亚洲欧美一区二区在线观看| 亚洲免费影视| 欧美影院在线播放| 雨宫琴音一区二区在线| 亚洲福利视频专区| 亚洲视屏一区| 久久大综合网| 亚洲精品小视频在线观看| 日韩一区二区高清| 国产精品国产a级| 国产亚洲一区二区精品| 国产在线麻豆精品观看| 亚洲欧美日韩精品久久奇米色影视 | 国产精品观看| 欧美性大战久久久久久久| 亚洲欧美日韩国产综合| 午夜日韩视频| 久久乐国产精品| 欧美国产极速在线| 久久阴道视频| 欧美国产日韩一区二区三区| 久久都是精品| 亚洲第一福利在线观看| 可以看av的网站久久看| 麻豆精品一区二区av白丝在线| 久久亚洲一区二区三区四区| 欧美在线一区二区| 亚洲激情在线播放| 最新亚洲激情| 亚洲欧美日韩国产综合| 欧美一级精品大片| 欧美成人精品在线观看| 快射av在线播放一区| 一本综合精品| 亚洲欧美日本国产有色| 久久精品国产亚洲5555| 欧美成人日本| 午夜电影亚洲| 免费观看欧美在线视频的网站| 亚洲欧美综合v| 欧美—级在线免费片| 亚洲一区二区三区午夜| 欧美天堂亚洲电影院在线播放 |