8其他運(yùn)算
(1)條件運(yùn)算符
條件運(yùn)算是C+ +中唯一的三目運(yùn)算,與其對(duì)應(yīng)的運(yùn)算符?:稱為條件運(yùn)算符。條件運(yùn)算符的使用格式為:
<表達(dá)式1>?<表達(dá)式2>:<表達(dá)式3>
當(dāng)計(jì)算有條件運(yùn)算符構(gòu)成的表達(dá)式時(shí),首先計(jì)算<表達(dá)式1>,若其值非0,則計(jì)算出<表達(dá)式2>的值,并用這個(gè)值作為整個(gè)表達(dá)式的值;若<表達(dá)式1>的值為0,則計(jì)算出<表達(dá)式3>的值,并用這個(gè)值作為整個(gè)表達(dá)式的值。
(2)逗號(hào)運(yùn)算符
C+ +中使用逗號(hào)運(yùn)算符指明對(duì)多個(gè)表達(dá)式進(jìn)行順序求值。逗號(hào)運(yùn)算符的使用格式為:
<表達(dá)式1>,<表達(dá)式2>,……<表達(dá)式n>
其中,每個(gè)逗號(hào)都稱為逗號(hào)運(yùn)算符,整個(gè)式子稱為逗號(hào)表達(dá)式。上述逗號(hào)表達(dá)式的求值步驟為:從左向右依次計(jì)算<表達(dá)式1>、<表達(dá)式2>…<表達(dá)式n>的值;將<表達(dá)式n>(即最右端的表達(dá)式)的值作為整個(gè)逗號(hào)表達(dá)式的值。
(3)sizeof運(yùn)算符
使用運(yùn)算符sizeof可以進(jìn)行字長(zhǎng)提取操作,因此sizeof運(yùn)算符又稱為字長(zhǎng)提取符,它的使用格式為:
sizeof(<運(yùn)算分量>)
其中,sizeof為關(guān)鍵字;<運(yùn)算分量>既可以是一個(gè)類型名,也可以是一個(gè)表達(dá)式,當(dāng)作為<運(yùn)算分量>的表達(dá)式只包含一個(gè)變量名時(shí),圓括號(hào)()可以省略。
字長(zhǎng)提取運(yùn)算的結(jié)果為一個(gè)整數(shù),該整數(shù)表示指定的類型或變量的字節(jié)長(zhǎng)度,即在內(nèi)存中占用的字節(jié)(Byte)數(shù)。
(4)圓括號(hào)運(yùn)算符
C+ +中不僅將圓括號(hào)()歸為運(yùn)算符,而且根據(jù)不同的使用方式,可以對(duì)圓括號(hào)運(yùn)算符的功能作出以下3種不同的解釋:
、賵A括號(hào)用于函數(shù)調(diào)用。其格式為:
<函數(shù)名>(<實(shí)參表>)
、趫A括號(hào)用于強(qiáng)制類型轉(zhuǎn)換。其格式為:
(<類型名>)<表達(dá)式>
、蹐A括號(hào)用于類型構(gòu)造。其格式為:
<類型名>(<表達(dá)式>)
類型構(gòu)造是指使用圓括號(hào)中<表達(dá)式>的值來(lái)構(gòu)造一個(gè)具有目標(biāo)數(shù)據(jù)類型的值,要構(gòu)造的目標(biāo)數(shù)據(jù)類型由<類型名>指定。
、軘(shù)組下標(biāo)運(yùn)算符:[](下標(biāo))。
、葜羔樳\(yùn)算符:*(取地址)和&(值引用)。
、迍(dòng)態(tài)存儲(chǔ)分配運(yùn)算符:new(分配)和delete(釋放)。
、咦饔糜蛳薅ㄟ\(yùn)算符:::(類域或全局域)
9優(yōu)先級(jí)和結(jié)合性
根據(jù)運(yùn)算符的優(yōu)先級(jí)和結(jié)合性,可以將表達(dá)式的計(jì)算順序規(guī)則總結(jié)為以下3條:
(1)優(yōu)先計(jì)算帶有括號(hào)的子表達(dá)式;
(2)在沒(méi)有括號(hào)的部分,依照運(yùn)算符優(yōu)先級(jí),由高到低進(jìn)行計(jì)算;
(3)具有相同優(yōu)先級(jí)的運(yùn)算符,按照結(jié)合性規(guī)定,依次進(jìn)行計(jì)算。
C+ +運(yùn)算符分成17個(gè)優(yōu)先級(jí),優(yōu)先級(jí)數(shù)字越小,表示運(yùn)算符優(yōu)先級(jí)越高。具有同一優(yōu)先級(jí)數(shù)字的運(yùn)算符,優(yōu)先級(jí)相同。單目運(yùn)算符、賦值運(yùn)算符和復(fù)合賦值運(yùn)算符是右結(jié)合的,其余所有運(yùn)算符都是左結(jié)合的。
編輯推薦:
2014年上半年計(jì)算機(jī)等級(jí)考試報(bào)名時(shí)間預(yù)告
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |