第3章 流程控制結(jié)構(gòu)_第1頁
第3章 流程控制結(jié)構(gòu)_第2頁
第3章 流程控制結(jié)構(gòu)_第3頁
第3章 流程控制結(jié)構(gòu)_第4頁
第3章 流程控制結(jié)構(gòu)_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第3章

流程控制結(jié)構(gòu)

本章將討論如何給C++程序添加判斷功能,以及如何使程序重復(fù)執(zhí)行一組動(dòng)作,直到特定條件發(fā)生為止,這就是C++程序中的流程序控制語句。流程序控制語句分為條件語句,循環(huán)語句和轉(zhuǎn)移語句。根據(jù)不足的條件使程序執(zhí)行不同的動(dòng)作處理多選情況循環(huán)語句的使用改變程序的執(zhí)行流程

3.1條件語句

條件語句可以根據(jù)所指定的條件是否滿足,決定執(zhí)行程序的哪部分代碼。使用條件語句可以使程序根據(jù)不現(xiàn)的情況,決定采取不同的操作。C++提供了3種條件語句:條件運(yùn)算符if語句swicht語句

3.1.1if語句

if語句可以根據(jù)給定的條件進(jìn)行判斷,以決定執(zhí)行某個(gè)分支程序段。C++語言的if語句有三種基本形式。

1.if(表達(dá)式)語句

2.if(表達(dá)式)語句1else語句2

3.嵌套的if語句

3.1.2條件運(yùn)算符

如果在if語句中,當(dāng)if條件為true和false時(shí),都只執(zhí)行一個(gè)賦值語句給同一個(gè)變量賦值時(shí),就可以用條件運(yùn)算符來處理。使用條件運(yùn)算符可以表示為:max=(a>b)?a:b;其中,“(a>b)?a:b;”是條件表達(dá)式。該語句的執(zhí)行過程是:如a>b條件為真,則條件表達(dá)式的值為a,否則條件表達(dá)式的值為b。條件表達(dá)式要求有3個(gè)操作數(shù),因此也稱為三元運(yùn)算符,它是C++語言中唯一的一個(gè)三元運(yùn)算符。由條件運(yùn)算符通??梢詫懗扇缦滦问剑罕磉_(dá)式1?表達(dá)式2:表達(dá)式3;其求值規(guī)則為:如果表達(dá)式1的值為真,則以表達(dá)式2的值作為條件表達(dá)式的值,否則以表達(dá)式2的值作為整個(gè)條件表達(dá)式的值。

3.1.3switch語句

switch語句是多分支選擇語句,也稱為開關(guān)語句,而if語句是二分支選擇語句。

switch語句的一般形式為:switch(表達(dá)式){

case常量表達(dá)式1:語句1;

case常量表達(dá)式2:語句2;

case常量表達(dá)式n:語句n;

default:語句n+1;

}其執(zhí)行過程為:首先計(jì)算表達(dá)式的值,并逐個(gè)與其后的常量表達(dá)式值相比較,當(dāng)表達(dá)式的值與某個(gè)常量表達(dá)式的值相等時(shí),執(zhí)行其后的語句,如果所有case中的常量表達(dá)式值都沒有與表達(dá)式匹配,就執(zhí)行default后面的語句。

3.2循環(huán)語句

循環(huán)是一種機(jī)制,它允許重復(fù)執(zhí)行同一組語句,直到滿足指定的條件為止。循環(huán)中的語句有時(shí)稱為迭代語句。循環(huán)有兩個(gè)基本元素:循環(huán)體,即循環(huán)要執(zhí)行的語句塊;以及決定何時(shí)停止重復(fù)循環(huán)的循環(huán)條件。在C++中,有3種循環(huán)語句:while循環(huán)語句do-while循環(huán)語句for循環(huán)語句

3.2.1while語句

while循環(huán)使用一個(gè)邏輯表達(dá)式來控制循環(huán)體的執(zhí)行,當(dāng)滿足該條件時(shí)進(jìn)行循環(huán)體,不滿足該條件時(shí)則不再執(zhí)行循環(huán)。其一般形式如下:while(表達(dá)式)

循環(huán)體while語句的特點(diǎn)是:先判斷表達(dá)式,后執(zhí)行循環(huán)體語句。其執(zhí)行流程如右圖所示。

3.2.1while語句

do-while循環(huán)類似于while循環(huán),只要指定的循環(huán)條件為true,循環(huán)就繼續(xù)執(zhí)行。主要區(qū)別是在do-while循環(huán)中,循環(huán)條件是在循環(huán)體執(zhí)行后進(jìn)行檢查,而不是在開始檢查,所以循環(huán)體語句至少要執(zhí)行一次。do-while循環(huán)的一般形式如下:do{

循環(huán)體語句}while(表達(dá)式);do-while循環(huán)的執(zhí)行流程如左圖所示。

3.2.3for語句

在C++中,for語句使用最為靈活,它完全可以取代while語句。它的一般形式為for(表達(dá)式1;表達(dá)式2;表達(dá)式3)

循環(huán)體語句for循環(huán)的執(zhí)行過如下:(1)先求解表達(dá)式1。(2)求解表達(dá)式2,若其值為真(非0),則執(zhí)行for循環(huán)體語句。(3)執(zhí)行for循環(huán)體語句后求解表達(dá)式3。(4)求解表達(dá)式3后重新計(jì)算表達(dá)式2,如果值為假(0),則結(jié)束循環(huán),為真則繼續(xù)執(zhí)行循環(huán)語句。其執(zhí)行過程如左圖所示。

3.2.4嵌套循環(huán)

在實(shí)際的應(yīng)用中,常需要將一個(gè)循環(huán)放在另一個(gè)循環(huán)內(nèi)部,即構(gòu)成嵌套循環(huán)。實(shí)際上,可以在循環(huán)中嵌套多次,直到能解決問題為止。而且,嵌套的循環(huán)可以是任何類型:可以在while循環(huán)中嵌套for循環(huán),再把該while循環(huán)嵌套在do-while循環(huán)中。它們可以以任何方式混合在一起。

3.3跳轉(zhuǎn)結(jié)構(gòu)

在程序中,常常需要因?yàn)槟撤N情況的出現(xiàn),而改變程序中原來的執(zhí)行流程,這就跳轉(zhuǎn)結(jié)構(gòu)。C++實(shí)現(xiàn)跳轉(zhuǎn)功能的語句包括:break語句、continue語句和goto語句。

3.3.1break語句

break語句通常用在循環(huán)語句和switch語句中。當(dāng)break用于switch語句中時(shí),可使程序跳出switch而執(zhí)行switch以后的語句;如果沒有break語句,則可能執(zhí)行switch語句中所有的csae后面的語句。

3.3.2continue語句

continue語句的作用是跳過循環(huán)體中剩余的語句,而強(qiáng)行執(zhí)行下一次循環(huán)。continue語句常與if條件語句一起使用,用來加速循環(huán)。continue語句與break語句的區(qū)別是:continue語句只結(jié)束本次循環(huán),而不是終止整個(gè)循環(huán)的執(zhí)行。

3.3.3goto語句

goto語句能控制程序的執(zhí)行流程從它所在的地方轉(zhuǎn)移到所標(biāo)識(shí)的語句處。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論