【考點(diǎn)三】 選擇結(jié)構(gòu)
1.語(yǔ)句if語(yǔ)句又稱為條件語(yǔ)句,它是程序設(shè)計(jì)語(yǔ)言中最常見(jiàn)的一種選擇語(yǔ)句。(1)基本if語(yǔ)句基本if語(yǔ)句的功能是根據(jù)給定條件是否成立來(lái)決定要不要執(zhí)行一條語(yǔ)句或語(yǔ)句塊,它的語(yǔ)法格式如下:if(<條件>)<語(yǔ)句>
其中,if為關(guān)鍵字;<條件>通常是一個(gè)表達(dá)式且必須用圓括號(hào)包圍起來(lái);<語(yǔ)句>稱為if子句,它可以是任何類型的語(yǔ)句(包括復(fù)合語(yǔ)句和空語(yǔ)句)�;緄f語(yǔ)句的執(zhí)行過(guò)程是:首先計(jì)算<條件>的值,如果此值不為0("真"),則執(zhí)行<語(yǔ)句>;如果此值為0("假"),則忽略<語(yǔ)句>(即不執(zhí)行)而繼續(xù)執(zhí)行if語(yǔ)句之后的下一條語(yǔ)句。說(shuō)明:①C+ +中規(guī)定:如果<條件>是一個(gè)表達(dá)式,則當(dāng)此表達(dá)式的值不為0時(shí),條件結(jié)果為"真";只有當(dāng)此表達(dá)式的值為0時(shí),條件結(jié)果才為"假"。②<條件>也可以是一條聲明語(yǔ)句,其中必須定義一個(gè)變量并對(duì)它進(jìn)行初始化。這時(shí),若此變量的值不為0,則條件結(jié)果為"真";若此變量的值為0,則條件結(jié)果為"假"。(2)if…else語(yǔ)句if…else語(yǔ)句是基本if語(yǔ)句的擴(kuò)展,其功能是根據(jù)給定條件是否成立來(lái)決定執(zhí)行兩部分語(yǔ)句中的哪一部分,其語(yǔ)法格式如下:if(<條件>)<語(yǔ)句1>else<語(yǔ)句2>
其中,if和else為關(guān)鍵字;<語(yǔ)句1>稱為if子句,<語(yǔ)句2>稱為else子句,它們可以是單條語(yǔ)句或復(fù)合語(yǔ)句。if…else語(yǔ)句的執(zhí)行過(guò)程是:首先計(jì)算<條件>的值,如果此值不為0("真"),則執(zhí)行<語(yǔ)句1>,然后忽略<語(yǔ)句2>而去執(zhí)行if語(yǔ)句之后的下一條語(yǔ)句;如果此值為0("假"),則忽略<語(yǔ)句1>,執(zhí)行<語(yǔ)句2>,然后繼續(xù)執(zhí)行if語(yǔ)句之后的下一條語(yǔ)句。(3)if語(yǔ)句的嵌套if子句和else子句可以是任何類型的C+ +語(yǔ)句,當(dāng)然也可以是if…else語(yǔ)句本身。通常將這種情況稱為if語(yǔ)句的嵌套。
2.switchswitch語(yǔ)句又稱為開(kāi)關(guān)語(yǔ)句,它也是一種選擇語(yǔ)句。switch語(yǔ)句的功能是根據(jù)給定表達(dá)式的不同取值來(lái)決定從多個(gè)語(yǔ)句序列中的哪一個(gè)開(kāi)始執(zhí)行,其語(yǔ)法格式如下:switch(<表達(dá)式>){case<常量表達(dá)式1>:<語(yǔ)句序列1>case<常量表達(dá)式2>:<語(yǔ)句序列2>…case<常量表達(dá)式n>:<語(yǔ)句序列n>default:<語(yǔ)句序列n+1>}
其中,switch,case和default為關(guān)鍵字;<表達(dá)式>的值必須屬于整型、字符型或枚舉型。<常量表達(dá)式i>(i=1,2…n)是取值互不相同的整型常量、字符常量或枚舉常量,其具體類型應(yīng)與<表達(dá)式>的值相一致。<語(yǔ)句序列i>(i=1,2…n,n+1)可以是任意多條語(yǔ)句。switch語(yǔ)句的執(zhí)行過(guò)程是:(1)首先計(jì)算出<表達(dá)式>的值,設(shè)此值為E;(2)然后計(jì)算每個(gè)<常量表達(dá)式i>的值,設(shè)它們分別為C1,C2,…,Cn;(3)將E依次與C1,C2,…,Cn進(jìn)行比較。如果E與某個(gè)值相等,則從該值所在的case標(biāo)號(hào)語(yǔ)句開(kāi)始執(zhí)行各個(gè)語(yǔ)句序列,在不出現(xiàn)跳轉(zhuǎn)語(yǔ)句的情況下,將一直執(zhí)行到switch語(yǔ)句結(jié)束。'(4)如果E與所有值都不相等且存在default標(biāo)號(hào),則從default標(biāo)號(hào)語(yǔ)句起開(kāi)始向下執(zhí)行,直到switch語(yǔ)句結(jié)束(同樣,在不出現(xiàn)跳轉(zhuǎn)語(yǔ)句的情況下)。(5)如果E與所有值都不相等且不存在default標(biāo)號(hào),則switch語(yǔ)句不會(huì)執(zhí)行任何操作。說(shuō)明:(1)多個(gè)case標(biāo)號(hào)可以共用一組語(yǔ)句序列,以實(shí)現(xiàn)對(duì)于幾個(gè)常量值都執(zhí)行同一操作。(2)default標(biāo)號(hào)語(yǔ)句是可選的。當(dāng)default不出現(xiàn)時(shí),如果<表達(dá)式>的值與所有<常量表達(dá)式i>(i=1,2…n)的值都不相等,則程序執(zhí)行流程會(huì)跳過(guò)switch語(yǔ)句。(3)switch語(yǔ)句是可以嵌套的。case和default標(biāo)號(hào)只與包含它們的最內(nèi)層的switch組合在一起。(4)當(dāng)需要針對(duì)表達(dá)式的不同取值范圍進(jìn)行不同處理時(shí),使用if…else…if階梯結(jié)構(gòu)比較方便。因?yàn)閟witch語(yǔ)句只能對(duì)相等關(guān)系進(jìn)行測(cè)試,而if語(yǔ)句卻可以用關(guān)系表達(dá)式對(duì)一個(gè)較大范圍內(nèi)的值進(jìn)行測(cè)試。
【考點(diǎn)四】
循環(huán)結(jié)構(gòu)1for語(yǔ)句for語(yǔ)句是C+ +中最常用且功能最強(qiáng)的循環(huán)語(yǔ)句,其語(yǔ)法格式如下:for(<表達(dá)式1>;<表達(dá)式2>;<表達(dá)式3>)<語(yǔ)句>
其中,for為關(guān)鍵字;<表達(dá)式1>是for循環(huán)的初始化部分,它一般用來(lái)設(shè)置循環(huán)控制變量的初始值;<表達(dá)式2>是for循環(huán)的條件部分,它是用來(lái)判定循環(huán)是否繼續(xù)進(jìn)行的條件;<表達(dá)式3>是for循環(huán)的增量部分,它一般用于修改循環(huán)控制變量的值;<語(yǔ)句>稱為for循環(huán)的循環(huán)體,它是要被重復(fù)執(zhí)行的代碼行,for循環(huán)體可以是單條語(yǔ)句,也可以是由花括號(hào)包圍起來(lái)的復(fù)合語(yǔ)句。for語(yǔ)句的執(zhí)行過(guò)程是:(1)計(jì)算<表達(dá)式1>的值;(2)計(jì)算<表達(dá)式2>的值,如果此值不等于0(即循環(huán)條件為"真"),則轉(zhuǎn)向步驟(3);如果此值等于0(即循環(huán)條件為"假"),則轉(zhuǎn)向步驟(5);(3)執(zhí)行一遍循環(huán)體<語(yǔ)句>:(4)計(jì)算<表達(dá)式3>的值,然后轉(zhuǎn)向步驟(2);(5)結(jié)束for循環(huán)。C+ +中for語(yǔ)句的書(shū)寫(xiě)格式非常靈活,這主要表現(xiàn)為:(1)<表達(dá)式1>可以是變量聲明語(yǔ)句,即循環(huán)控制變量可在其中定義。(2)<表達(dá)式1>可以省略。這時(shí),應(yīng)在for語(yǔ)句之前給循環(huán)控制變量賦初始值。注意:省略<表達(dá)式1>時(shí),其后的分號(hào)不能省略。(3)<表達(dá)式2>可以省略。這時(shí),for語(yǔ)句將不再判斷循環(huán)條件,循環(huán)會(huì)無(wú)限次地執(zhí)行下去。這種情況通常稱為"死循環(huán)"。(4)<表達(dá)式3>可以省略。這時(shí),應(yīng)在循環(huán)中對(duì)循環(huán)控制變量進(jìn)行遞增或遞減操作,以確保循環(huán)能夠正常結(jié)束。(5)三個(gè)表達(dá)式可同時(shí)省略。這時(shí),for語(yǔ)句顯然也是一個(gè)"死循環(huán)"。(6)<表達(dá)式1>、<表達(dá)式2>和<表達(dá)式3>都可以是任何類型的C+ +表達(dá)式。
希望與更多計(jì)算機(jī)等級(jí)考試的網(wǎng)友交流,請(qǐng)進(jìn)入計(jì)算機(jī)等級(jí)考試論壇
更多信息請(qǐng)?jiān)L問(wèn):考試吧計(jì)算機(jī)等級(jí)考試欄目