《第3章 程序流程控制》由會(huì)員分享,可在線閱讀,更多相關(guān)《第3章 程序流程控制(40頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),Page,*,點(diǎn)擊此處結(jié)束放映,第,3,章 程序流程控制,程序流程與算法基礎(chǔ),3.1,選擇結(jié)構(gòu)語(yǔ)句,3.2,循環(huán)結(jié)構(gòu)語(yǔ)句,3.3,流程轉(zhuǎn)向語(yǔ)句,3.4,3.1,程序流程與算法基礎(chǔ),3.1.1,程序與算法,1,算法,可以用編寫程序來(lái)指揮計(jì)算機(jī)完成各種任務(wù),對(duì)于一個(gè)具體的任務(wù),應(yīng)該如何編寫出合適的程序來(lái)解決問(wèn)題,這就需要為程序設(shè)計(jì)算法。,算法就是解決某一具體問(wèn)題的方法和步驟。,算法具有以下,5,個(gè)特點(diǎn)。,(,1,)有窮性,(,2,)可行性,(,3,)確定性,(,4,)有零個(gè)或多個(gè)輸入,(,5,)有一個(gè)或多個(gè)輸出,2,算法的
2、實(shí)現(xiàn),3.1.2,算法流程圖,在程序設(shè)計(jì)中,構(gòu)成算法的基本結(jié)構(gòu)有三種:順序、選擇和循環(huán)。,1,流程圖,圖,3-1 3,種基本算法結(jié)構(gòu)流程圖,2,N-S,圖,圖,3-2 3,種基本算法結(jié)構(gòu)的,N-S,圖,3,算法的圖形描述,圖,3-3 M,!算法的流程圖與,N-S,圖,3.1.3,順序結(jié)構(gòu),圖,3-5,順序結(jié)構(gòu),3.2,選擇結(jié)構(gòu)語(yǔ)句,3.2.1,選擇結(jié)構(gòu)概述,3.2.2 if,語(yǔ)句,1,if,語(yǔ)句,圖,3-9 if,語(yǔ)句流程,if,語(yǔ)句的結(jié)構(gòu)如下:,if(,表達(dá)式,),語(yǔ)句,1,;,2,ifelse,語(yǔ)句,圖,3-10 if.else.,語(yǔ)句執(zhí)行流程,ifelse,語(yǔ)句的結(jié)構(gòu)如下:,if(,表達(dá)
3、式,),語(yǔ)句,1,;,else,語(yǔ)句,2,;,3,ifelse if,語(yǔ)句,圖,3-12 if.else if.,語(yǔ)句執(zhí)行流程圖,if.else if.,語(yǔ)句的結(jié)構(gòu)如下:,if(,表達(dá)式,1),語(yǔ)句,1,;,else if(,表達(dá)式,2),語(yǔ)句,2,;,else if(,表達(dá)式,3),語(yǔ)句,3,;,else,語(yǔ)句,n;,4,使用,if,語(yǔ)句時(shí)的注意事項(xiàng),(,1,)在三種形式的,if,語(yǔ)句中,在,if,關(guān)鍵字之后均為表達(dá)式。該表達(dá)式通常是邏輯表達(dá)式或關(guān)系表達(dá)式,但也可以是其他表達(dá)式,如賦值表達(dá)式等,甚至也可以是一個(gè)變量。,(,2,)在,if,語(yǔ)句中,條件判斷表達(dá)式必須用括號(hào)括起來(lái),在語(yǔ)句之后必須
4、加分號(hào)。,(,3,)在,if,語(yǔ)句的三種形式中,所有的語(yǔ)句應(yīng)為單個(gè)語(yǔ)句,如果要想在滿足條件時(shí)執(zhí)行一組(多個(gè))語(yǔ)句,則可以把這一組語(yǔ)句用,括起來(lái)組成一個(gè)復(fù)合語(yǔ)句。但要注意的是在,之后不用再加分號(hào)。,3.2.3 switch,語(yǔ)句,1,switch,語(yǔ)句,switch,語(yǔ)句的格式如下:,switch(,表達(dá)式,),case,常量表達(dá)式,1:,語(yǔ)句,1;,break;,case,常量表達(dá)式,2:,語(yǔ)句,2;,break;,圖,3-13 switch,語(yǔ)句執(zhí)行流程,case,常量表達(dá)式,n:,語(yǔ)句,n;,break;,default:,語(yǔ)句,m;,break;,在使用,switch,語(yǔ)句時(shí)還應(yīng)注意以下
5、幾點(diǎn)。,在,case,后的各常量表達(dá)式的值不能相同,否則會(huì)出現(xiàn)錯(cuò)誤。,在,case,后,允許有多個(gè)語(yǔ)句,可以不用,括起來(lái)。,各,case,和,default,子句的先后順序可以變動(dòng),而不會(huì)影響程序執(zhí)行結(jié)果。,default,子句可以省略不用。,2,switch,語(yǔ)句中的,break,switch,語(yǔ)句有一種比較特殊的用法,就是省略,case,語(yǔ)句塊中的,break,。,如果,break,被省略,則從該,case,語(yǔ)句開(kāi)始,以后的,case,語(yǔ)句將不再進(jìn)行條件檢查,而是直接執(zhí)行,直到,switch,語(yǔ)句結(jié)束或遇到,break,語(yǔ)句。,3.2.4,選擇結(jié)構(gòu)的嵌套,在程序中需要對(duì)多個(gè)條件進(jìn)行判斷,并
6、且這些條件不能在同一條件語(yǔ)句中進(jìn)行判斷,而是有先后順序,即當(dāng)某個(gè)條件滿足后再判斷其他條件時(shí),這時(shí)就要用到選擇結(jié)構(gòu)的嵌套形式。,3.3,循環(huán)結(jié)構(gòu)語(yǔ)句,3.3.1,循環(huán)結(jié)構(gòu)概述,循環(huán)結(jié)構(gòu)可分為當(dāng)型循環(huán)結(jié)構(gòu)與直到型循環(huán)結(jié)構(gòu),前者是先進(jìn)行條件判斷;后者是執(zhí)行一次要重復(fù)執(zhí)行的程序段或語(yǔ)句,再進(jìn)行條件判斷。,圖,3-28,循環(huán)結(jié)構(gòu)流程圖,3.3.2 while,循環(huán)語(yǔ)句,while,循環(huán)是當(dāng)型循環(huán),其形式如下:,while(,表達(dá)式,),循環(huán)體;,圖,3-29 while,循環(huán)流程,3.3.3 dowhile,循環(huán)語(yǔ)句,圖,3-30 do,while,循環(huán)流程,do while,循環(huán)語(yǔ)句的使用格式如下:,
7、do,循環(huán)體;,while,(表達(dá)式),;,3.3.4 for,循環(huán)語(yǔ)句,1,for,語(yǔ)句,for,循環(huán)的表達(dá)形式如下:,for(,表達(dá)式,1;,表達(dá)式,2;,表達(dá)式,3),循環(huán)體,;,圖,3-31 for,循環(huán)的程序流程,2,特殊的,for,循環(huán),(,1,),for,(,;,表達(dá)式,2;,表達(dá)式,3,),(,2,),for,(,;,表達(dá)式,2;,),(,3,),for,(表達(dá)式,a,表達(dá)式,b;,表達(dá)式,2;,表達(dá)式,3,),(,4,),for,(,;,),3.3.5,循環(huán)的嵌套及注意事項(xiàng),通常情況下,可以按下面的原則選擇合適的循環(huán)語(yǔ)句。,(,1,)如果循環(huán)的次數(shù)在循環(huán)體外決定,可選擇,fo
8、r,語(yǔ)句;,(,2,)如果循環(huán)的次數(shù)由循環(huán)體內(nèi)的執(zhí)行情況而決定,可以選用,while,或,dowhile,語(yǔ)句;,(,3,)如果循環(huán)體最少要執(zhí)行一次,應(yīng)該選用,dowhile,語(yǔ)句;,(,4,)如果循環(huán)體可能一次也不執(zhí)行,應(yīng)該選用,while,語(yǔ)句。,3.4,流程轉(zhuǎn)向語(yǔ)句,3.4.1,流程轉(zhuǎn)向語(yǔ)句概述,有些時(shí)候在程序中還會(huì)遇到一些特殊情況,例如:在循環(huán)中途因?yàn)槟撤N原因需要退出循環(huán),在程序中滿足某種條件時(shí)轉(zhuǎn)去執(zhí)行相應(yīng)語(yǔ)句等。這就需要使用中斷或轉(zhuǎn)向語(yǔ)句來(lái)達(dá)到目的。,C,語(yǔ)言提供了能夠?qū)崿F(xiàn)這些要求的語(yǔ)句:,goto,(無(wú)條件轉(zhuǎn)向語(yǔ)句)、,break,(中斷)、,continue,(接續(xù))和,retu
9、rn,(返回)。,3.4.2 break,語(yǔ)句,break,語(yǔ)句在前面學(xué)習(xí),switch,時(shí)已經(jīng)出現(xiàn)過(guò),在程序中可以用它來(lái)從開(kāi)關(guān)語(yǔ)句,switch,中退出,其實(shí),它還可以用來(lái)從程序的循環(huán)語(yǔ)句中跳出。,break,語(yǔ)句的一般形式如下:,break;,while(),if(),break;,3.4.3 continue,語(yǔ)句,continue,稱為接續(xù)語(yǔ)句,它專用于循環(huán)結(jié)構(gòu)中,表示本次循環(huán)結(jié)束,開(kāi)始下一次循環(huán)。,continue,語(yǔ)句的一般形式如下:,continue;,3.4.4,goto,語(yǔ)句,goto,為無(wú)條件轉(zhuǎn)向語(yǔ)句,可以控制程序流程轉(zhuǎn)向到的指定名稱標(biāo)號(hào)的地方。,goto,語(yǔ)句的使用形式如下:,goto,標(biāo)號(hào)名,;,標(biāo)號(hào)名:語(yǔ)句,;,