华南俳烁实业有限公司

考試首頁(yè) | 考試用書(shū) | 培訓(xùn)課程 | 模擬考場(chǎng) | 考試論壇  
全國(guó)  |             |          |          |          |          |         
  當(dāng)前位置:計(jì)算機(jī)等級(jí) > 二級(jí)考試 > C語(yǔ)言程序設(shè)計(jì) > C語(yǔ)言輔導(dǎo) > 文章內(nèi)容
  

計(jì)算機(jī)二級(jí)C語(yǔ)言考點(diǎn)解析:運(yùn)算符

中華IT學(xué)院   【 】  [ 2017年9月5日 ]

  六、復(fù)合賦值運(yùn)算符

  在賦值運(yùn)算符當(dāng)中,還有一類C/C++獨(dú)有的復(fù)合賦值運(yùn)算符。它們實(shí)際上是一種縮寫形式,使得對(duì)變量的改變更為簡(jiǎn)潔。

  Total=Total+3;

  乍一看這行代碼,似乎有問(wèn)題,這是不可能成立的。其實(shí)還是老樣子,'='是賦值不是等于。它的意思是本身的值加3,然后在賦值給本身。為了簡(jiǎn)化,上面的代碼也可以寫成:

  Total+=3;

  復(fù)合賦值運(yùn)算符有下列這些:

  符號(hào) 功能

  += 加法賦值

  -= 減法賦值

  *= 乘法賦值

  /= 除法賦值

  %= 模運(yùn)算賦值

  <<= 左移賦值

  >>= 右移賦值

  &= 位邏輯與賦值

  |= 位邏輯或賦值

  ^= 位邏輯異或賦值

  上面的十個(gè)復(fù)合賦值運(yùn)算符中,后面五個(gè)我們到以后位運(yùn)算時(shí)再說(shuō)明。

  那么看了上面的復(fù)合賦值運(yùn)算符,有人就會(huì)問(wèn),到底Total=Total+3;與Total+=3;有沒(méi)有區(qū)別?答案是有的,對(duì)于A=A+1,表達(dá)式A被計(jì)算了兩次,對(duì)于復(fù)合運(yùn)算符A+=1,表達(dá)式A僅計(jì)算了一次。一般的來(lái)說(shuō),這種區(qū)別對(duì)于程序的運(yùn)行沒(méi)有多大影響,但是當(dāng)表達(dá)式作為函數(shù)的返回值時(shí),函數(shù)就被調(diào)用了兩次(以后再說(shuō)明),而且如果使用普通的賦值運(yùn)算符,也會(huì)加大程序的開(kāi)銷,使效率降低。

  七、條件運(yùn)算符

  條件運(yùn)算符(?:)是C語(yǔ)言中唯一的一個(gè)三目運(yùn)算符,它是對(duì)第一個(gè)表達(dá)式作真/假檢測(cè),然后根據(jù)結(jié)果返回兩外兩個(gè)表達(dá)式中的一個(gè)。

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

  在運(yùn)算中,首先對(duì)第一個(gè)表達(dá)式進(jìn)行檢驗(yàn),如果為真,則返回表達(dá)式2的值;如果為假,則返回表達(dá)式3的值。

  例如:

  a=(b>0)?b:-b;

  當(dāng)b>0時(shí),a=b;當(dāng)b不大于0時(shí),a=-b;這就是條件表達(dá)式。其實(shí)上面的意思就是把b的絕對(duì)值賦值給a。

  八、逗號(hào)運(yùn)算符

  在C語(yǔ)言中,多個(gè)表達(dá)式可以用逗號(hào)分開(kāi),其中用逗號(hào)分開(kāi)的表達(dá)式的值分別結(jié)算,但整個(gè)表達(dá)式的值是最后一個(gè)表達(dá)式的值。

  假設(shè)b=2,c=7,d=5,

  a1=(++b,c--,d+3);

  a2=++b,c--,d+3;

  對(duì)于第一行代碼,有三個(gè)表達(dá)式,用逗號(hào)分開(kāi),所以最終的值應(yīng)該是最后一個(gè)表達(dá)式的值,也就是d+3,為8,所以a=8。對(duì)于第二行代碼,那么也是有三個(gè)表達(dá)式,這時(shí)的三個(gè)表達(dá)式為a2=++b、c--、d+3,(這是因?yàn)橘x值運(yùn)算符比逗號(hào)運(yùn)算符優(yōu)先級(jí)高)所以最終表達(dá)式的值雖然也為8,但a2=3。

  還有其他的如位邏輯運(yùn)算符,位移運(yùn)算符等等,我們等到講位運(yùn)算時(shí)再說(shuō)明。

  九、優(yōu)先級(jí)和結(jié)合性

  從上面的逗號(hào)運(yùn)算符那個(gè)例子可以看出,這些運(yùn)算符計(jì)算時(shí)都有一定的順序,就好象先要算乘除后算加減一樣。優(yōu)先級(jí)和結(jié)合性是運(yùn)算符兩個(gè)重要的特性,結(jié)合性又稱為計(jì)算順序,它決定組成表達(dá)式的各個(gè)部分是否參與計(jì)算以及什么時(shí)候計(jì)算。

  下面是C語(yǔ)言中所使用的運(yùn)算符的優(yōu)先級(jí)和結(jié)合性:

  優(yōu)先級(jí) 運(yùn)算符 結(jié)合性

  (最高) () [] -> . 自左向右

  ! ~ ++ -- + - * & sizeof 自右向左

  * / % 自左向右

  + - 自左向右

  << >> 自左向右

  < <= > >= 自左向右

  == != 自左向右

  & 自左向右

  ^ 自左向右

  | 自左向右

  && 自左向右

  || 自左向右

  ?: 自右向左

  = += -= *= /= %= &= ^= |= <<= >>= 自右向左

  (最低) , 自左向右

  在該表中,還有一些運(yùn)算符我們沒(méi)有介紹,如指針運(yùn)算符、sizeof運(yùn)算符、數(shù)組運(yùn)算符[]等等,這些在以后的學(xué)習(xí)中會(huì)陸續(xù)說(shuō)明的。

首頁(yè) 1 2 尾頁(yè)
分享到:
本文糾錯(cuò)】【告訴好友】【打印此文】【返回頂部
將考試網(wǎng)添加到收藏夾 | 每次上網(wǎng)自動(dòng)訪問(wèn)考試網(wǎng) | 復(fù)制本頁(yè)地址,傳給QQ/MSN上的好友 | 申請(qǐng)鏈接 | 意見(jiàn)留言 TOP
關(guān)于本站  網(wǎng)站聲明  廣告服務(wù)  聯(lián)系方式  站內(nèi)導(dǎo)航  考試論壇
Copyright © 2006-2017 中華考試網(wǎng)(Examw.com) All Rights Reserved  營(yíng)業(yè)執(zhí)照
行唐县| 罗城| 吉木乃县| 铅山县| 南雄市| 高陵县| 奇台县| 西藏| 民勤县| 酉阳| 年辖:市辖区| 葵青区| 屏东县| 岑巩县| 莱芜市| 平安县| 芦溪县| 鄂尔多斯市| 泽库县| 平江县| 杭锦旗| 金阳县| 厦门市| 延边| 长子县| 田阳县| 华亭县| 无为县| 上虞市| 青海省| 城口县| 沐川县| 济源市| 铜山县| 灵山县| 若尔盖县| 永州市| 酒泉市| 临安市| 石门县| 喀什市|