![結(jié)構(gòu)化程序設(shè)計(jì)基礎(chǔ)和C語(yǔ)言的控制結(jié)構(gòu)課件_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/28/e7e069b0-143d-4dbc-8c6f-64900b9cd3ac/e7e069b0-143d-4dbc-8c6f-64900b9cd3ac1.gif)
![結(jié)構(gòu)化程序設(shè)計(jì)基礎(chǔ)和C語(yǔ)言的控制結(jié)構(gòu)課件_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/28/e7e069b0-143d-4dbc-8c6f-64900b9cd3ac/e7e069b0-143d-4dbc-8c6f-64900b9cd3ac2.gif)
![結(jié)構(gòu)化程序設(shè)計(jì)基礎(chǔ)和C語(yǔ)言的控制結(jié)構(gòu)課件_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/28/e7e069b0-143d-4dbc-8c6f-64900b9cd3ac/e7e069b0-143d-4dbc-8c6f-64900b9cd3ac3.gif)
![結(jié)構(gòu)化程序設(shè)計(jì)基礎(chǔ)和C語(yǔ)言的控制結(jié)構(gòu)課件_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/28/e7e069b0-143d-4dbc-8c6f-64900b9cd3ac/e7e069b0-143d-4dbc-8c6f-64900b9cd3ac4.gif)
![結(jié)構(gòu)化程序設(shè)計(jì)基礎(chǔ)和C語(yǔ)言的控制結(jié)構(gòu)課件_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/28/e7e069b0-143d-4dbc-8c6f-64900b9cd3ac/e7e069b0-143d-4dbc-8c6f-64900b9cd3ac5.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、結(jié)構(gòu)化程序設(shè)計(jì)基礎(chǔ)和C語(yǔ)言的控制結(jié)構(gòu)結(jié)構(gòu)化程序的優(yōu)點(diǎn):結(jié)構(gòu)化程序的優(yōu)點(diǎn): 具有結(jié)構(gòu)清晰、可讀性好、易于修改。具有結(jié)構(gòu)清晰、可讀性好、易于修改。 對(duì)于分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)都涉及到兩個(gè)方面對(duì)于分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)都涉及到兩個(gè)方面的基本問(wèn)題:的基本問(wèn)題:1 1)如何表示控制結(jié)構(gòu)中的條件;)如何表示控制結(jié)構(gòu)中的條件;2 2)對(duì)于控制結(jié)構(gòu)中的條件如何判斷成立與否;)對(duì)于控制結(jié)構(gòu)中的條件如何判斷成立與否; 程序設(shè)計(jì)語(yǔ)言中,用程序設(shè)計(jì)語(yǔ)言中,用關(guān)系運(yùn)算關(guān)系運(yùn)算和和邏輯運(yùn)算邏輯運(yùn)算來(lái)實(shí)現(xiàn)對(duì)程序控制結(jié)構(gòu)中條件的描述和處理。來(lái)實(shí)現(xiàn)對(duì)程序控制結(jié)構(gòu)中條件的描述和處理。 高優(yōu)先級(jí)高優(yōu)先級(jí) 例例2-1 2-1 關(guān)系運(yùn)算示例。
2、關(guān)系運(yùn)算示例。在在C C程序設(shè)計(jì)語(yǔ)言中沒(méi)有邏輯數(shù)據(jù)類(lèi)型,所以在進(jìn)行程序設(shè)計(jì)語(yǔ)言中沒(méi)有邏輯數(shù)據(jù)類(lèi)型,所以在進(jìn)行關(guān)系運(yùn)算時(shí)關(guān)系運(yùn)算時(shí): :用數(shù)值用數(shù)值“1”1”表示邏輯概念上的表示邏輯概念上的“真真”,用數(shù)值用數(shù)值“0”0”表示邏輯概念上表示邏輯概念上的的“假假”; ;例如:例如:5=55=5/ /* *結(jié)果為結(jié)果為1 1* */ / 10=10 10=10/ /* *結(jié)果為結(jié)果為1 1* */ / 5 5!=5=5/ /* *結(jié)果為結(jié)果為0 0* */ / 53 53/ /* *結(jié)果為結(jié)果為1 1* */ / 35 35/ /* *結(jié)果為結(jié)果為0 0* */ / 該程序運(yùn)行執(zhí)行語(yǔ)句該程序運(yùn)行執(zhí)行
3、語(yǔ)句c=5-1=a+2=a+2=a+2=a+2=和和=結(jié)合,即先計(jì)算表達(dá)式結(jié)合,即先計(jì)算表達(dá)式5-5-1=a+21=a+2得到結(jié)果得到結(jié)果0 0,然后計(jì)算表達(dá)式,然后計(jì)算表達(dá)式0=b-210c 且 a+cb 且 b+ca)。計(jì)算三角形的面積的公式為: 上面程序中,上面程序中,ifif結(jié)構(gòu)的語(yǔ)句部分是復(fù)合語(yǔ)句:結(jié)構(gòu)的語(yǔ)句部分是復(fù)合語(yǔ)句: s=(a+b+c)/2; s=(a+b+c)/2; area=sqrt(s area=sqrt(s* *(s-a)(s-a)* *(s-b)(s-b)* *(s-c);(s-c); printf(%fn,area); printf(%fn,area); 在在C
4、C程序的設(shè)計(jì)過(guò)程中,需要使用復(fù)合語(yǔ)句的地方必須使用復(fù)合語(yǔ)程序的設(shè)計(jì)過(guò)程中,需要使用復(fù)合語(yǔ)句的地方必須使用復(fù)合語(yǔ)句的形式,否則程序在語(yǔ)法上可能檢查不出任何錯(cuò)誤,但程序運(yùn)行的結(jié)句的形式,否則程序在語(yǔ)法上可能檢查不出任何錯(cuò)誤,但程序運(yùn)行的結(jié)果與程序設(shè)計(jì)者的期望會(huì)相去甚遠(yuǎn)。例如,如果將例果與程序設(shè)計(jì)者的期望會(huì)相去甚遠(yuǎn)。例如,如果將例2.52.5相關(guān)程序段描相關(guān)程序段描述為如下形式:述為如下形式:if(a+bc & a+cb & b+ca)/if(a+bc & a+cb & b+ca)/* *滿(mǎn)足三角形條件時(shí)求其面積滿(mǎn)足三角形條件時(shí)求其面積* */ /s=(a+b+c)/
5、2;s=(a+b+c)/2;area=sqrt(sarea=sqrt(s* *(s-a)(s-a)* *(s-b)(s-b)* *(s-c);(s-c);printf(%fn,area);printf(%fn,area); n雙分支結(jié)構(gòu)的形式:雙分支結(jié)構(gòu)的形式:if(expression) sentence1;else sentence2;2.2.3 if_else2.2.3 if_else語(yǔ)句與程序的雙分支結(jié)構(gòu)語(yǔ)句與程序的雙分支結(jié)構(gòu)注意注意: 作為條件的表達(dá)式可以是任何可以求出作為條件的表達(dá)式可以是任何可以求出0 0值或非值或非0 0值的表達(dá)式。值的表達(dá)式。 if if結(jié)構(gòu)或結(jié)構(gòu)或elsee
6、lse結(jié)構(gòu)后語(yǔ)句部分都可以是結(jié)構(gòu)后語(yǔ)句部分都可以是C C語(yǔ)言的任何合法語(yǔ)句。語(yǔ)言的任何合法語(yǔ)句。exps1s2yn例例2-6 2-6 求任意輸入的求任意輸入的3 3個(gè)整個(gè)整數(shù)中的最大數(shù)。數(shù)中的最大數(shù)。 2.2.4 2.2.4 條件運(yùn)算符與條件表達(dá)式條件運(yùn)算符與條件表達(dá)式 C C語(yǔ)言中,若語(yǔ)言中,若ifelseifelse語(yǔ)句結(jié)構(gòu)中的語(yǔ)句部分滿(mǎn)足語(yǔ)句結(jié)構(gòu)中的語(yǔ)句部分滿(mǎn)足下列兩個(gè)條件:下列兩個(gè)條件:無(wú)論表示條件的表達(dá)式取何值(真或假),語(yǔ)句部分無(wú)論表示條件的表達(dá)式取何值(真或假),語(yǔ)句部分都是一句簡(jiǎn)單的賦值語(yǔ)句。都是一句簡(jiǎn)單的賦值語(yǔ)句。兩條賦值語(yǔ)句都是為同一個(gè)變量賦值。兩條賦值語(yǔ)句都是為同一個(gè)變量
7、賦值。 則,可以使用則,可以使用C C語(yǔ)言中提供的條件運(yùn)算符代替這種語(yǔ)言中提供的條件運(yùn)算符代替這種ifelseifelse結(jié)構(gòu)。結(jié)構(gòu)。 條件運(yùn)算符是條件運(yùn)算符是C C語(yǔ)言中惟一的一個(gè)三元運(yùn)算符,使用條語(yǔ)言中惟一的一個(gè)三元運(yùn)算符,使用條件運(yùn)算符構(gòu)成的表達(dá)式稱(chēng)為條件表達(dá)式。件運(yùn)算符構(gòu)成的表達(dá)式稱(chēng)為條件表達(dá)式。exp1 ? exp2 : exp3exp1 ? exp2 : exp31) 條件表達(dá)式一般形式如下:條件表達(dá)式一般形式如下:2) 條件表達(dá)式的執(zhí)行過(guò)程條件表達(dá)式的執(zhí)行過(guò)程 : 首先計(jì)算表達(dá)式首先計(jì)算表達(dá)式exp1exp1的值,若的值,若exp1exp1的值為非的值為非0 0(真),則(真),
8、則計(jì)算出表達(dá)式計(jì)算出表達(dá)式exp2exp2的值作為整個(gè)條件表達(dá)式的值;若的值作為整個(gè)條件表達(dá)式的值;若exp1exp1的的值為值為0 0(假),則計(jì)算出表達(dá)式(假),則計(jì)算出表達(dá)式exp3exp3的值作為整個(gè)條件表達(dá)式的值作為整個(gè)條件表達(dá)式的值。的值。 條件運(yùn)算符的優(yōu)先級(jí)別高于賦值運(yùn)算符,但條件運(yùn)算符的優(yōu)先級(jí)別高于賦值運(yùn)算符,但低于關(guān)系運(yùn)算符和算術(shù)運(yùn)算符。低于關(guān)系運(yùn)算符和算術(shù)運(yùn)算符。 條件運(yùn)算符的結(jié)合方向?yàn)橛医Y(jié)合性,例如有條件運(yùn)算符的結(jié)合方向?yàn)橛医Y(jié)合性,例如有如下形式的條件表達(dá)式:如下形式的條件表達(dá)式: ab?a:cd?c:dab?a:cd?c:d可以看出,在數(shù)據(jù)對(duì)象可以看出,在數(shù)據(jù)對(duì)象cdc
9、d(關(guān)系表達(dá)式)的兩邊具(關(guān)系表達(dá)式)的兩邊具有同級(jí)的條件運(yùn)算符(有同級(jí)的條件運(yùn)算符(?:?:),由于條件運(yùn)算符的結(jié)),由于條件運(yùn)算符的結(jié)合性為右結(jié)合,數(shù)據(jù)對(duì)象合性為右結(jié)合,數(shù)據(jù)對(duì)象cdcd先與其右邊的的條件運(yùn)先與其右邊的的條件運(yùn)算符結(jié)合,即先計(jì)算算符結(jié)合,即先計(jì)算cd?c:dcd?c:d,所以整個(gè)條件表達(dá)式,所以整個(gè)條件表達(dá)式的計(jì)算過(guò)程與表達(dá)式的計(jì)算過(guò)程與表達(dá)式ab?a:(cd?c:d)ab?a:(cd?c:d)的計(jì)算過(guò)程相的計(jì)算過(guò)程相同。同。 例例2-7 2-7 從鍵盤(pán)上輸入一個(gè)英文字母,若其是大寫(xiě)字母則轉(zhuǎn)從鍵盤(pán)上輸入一個(gè)英文字母,若其是大寫(xiě)字母則轉(zhuǎn)換為小寫(xiě)字母輸出;否則轉(zhuǎn)換為大寫(xiě)字母輸出
10、。換為小寫(xiě)字母輸出;否則轉(zhuǎn)換為大寫(xiě)字母輸出。 在上面程序中,表達(dá)式在上面程序中,表達(dá)式ch=A&ch=A&ch=A&ch=A&ch=A&ch=Z?ch+32:ch-32; 2.2.5 if2.2.5 if語(yǔ)句的嵌套與程序的多分支結(jié)構(gòu)語(yǔ)句的嵌套與程序的多分支結(jié)構(gòu) if if結(jié)構(gòu)或者結(jié)構(gòu)或者elseelse結(jié)構(gòu)的語(yǔ)句部分又是一個(gè)另外一個(gè)結(jié)構(gòu)的語(yǔ)句部分又是一個(gè)另外一個(gè)ifif結(jié)構(gòu),稱(chēng)為結(jié)構(gòu),稱(chēng)為ifif語(yǔ)句的嵌套。語(yǔ)句的嵌套。 在在C C程序設(shè)計(jì)中,程序設(shè)計(jì)中,ifif語(yǔ)句的嵌套結(jié)構(gòu)用于解決在若干語(yǔ)句的嵌套結(jié)構(gòu)用于解決在若干種相關(guān)情況中選擇一種進(jìn)行處理的問(wèn)題。
11、種相關(guān)情況中選擇一種進(jìn)行處理的問(wèn)題。 例如,在一個(gè)二分例如,在一個(gè)二分支支ifif語(yǔ)句的兩個(gè)語(yǔ)語(yǔ)句的兩個(gè)語(yǔ)句部分分別嵌入了句部分分別嵌入了一個(gè)二分支一個(gè)二分支ifif語(yǔ)句語(yǔ)句的形式為:的形式為: if(exp1) if(exp2)sentence1; elsesentence2;else if(exp3)sentence3; elsesentence4;例例2-8 2-8 公司按照公司按照銷(xiāo)售人員收到的銷(xiāo)售人員收到的訂單金額數(shù)量評(píng)訂單金額數(shù)量評(píng)定等級(jí),訂單總定等級(jí),訂單總金額超過(guò)一萬(wàn)的金額超過(guò)一萬(wàn)的為為A A等,等,5000999950009999為為B B等,等,25004999250049
12、99為為C C等,等,25002500以下為以下為D D等。等。編制程序?qū)斎刖幹瞥绦驅(qū)斎氲挠唵慰偨痤~數(shù)的訂單總金額數(shù)判定等級(jí)。判定等級(jí)。 當(dāng)被嵌套的當(dāng)被嵌套的ifif結(jié)構(gòu)均被嵌套在結(jié)構(gòu)均被嵌套在elseelse的語(yǔ)句部分的語(yǔ)句部分時(shí),形成了一種稱(chēng)為時(shí),形成了一種稱(chēng)為else_ifelse_if的多分支選擇結(jié)構(gòu),這的多分支選擇結(jié)構(gòu),這是是if_elseif_else多重嵌套的變形。其一般形式為:多重嵌套的變形。其一般形式為: if(exp1) sentence1;else if(exp2)sentence2;else if(exp3)sentence3;else if(expN)senten
13、ceN;else sentenceN+1;注意:注意: 在這種特殊的在這種特殊的elseifelseif結(jié)構(gòu)中,表示條件的表達(dá)式結(jié)構(gòu)中,表示條件的表達(dá)式是相互排斥的,執(zhí)行該結(jié)構(gòu)時(shí)控制流程從是相互排斥的,執(zhí)行該結(jié)構(gòu)時(shí)控制流程從exp1exp1開(kāi)始判斷,開(kāi)始判斷,一旦有一個(gè)表達(dá)式的值為非一旦有一個(gè)表達(dá)式的值為非0 0(真)時(shí),就執(zhí)行與之匹(真)時(shí),就執(zhí)行與之匹配的語(yǔ)句,然后退出整個(gè)選擇結(jié)構(gòu);如果所有表示條件配的語(yǔ)句,然后退出整個(gè)選擇結(jié)構(gòu);如果所有表示條件的表達(dá)式值均為的表達(dá)式值均為0 0(假),則在執(zhí)行語(yǔ)句(假),則在執(zhí)行語(yǔ)句sentenceN+1sentenceN+1后后退出整個(gè)選擇結(jié)構(gòu);如果當(dāng)
14、所有的條件均為假時(shí)不需要退出整個(gè)選擇結(jié)構(gòu);如果當(dāng)所有的條件均為假時(shí)不需要進(jìn)行任何操作,則最后的一個(gè)進(jìn)行任何操作,則最后的一個(gè)elseelse和語(yǔ)句和語(yǔ)句sentenceN+1sentenceN+1可以缺省。嵌套的可以缺省。嵌套的elseifelseif結(jié)構(gòu)執(zhí)行流程如圖結(jié)構(gòu)執(zhí)行流程如圖2.62.6所示。所示。 例例2-9 2-9 編寫(xiě)程序求如下所示多分支方程的解。編寫(xiě)程序求如下所示多分支方程的解。 在程序中,變量在程序中,變量x x的取值區(qū)間為:(的取值區(qū)間為:(DBL_MINDBL_MIN,1 1)、)、11,1010)、)、1010,DBL_MAXDBL_MAX),其中),其中DBL_MIN
15、DBL_MIN和和DBL_MAXDBL_MAX分別表示雙精度實(shí)型數(shù)據(jù)所能取得的最小值分別表示雙精度實(shí)型數(shù)據(jù)所能取得的最小值和最大值。和最大值。 在包含了在包含了ifif語(yǔ)句嵌套結(jié)構(gòu)的程序中,語(yǔ)句嵌套結(jié)構(gòu)的程序中,elseelse子句與子句與ifif的的配對(duì)原則是非常重要的,按不同的方法配對(duì)則得到不同的配對(duì)原則是非常重要的,按不同的方法配對(duì)則得到不同的程序結(jié)構(gòu)。程序結(jié)構(gòu)。C C語(yǔ)言中規(guī)定:程序中的語(yǔ)言中規(guī)定:程序中的elseelse子句與在它前面距子句與在它前面距它最近的且尚未匹配的它最近的且尚未匹配的ifif配對(duì)。無(wú)論將程序書(shū)寫(xiě)為何種形配對(duì)。無(wú)論將程序書(shū)寫(xiě)為何種形式,系統(tǒng)總是按照上面的規(guī)定來(lái)解
16、釋程序的結(jié)構(gòu)。式,系統(tǒng)總是按照上面的規(guī)定來(lái)解釋程序的結(jié)構(gòu)。 請(qǐng)看如下兩個(gè)用于比較的程序段:請(qǐng)看如下兩個(gè)用于比較的程序段: 例例2.102.10和例和例2.112.11描述了兩種情況下程序的執(zhí)行情況。其中:描述了兩種情況下程序的執(zhí)行情況。其中:例例2.102.10程序執(zhí)行的結(jié)果為:程序執(zhí)行的結(jié)果為:a=-1,b=10a=-1,b=10,例例2.112.11程序執(zhí)行的結(jié)果為:程序執(zhí)行的結(jié)果為:a=-1,b=11a=-1,b=11。例例2-10 else2-10 else與與ifif配對(duì)原則示例。配對(duì)原則示例。例例2-11 else2-11 else與與ifif配對(duì)原則示例(使用復(fù)合語(yǔ)句改變程序結(jié)構(gòu)
17、)配對(duì)原則示例(使用復(fù)合語(yǔ)句改變程序結(jié)構(gòu)) 2.2.6 switch2.2.6 switch語(yǔ)句與程序的多分支結(jié)構(gòu)語(yǔ)句與程序的多分支結(jié)構(gòu) C C語(yǔ)言中可以使用語(yǔ)言中可以使用switchswitch語(yǔ)句結(jié)構(gòu)實(shí)現(xiàn)對(duì)多分支選擇結(jié)語(yǔ)句結(jié)構(gòu)實(shí)現(xiàn)對(duì)多分支選擇結(jié)構(gòu)情況的直接處理。構(gòu)情況的直接處理。1 1)switchswitch語(yǔ)句結(jié)構(gòu)的一般形式如下:語(yǔ)句結(jié)構(gòu)的一般形式如下: switch(expession)case constand1:sentences1; break;case constand2:sentences2;break;case constandN:sentencesN;break;def
18、ault:sentencesN+12 2)執(zhí)行過(guò)程:)執(zhí)行過(guò)程:首先,首先,對(duì)作為條件的表達(dá)式(對(duì)作為條件的表達(dá)式(expressionexpression)求值;)求值; 然后,然后,在語(yǔ)句結(jié)構(gòu)的花括號(hào)內(nèi)在語(yǔ)句結(jié)構(gòu)的花括號(hào)內(nèi)從上至下從上至下查找所有的查找所有的casecase分支,分支,當(dāng)找到與條件表達(dá)式值相匹配的當(dāng)找到與條件表達(dá)式值相匹配的casecase時(shí),將其作為控制流程時(shí),將其作為控制流程執(zhí)行的入口,并執(zhí)行的入口,并從此處開(kāi)始執(zhí)行相應(yīng)的語(yǔ)句段,直到遇到從此處開(kāi)始執(zhí)行相應(yīng)的語(yǔ)句段,直到遇到breakbreak語(yǔ)句或者是語(yǔ)句或者是switchswitch語(yǔ)句結(jié)構(gòu)的右花括號(hào)語(yǔ)句結(jié)構(gòu)的右花括
19、號(hào)“”為止。為止。 switch(number) case 1: statement1; case 2: statement2; case 3: statement3; default: statement4;statement5;?2作為條件的表達(dá)式作為條件的表達(dá)式expressionexpression的值必須是有序型的,即只的值必須是有序型的,即只能是能是整型、字符型、枚舉型整型、字符型、枚舉型三者之一。三者之一。語(yǔ)句段語(yǔ)句段sentencessentences可以是單條語(yǔ)句,也可以是多條語(yǔ)句,但可以是單條語(yǔ)句,也可以是多條語(yǔ)句,但這多條語(yǔ)句并不是復(fù)合語(yǔ)句,不需要使用花括號(hào)這多條語(yǔ)句并不
20、是復(fù)合語(yǔ)句,不需要使用花括號(hào) 。語(yǔ)句段語(yǔ)句段sentencessentences中的語(yǔ)句可以使任意合法的中的語(yǔ)句可以使任意合法的C C語(yǔ)句。語(yǔ)句。結(jié)構(gòu)中的常數(shù)值應(yīng)與表示條件的表達(dá)式值對(duì)應(yīng)一致,且各結(jié)構(gòu)中的常數(shù)值應(yīng)與表示條件的表達(dá)式值對(duì)應(yīng)一致,且各常數(shù)的值不能相同。常數(shù)的值不能相同。結(jié)構(gòu)中的結(jié)構(gòu)中的breakbreak語(yǔ)句和語(yǔ)句和defaultdefault可選項(xiàng)可選項(xiàng)可根據(jù)需要確定是否可根據(jù)需要確定是否選用。選用。 3 3)使用使用switchswitch語(yǔ)句結(jié)構(gòu)時(shí)應(yīng)注意的問(wèn)題:語(yǔ)句結(jié)構(gòu)時(shí)應(yīng)注意的問(wèn)題:例例2-12 2-12 從鍵盤(pán)上輸入一個(gè)字符,判斷它是數(shù)字、空格還是其它鍵;若從鍵盤(pán)上輸入一
21、個(gè)字符,判斷它是數(shù)字、空格還是其它鍵;若是數(shù)字,還要求顯示出是哪一個(gè)數(shù)字。是數(shù)字,還要求顯示出是哪一個(gè)數(shù)字。 在語(yǔ)句段中包含了在語(yǔ)句段中包含了switchswitch語(yǔ)句,稱(chēng)為語(yǔ)句,稱(chēng)為switchswitch語(yǔ)句的嵌套。對(duì)于內(nèi)嵌的語(yǔ)句的嵌套。對(duì)于內(nèi)嵌的switchswitch結(jié)構(gòu)處理方法與單層結(jié)構(gòu)處理方法與單層switchswitch結(jié)構(gòu)處理方法相同,需要注意的是:當(dāng)結(jié)構(gòu)處理方法相同,需要注意的是:當(dāng)從內(nèi)嵌的從內(nèi)嵌的switchswitch結(jié)構(gòu)中退出(執(zhí)行中遇到了內(nèi)嵌結(jié)構(gòu)中退出(執(zhí)行中遇到了內(nèi)嵌swithcswithc結(jié)構(gòu)中的結(jié)構(gòu)中的breakbreak語(yǔ)語(yǔ)句或執(zhí)行到了內(nèi)嵌句或執(zhí)行到了內(nèi)嵌s
22、witchswitch語(yǔ)句體的右邊花括號(hào))時(shí)語(yǔ)句體的右邊花括號(hào))時(shí), ,只是退出內(nèi)嵌的只是退出內(nèi)嵌的switchswitch結(jié)構(gòu),而不是退出整個(gè)結(jié)構(gòu),而不是退出整個(gè)switchswitch結(jié)構(gòu),例結(jié)構(gòu),例2.132.13程序展示了這種情況程序展示了這種情況。 例例2-13 swithc2-13 swithc結(jié)構(gòu)的嵌套示例。結(jié)構(gòu)的嵌套示例。 多分支結(jié)構(gòu)程序設(shè)計(jì)中:多分支結(jié)構(gòu)程序設(shè)計(jì)中:ifif語(yǔ)句結(jié)構(gòu)的嵌套可以解決任何條件下的多分支問(wèn)題;語(yǔ)句結(jié)構(gòu)的嵌套可以解決任何條件下的多分支問(wèn)題;對(duì)于對(duì)于switchswitch語(yǔ)句結(jié)構(gòu),則要求條件是在某個(gè)范圍內(nèi)的一些語(yǔ)句結(jié)構(gòu),則要求條件是在某個(gè)范圍內(nèi)的一些離
23、散的等值點(diǎn)離散的等值點(diǎn)(描述為:與什么相匹配(描述為:與什么相匹配, ,就做什么)就做什么)。 在實(shí)際的程序設(shè)計(jì)過(guò)程中,可以使用在實(shí)際的程序設(shè)計(jì)過(guò)程中,可以使用switchswitch語(yǔ)句結(jié)構(gòu)解語(yǔ)句結(jié)構(gòu)解決的問(wèn)題,一定也可以用決的問(wèn)題,一定也可以用ifif語(yǔ)句結(jié)構(gòu)的嵌套來(lái)解決;但語(yǔ)句結(jié)構(gòu)的嵌套來(lái)解決;但用用ifif語(yǔ)句結(jié)構(gòu)的嵌套可以解決得問(wèn)題,使用語(yǔ)句結(jié)構(gòu)的嵌套可以解決得問(wèn)題,使用switchswitch語(yǔ)句語(yǔ)句結(jié)構(gòu)就不一定能夠解決。結(jié)構(gòu)就不一定能夠解決。 2.3 2.3 循環(huán)程序結(jié)構(gòu)循環(huán)程序結(jié)構(gòu) 在實(shí)際問(wèn)題中經(jīng)常會(huì)遇到許多在實(shí)際問(wèn)題中經(jīng)常會(huì)遇到許多具有規(guī)律性的重復(fù)計(jì)算處具有規(guī)律性的重復(fù)計(jì)算處
24、理理問(wèn)題,在處理此類(lèi)問(wèn)題的程序中就需要將某些語(yǔ)句或語(yǔ)句問(wèn)題,在處理此類(lèi)問(wèn)題的程序中就需要將某些語(yǔ)句或語(yǔ)句組重復(fù)執(zhí)行多次。程序設(shè)計(jì)中,一組被重復(fù)執(zhí)行的語(yǔ)句稱(chēng)之組重復(fù)執(zhí)行多次。程序設(shè)計(jì)中,一組被重復(fù)執(zhí)行的語(yǔ)句稱(chēng)之為為循環(huán)體循環(huán)體,每一次執(zhí)行完循環(huán)體后都必須根據(jù)某種條件的判,每一次執(zhí)行完循環(huán)體后都必須根據(jù)某種條件的判斷決定是繼續(xù)循環(huán),還是停止循環(huán);決定所依據(jù)的條件稱(chēng)之?dāng)鄾Q定是繼續(xù)循環(huán),還是停止循環(huán);決定所依據(jù)的條件稱(chēng)之為為循環(huán)條件循環(huán)條件。這種由重復(fù)執(zhí)行的語(yǔ)句或語(yǔ)句組,以及循環(huán)條。這種由重復(fù)執(zhí)行的語(yǔ)句或語(yǔ)句組,以及循環(huán)條件的判斷所構(gòu)成的程序結(jié)構(gòu)就稱(chēng)為件的判斷所構(gòu)成的程序結(jié)構(gòu)就稱(chēng)為循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)。
25、循環(huán)結(jié)構(gòu)是結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu)之一,是構(gòu)循環(huán)結(jié)構(gòu)是結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu)之一,是構(gòu)成各種復(fù)雜程序的基本構(gòu)造單元。成各種復(fù)雜程序的基本構(gòu)造單元。 在在C C語(yǔ)言中提供了三種用以實(shí)現(xiàn)程序循環(huán)結(jié)構(gòu)的語(yǔ)句,語(yǔ)言中提供了三種用以實(shí)現(xiàn)程序循環(huán)結(jié)構(gòu)的語(yǔ)句,它們是:它們是:whilewhile語(yǔ)句、語(yǔ)句、do_whiledo_while語(yǔ)句和語(yǔ)句和forfor語(yǔ)句語(yǔ)句。 2.3.1 while2.3.1 while型循環(huán)結(jié)構(gòu)型循環(huán)結(jié)構(gòu)1) while1) while型循環(huán)控制結(jié)構(gòu)的一般形式為:型循環(huán)控制結(jié)構(gòu)的一般形式為: while(exp)Loop-Body2) while2) while型循
26、環(huán)結(jié)構(gòu)的執(zhí)行過(guò)程型循環(huán)結(jié)構(gòu)的執(zhí)行過(guò)程: : 首先計(jì)算作為判斷條件的表達(dá)式首先計(jì)算作為判斷條件的表達(dá)式expexp的值;對(duì)表達(dá)式的值;對(duì)表達(dá)式expexp的值進(jìn)行判的值進(jìn)行判斷,若條件表達(dá)式的值為非斷,若條件表達(dá)式的值為非0 0(真),則執(zhí)行一次循環(huán)體(真),則執(zhí)行一次循環(huán)體Loop-BodyLoop-Body;然;然后再一次計(jì)算條件表達(dá)式后再一次計(jì)算條件表達(dá)式expexp的值,若計(jì)算結(jié)果仍為非的值,若計(jì)算結(jié)果仍為非0 0(真),再一次(真),再一次執(zhí)行循環(huán)體。重復(fù)上述過(guò)程,直到某次計(jì)算出的條件表達(dá)式值為執(zhí)行循環(huán)體。重復(fù)上述過(guò)程,直到某次計(jì)算出的條件表達(dá)式值為0 0(假)(假)時(shí),則退出循環(huán)結(jié)構(gòu)
27、;控制流程轉(zhuǎn)到該循環(huán)結(jié)構(gòu)之后的語(yǔ)句。時(shí),則退出循環(huán)結(jié)構(gòu);控制流程轉(zhuǎn)到該循環(huán)結(jié)構(gòu)之后的語(yǔ)句。while循環(huán)控制結(jié)構(gòu)的執(zhí)行過(guò)程如圖循環(huán)控制結(jié)構(gòu)的執(zhí)行過(guò)程如圖2-4所示。所示。 3) 3) 使用使用whilewhile循環(huán)結(jié)構(gòu)時(shí)需要注意以下幾點(diǎn):循環(huán)結(jié)構(gòu)時(shí)需要注意以下幾點(diǎn): 由于整個(gè)結(jié)構(gòu)的執(zhí)行過(guò)程是先判斷、后執(zhí)行,因而循由于整個(gè)結(jié)構(gòu)的執(zhí)行過(guò)程是先判斷、后執(zhí)行,因而循環(huán)體有可能一次都不執(zhí)行。環(huán)體有可能一次都不執(zhí)行。 在循環(huán)結(jié)構(gòu)的控制部分中,如果表示條件的表達(dá)式是在循環(huán)結(jié)構(gòu)的控制部分中,如果表示條件的表達(dá)式是一個(gè)非一個(gè)非0 0值常量表達(dá)式,則構(gòu)成了死循環(huán)。例如:值常量表達(dá)式,則構(gòu)成了死循環(huán)。例如:whi
28、le(1)while(1)Loop-BodyLoop-Body C C程序設(shè)計(jì)中,如果不是有意造成死循環(huán),則在程序設(shè)計(jì)中,如果不是有意造成死循環(huán),則在whilewhile循循環(huán)結(jié)構(gòu)的循環(huán)體內(nèi)必須有能夠改變循環(huán)控制條件的語(yǔ)句存環(huán)結(jié)構(gòu)的循環(huán)體內(nèi)必須有能夠改變循環(huán)控制條件的語(yǔ)句存在。在。 循環(huán)結(jié)構(gòu)的循環(huán)體可以是一條語(yǔ)句、一個(gè)復(fù)合語(yǔ)句、循環(huán)結(jié)構(gòu)的循環(huán)體可以是一條語(yǔ)句、一個(gè)復(fù)合語(yǔ)句、空語(yǔ)句等任意合法的空語(yǔ)句等任意合法的C C語(yǔ)句。語(yǔ)句。 例例2-14 2-14 使用使用whilewhile循環(huán)控制結(jié)構(gòu)求循環(huán)控制結(jié)構(gòu)求 的值。的值。 在例在例2.142.14程序中,循環(huán)控制變量程序中,循環(huán)控制變量n n從
29、初值從初值1 1開(kāi)始,在循環(huán)開(kāi)始,在循環(huán)結(jié)構(gòu)的執(zhí)行過(guò)程中通過(guò)循環(huán)體中的表達(dá)式語(yǔ)句結(jié)構(gòu)的執(zhí)行過(guò)程中通過(guò)循環(huán)體中的表達(dá)式語(yǔ)句n+;n+;修改循環(huán)修改循環(huán)控制變量,使其逐漸趨近于控制變量,使其逐漸趨近于100100。循環(huán)結(jié)構(gòu)中的循環(huán)體是由兩。循環(huán)結(jié)構(gòu)中的循環(huán)體是由兩條條C C語(yǔ)句組成的,所以需要使用復(fù)合語(yǔ)句的形式。當(dāng)然也可以語(yǔ)句組成的,所以需要使用復(fù)合語(yǔ)句的形式。當(dāng)然也可以通過(guò)語(yǔ)句的組合使得循環(huán)體由一條語(yǔ)句構(gòu)成,這樣就不需通過(guò)語(yǔ)句的組合使得循環(huán)體由一條語(yǔ)句構(gòu)成,這樣就不需要使用復(fù)合語(yǔ)句形式,上面程序中的循環(huán)結(jié)構(gòu)可以改寫(xiě)為如要使用復(fù)合語(yǔ)句形式,上面程序中的循環(huán)結(jié)構(gòu)可以改寫(xiě)為如下形式:下形式: whil
30、e (n=100)while (n=100)sum+=i+;sum+=i+; 在程序中還需要注意變量在程序中還需要注意變量sumsum的初值問(wèn)題,由于變量的初值問(wèn)題,由于變量sumsum用用于存放和數(shù),所以其初值必須從某一固定值開(kāi)始。一般意義下,于存放和數(shù),所以其初值必須從某一固定值開(kāi)始。一般意義下,用于存放和數(shù)、計(jì)數(shù)等目的的變量初始值均應(yīng)為用于存放和數(shù)、計(jì)數(shù)等目的的變量初始值均應(yīng)為0 0值。值。 2.3.2 do_while2.3.2 do_while型循環(huán)結(jié)構(gòu)型循環(huán)結(jié)構(gòu)1 1) dowhiledowhile型循環(huán)控制結(jié)構(gòu)的一般形式為:型循環(huán)控制結(jié)構(gòu)的一般形式為: do Loop-Body
31、while(exp);2 2) dowhiledowhile型循環(huán)結(jié)構(gòu)的執(zhí)行過(guò)程型循環(huán)結(jié)構(gòu)的執(zhí)行過(guò)程 :首先執(zhí)行一次循環(huán)體首先執(zhí)行一次循環(huán)體Loop-Body;Loop-Body;然后計(jì)算作為判斷條件的表達(dá)式然后計(jì)算作為判斷條件的表達(dá)式expexp的的值;對(duì)表達(dá)式值;對(duì)表達(dá)式expexp的值進(jìn)行判斷,若表達(dá)式的值為非的值進(jìn)行判斷,若表達(dá)式的值為非0 0(真),則執(zhí)行(真),則執(zhí)行一次循環(huán)體;執(zhí)行完循環(huán)體后再一次計(jì)算條件表達(dá)式的值,若計(jì)算結(jié)一次循環(huán)體;執(zhí)行完循環(huán)體后再一次計(jì)算條件表達(dá)式的值,若計(jì)算結(jié)果仍為非果仍為非0 0(真),再一次執(zhí)行循環(huán)體。重復(fù)上述過(guò)程,直到某次計(jì)算(真),再一次執(zhí)行循環(huán)體
32、。重復(fù)上述過(guò)程,直到某次計(jì)算出的條件表達(dá)式值為出的條件表達(dá)式值為0 0(假)時(shí),則退出循環(huán)結(jié)構(gòu);控制流程轉(zhuǎn)到該循(假)時(shí),則退出循環(huán)結(jié)構(gòu);控制流程轉(zhuǎn)到該循環(huán)結(jié)構(gòu)之后的語(yǔ)句。環(huán)結(jié)構(gòu)之后的語(yǔ)句。Do_while循環(huán)控制結(jié)構(gòu)的執(zhí)行過(guò)程如圖循環(huán)控制結(jié)構(gòu)的執(zhí)行過(guò)程如圖2.10所示。所示。 3) 3) 在使用在使用do_whiledo_while循環(huán)結(jié)構(gòu)時(shí)需要注意以下幾點(diǎn):循環(huán)結(jié)構(gòu)時(shí)需要注意以下幾點(diǎn): 由于整個(gè)結(jié)構(gòu)的執(zhí)行過(guò)程是先執(zhí)行、后判斷,所以循環(huán)由于整個(gè)結(jié)構(gòu)的執(zhí)行過(guò)程是先執(zhí)行、后判斷,所以循環(huán)結(jié)構(gòu)中的循環(huán)體至少被執(zhí)行一次。結(jié)構(gòu)中的循環(huán)體至少被執(zhí)行一次。 在循環(huán)結(jié)構(gòu)的控制部分中,如果表示條件的表達(dá)式是一
33、在循環(huán)結(jié)構(gòu)的控制部分中,如果表示條件的表達(dá)式是一個(gè)非個(gè)非0 0值常量表達(dá)式,則構(gòu)成了死循環(huán)。例如:值常量表達(dá)式,則構(gòu)成了死循環(huán)。例如:dodo Loop-Body Loop-Body while(1); while(1);C C程序設(shè)計(jì)中,如果不是有意造成死循環(huán),則在程序設(shè)計(jì)中,如果不是有意造成死循環(huán),則在do_whiledo_while循循環(huán)結(jié)構(gòu)的循環(huán)體內(nèi)必須有能改變循環(huán)控制條件的語(yǔ)句存在。環(huán)結(jié)構(gòu)的循環(huán)體內(nèi)必須有能改變循環(huán)控制條件的語(yǔ)句存在。 循環(huán)結(jié)構(gòu)的循環(huán)體可以是一條語(yǔ)句、一個(gè)復(fù)合語(yǔ)句、空循環(huán)結(jié)構(gòu)的循環(huán)體可以是一條語(yǔ)句、一個(gè)復(fù)合語(yǔ)句、空語(yǔ)句等任意合法的語(yǔ)句等任意合法的C C語(yǔ)句。語(yǔ)句。 例
34、例2-15 2-15 使用使用do_whiledo_while循環(huán)控制結(jié)構(gòu)求循環(huán)控制結(jié)構(gòu)求 的值。的值。 例例2-16 2-16 編程序?qū)崿F(xiàn)功能:將一個(gè)整數(shù)的各位數(shù)字顛倒后輸出。編程序?qū)崿F(xiàn)功能:將一個(gè)整數(shù)的各位數(shù)字顛倒后輸出。 2.3.3 for2.3.3 for型循環(huán)結(jié)構(gòu)型循環(huán)結(jié)構(gòu) for for語(yǔ)句構(gòu)成的循環(huán)是語(yǔ)句構(gòu)成的循環(huán)是C C語(yǔ)言中提供的使用最為靈活、語(yǔ)言中提供的使用最為靈活、適應(yīng)范圍最廣的循環(huán)結(jié)構(gòu),它不僅可以用于循環(huán)次數(shù)已確適應(yīng)范圍最廣的循環(huán)結(jié)構(gòu),它不僅可以用于循環(huán)次數(shù)已確定的情況,而且也可以用于循環(huán)次數(shù)不確定但能給出循環(huán)定的情況,而且也可以用于循環(huán)次數(shù)不確定但能給出循環(huán)結(jié)束條件的
35、循環(huán)結(jié)束條件的循環(huán) 。1 1) forfor循環(huán)結(jié)構(gòu)的一般形式為:循環(huán)結(jié)構(gòu)的一般形式為: for(exp1; exp2; exp3) Loop-Body 其中,括號(hào)內(nèi)的三個(gè)表達(dá)式稱(chēng)為循環(huán)控制表達(dá)式,其中,括號(hào)內(nèi)的三個(gè)表達(dá)式稱(chēng)為循環(huán)控制表達(dá)式,exp1exp1的作用的作用是為循環(huán)控制變量賦初值或者為循環(huán)體中的其他數(shù)據(jù)對(duì)象賦初值,是為循環(huán)控制變量賦初值或者為循環(huán)體中的其他數(shù)據(jù)對(duì)象賦初值,exp2exp2的作用是作為條件用于控制循環(huán)的執(zhí)行,的作用是作為條件用于控制循環(huán)的執(zhí)行,exp3exp3的主要作用是對(duì)的主要作用是對(duì)循環(huán)控制變量進(jìn)行修改,三個(gè)表達(dá)式之間用分號(hào)分隔。循環(huán)控制變量進(jìn)行修改,三個(gè)表達(dá)式之
36、間用分號(hào)分隔。 2 2) forfor循環(huán)結(jié)構(gòu)的執(zhí)行過(guò)程:循環(huán)結(jié)構(gòu)的執(zhí)行過(guò)程: 首先計(jì)算表達(dá)式首先計(jì)算表達(dá)式exp1exp1的值對(duì)循環(huán)控制變量進(jìn)行初始的值對(duì)循環(huán)控制變量進(jìn)行初始化,如果有需要也同時(shí)對(duì)循環(huán)體中的其他數(shù)據(jù)對(duì)象進(jìn)行化,如果有需要也同時(shí)對(duì)循環(huán)體中的其他數(shù)據(jù)對(duì)象進(jìn)行初始化操作;然后計(jì)算作為循環(huán)控制條件使用的表達(dá)式初始化操作;然后計(jì)算作為循環(huán)控制條件使用的表達(dá)式exp2exp2的值;根據(jù)的值;根據(jù)exp2exp2計(jì)算的結(jié)果決定循環(huán)是否進(jìn)行,當(dāng)計(jì)算的結(jié)果決定循環(huán)是否進(jìn)行,當(dāng)exp2exp2的值為真(非的值為真(非0 0)時(shí)則執(zhí)行循環(huán)體)時(shí)則執(zhí)行循環(huán)體Loop-BodyLoop-Body一次;
37、一次;執(zhí)行完循環(huán)體后,計(jì)算表達(dá)式執(zhí)行完循環(huán)體后,計(jì)算表達(dá)式exp3exp3的值以修改循環(huán)控制的值以修改循環(huán)控制變量;然后再次計(jì)算表達(dá)式變量;然后再次計(jì)算表達(dá)式exp2exp2的值以確定是否再次執(zhí)的值以確定是否再次執(zhí)行循環(huán)體;反復(fù)執(zhí)行上述過(guò)程直到某一次表達(dá)式行循環(huán)體;反復(fù)執(zhí)行上述過(guò)程直到某一次表達(dá)式exp2exp2的的值為值為0 0(假)為止(假)為止 。 forfor循環(huán)控制結(jié)構(gòu)的執(zhí)行過(guò)程如圖循環(huán)控制結(jié)構(gòu)的執(zhí)行過(guò)程如圖2.122.12所示。所示。 3 3)使用)使用forfor循環(huán)結(jié)構(gòu)時(shí)需要注意以下幾點(diǎn):循環(huán)結(jié)構(gòu)時(shí)需要注意以下幾點(diǎn): 由于整個(gè)結(jié)構(gòu)的執(zhí)行過(guò)程是先判斷、后執(zhí)行,因而循環(huán)體有可能一次
38、由于整個(gè)結(jié)構(gòu)的執(zhí)行過(guò)程是先判斷、后執(zhí)行,因而循環(huán)體有可能一次都不執(zhí)行。都不執(zhí)行。 C C語(yǔ)言的語(yǔ)言的forfor循環(huán)控制結(jié)構(gòu)不僅提供在其控制部分的表達(dá)式循環(huán)控制結(jié)構(gòu)不僅提供在其控制部分的表達(dá)式3 3中修改循環(huán)中修改循環(huán)控制變量的值,而去還允許在控制變量的值,而去還允許在forfor循環(huán)的循環(huán)體中存在能改變循環(huán)控制條循環(huán)的循環(huán)體中存在能改變循環(huán)控制條件的語(yǔ)句,使用時(shí)需特別注意。件的語(yǔ)句,使用時(shí)需特別注意。 循環(huán)結(jié)構(gòu)的循環(huán)體可以是一條語(yǔ)句、一個(gè)復(fù)合語(yǔ)句、空語(yǔ)句等任意合循環(huán)結(jié)構(gòu)的循環(huán)體可以是一條語(yǔ)句、一個(gè)復(fù)合語(yǔ)句、空語(yǔ)句等任意合法的法的C C語(yǔ)句。語(yǔ)句。 根據(jù)程序功能的需要,循環(huán)控制部分的三個(gè)表達(dá)式
39、分別都可以逗號(hào)表根據(jù)程序功能的需要,循環(huán)控制部分的三個(gè)表達(dá)式分別都可以逗號(hào)表達(dá)式,這也是逗號(hào)表達(dá)式最主要的用法之一。達(dá)式,這也是逗號(hào)表達(dá)式最主要的用法之一。 根據(jù)程序功能的需要,循環(huán)控制部分的三個(gè)表達(dá)式中可以缺省一個(gè)、根據(jù)程序功能的需要,循環(huán)控制部分的三個(gè)表達(dá)式中可以缺省一個(gè)、兩個(gè)、三個(gè),但作為分隔符使用的分號(hào)不能缺省。兩個(gè)、三個(gè),但作為分隔符使用的分號(hào)不能缺省。 例例2-18 2-18 編程序?qū)崿F(xiàn)功能:判斷從鍵盤(pán)輸入一個(gè)大于編程序?qū)崿F(xiàn)功能:判斷從鍵盤(pán)輸入一個(gè)大于2 2的正整數(shù)是否為的正整數(shù)是否為素?cái)?shù)。素?cái)?shù)。 所謂素?cái)?shù),就是只能被所謂素?cái)?shù),就是只能被1 1和自身整除的自然數(shù)。根據(jù)素?cái)?shù)的和自身整
40、除的自然數(shù)。根據(jù)素?cái)?shù)的定義,判斷一個(gè)正整數(shù)定義,判斷一個(gè)正整數(shù)m m是否為素?cái)?shù)最簡(jiǎn)單的方法就是:將是否為素?cái)?shù)最簡(jiǎn)單的方法就是:將2 2到到m-1m-1之間的每一個(gè)整數(shù)去除之間的每一個(gè)整數(shù)去除m m,若其間有一個(gè)能整除,若其間有一個(gè)能整除m m,則則m m不是素?cái)?shù);若不是素?cái)?shù);若2 2到到m-1m-1之間的所有整數(shù)都不能整除之間的所有整數(shù)都不能整除m m,則,則m m為素?cái)?shù)。為素?cái)?shù)。 例例2-17 2-17 使用使用forfor循環(huán)控制結(jié)構(gòu)求循環(huán)控制結(jié)構(gòu)求 的值。的值。 2.3.4 2.3.4 空語(yǔ)句及其在程序中的使用空語(yǔ)句及其在程序中的使用 在在C C語(yǔ)言中,只由分號(hào)語(yǔ)言中,只由分號(hào)“;”構(gòu)成
41、的構(gòu)成的C C語(yǔ)句稱(chēng)為語(yǔ)句稱(chēng)為空語(yǔ)句空語(yǔ)句。 空語(yǔ)句不進(jìn)行任何操作(或者稱(chēng)之為進(jìn)行空操作),在空語(yǔ)句不進(jìn)行任何操作(或者稱(chēng)之為進(jìn)行空操作),在C C程序的設(shè)計(jì)中,程序的某個(gè)位置從程序的設(shè)計(jì)中,程序的某個(gè)位置從C C語(yǔ)言的語(yǔ)法要求上應(yīng)該語(yǔ)言的語(yǔ)法要求上應(yīng)該有一個(gè)有一個(gè)C C語(yǔ)句存在,但語(yǔ)義上(即程序的邏輯功能上)又不語(yǔ)句存在,但語(yǔ)義上(即程序的邏輯功能上)又不需要進(jìn)行任何操作時(shí),就可以使用空語(yǔ)句來(lái)占據(jù)這個(gè)語(yǔ)句需要進(jìn)行任何操作時(shí),就可以使用空語(yǔ)句來(lái)占據(jù)這個(gè)語(yǔ)句位置以同時(shí)滿(mǎn)足語(yǔ)法和語(yǔ)義上的需求。位置以同時(shí)滿(mǎn)足語(yǔ)法和語(yǔ)義上的需求。例如有如下形式的例如有如下形式的C C程序段:程序段: while(ge
42、tchar()!=n)while(getchar()!=n) ; ; 該段程序中,當(dāng)循環(huán)條件為真時(shí)(即接收到的字符不該段程序中,當(dāng)循環(huán)條件為真時(shí)(即接收到的字符不是換行符時(shí)),程序不進(jìn)行任何操作(執(zhí)行空語(yǔ)句后)進(jìn)是換行符時(shí)),程序不進(jìn)行任何操作(執(zhí)行空語(yǔ)句后)進(jìn)入下一次循環(huán)過(guò)程。該段程序通過(guò)這樣的方式實(shí)現(xiàn)了入下一次循環(huán)過(guò)程。該段程序通過(guò)這樣的方式實(shí)現(xiàn)了“反反復(fù)從鍵盤(pán)上接收輸入字符直至換行為止復(fù)從鍵盤(pán)上接收輸入字符直至換行為止”的語(yǔ)義。的語(yǔ)義。例例2-19 2-19 編寫(xiě)程序?qū)崿F(xiàn)求階乘的功能,要求循環(huán)體用空語(yǔ)句實(shí)現(xiàn)。編寫(xiě)程序?qū)崿F(xiàn)求階乘的功能,要求循環(huán)體用空語(yǔ)句實(shí)現(xiàn)。 2.3.5 2.3.5 循環(huán)
43、的嵌套循環(huán)的嵌套 一個(gè)循環(huán)結(jié)構(gòu)的循環(huán)體內(nèi)又包含另外一個(gè)完整的一個(gè)循環(huán)結(jié)構(gòu)的循環(huán)體內(nèi)又包含另外一個(gè)完整的循環(huán)結(jié)構(gòu),稱(chēng)為循環(huán)結(jié)構(gòu),稱(chēng)為循環(huán)的嵌套循環(huán)的嵌套。 循環(huán)的嵌套層數(shù)可以是多層,稱(chēng)為循環(huán)的嵌套層數(shù)可以是多層,稱(chēng)為多重循環(huán)多重循環(huán)。 在在C C語(yǔ)言中三種循環(huán)結(jié)構(gòu)語(yǔ)句語(yǔ)言中三種循環(huán)結(jié)構(gòu)語(yǔ)句“do.whiledo.while循環(huán)循環(huán)”、“whilewhile循環(huán)循環(huán)”、“forfor循環(huán)循環(huán)”可以根據(jù)需要,任意地互可以根據(jù)需要,任意地互相嵌套,下面是一些常見(jiàn)的循環(huán)嵌套結(jié)構(gòu):相嵌套,下面是一些常見(jiàn)的循環(huán)嵌套結(jié)構(gòu): 使用多重循環(huán)結(jié)構(gòu)時(shí)應(yīng)注意以下幾點(diǎn):使用多重循環(huán)結(jié)構(gòu)時(shí)應(yīng)注意以下幾點(diǎn): 三種循環(huán)結(jié)構(gòu)(三
44、種循環(huán)結(jié)構(gòu)(“whilewhile循環(huán)循環(huán)”結(jié)構(gòu)、結(jié)構(gòu)、“dowhiledowhile循環(huán)循環(huán)”結(jié)構(gòu)、結(jié)構(gòu)、“forfor循環(huán)循環(huán)”結(jié)構(gòu))可以相互嵌套。結(jié)構(gòu))可以相互嵌套。 一般情況下,嵌套結(jié)構(gòu)中的外層循環(huán)和內(nèi)層循環(huán)的一般情況下,嵌套結(jié)構(gòu)中的外層循環(huán)和內(nèi)層循環(huán)的循環(huán)控制變量不得同名。循環(huán)控制變量不得同名。 例例2-20 2-20 編程序輸出如下所示由字符構(gòu)成的圖形。編程序輸出如下所示由字符構(gòu)成的圖形。 例例2.202.20程序是一個(gè)雙重循環(huán)結(jié)構(gòu),其中外程序是一個(gè)雙重循環(huán)結(jié)構(gòu),其中外層循環(huán)結(jié)構(gòu)控制輸出圖形的行數(shù)。層循環(huán)結(jié)構(gòu)控制輸出圖形的行數(shù)。循環(huán)體中完成了循環(huán)體中完成了3 3件事情:件事情:按照
45、要求輸出按照要求輸出前導(dǎo)空格,使用了一個(gè)內(nèi)嵌的循環(huán)結(jié)構(gòu)完前導(dǎo)空格,使用了一個(gè)內(nèi)嵌的循環(huán)結(jié)構(gòu)完成該功能,注意該內(nèi)嵌循環(huán)結(jié)構(gòu)的控制條成該功能,注意該內(nèi)嵌循環(huán)結(jié)構(gòu)的控制條件件j5-ij5-i使得其輸出的前導(dǎo)空格數(shù)會(huì)隨著外使得其輸出的前導(dǎo)空格數(shù)會(huì)隨著外層循環(huán)的控制變量值得變化而變化,從而層循環(huán)的控制變量值得變化而變化,從而實(shí)現(xiàn)每行少輸出一個(gè)前導(dǎo)空格的要求;實(shí)現(xiàn)每行少輸出一個(gè)前導(dǎo)空格的要求;按照要求輸出若干規(guī)定的字符(本例中通按照要求輸出若干規(guī)定的字符(本例中通過(guò)過(guò)ch+i-jch+i-j計(jì)算得到),同樣使用了一個(gè)內(nèi)計(jì)算得到),同樣使用了一個(gè)內(nèi)嵌的循環(huán)結(jié)構(gòu)完成該功能,請(qǐng)注意內(nèi)嵌內(nèi)嵌的循環(huán)結(jié)構(gòu)完成該功能,
46、請(qǐng)注意內(nèi)嵌內(nèi)嵌循環(huán)結(jié)構(gòu)的控制條件嵌循環(huán)結(jié)構(gòu)的控制條件j=ij=i的意義;的意義;使使用用printf(n);printf(n);語(yǔ)句實(shí)現(xiàn)輸出一行字符后語(yǔ)句實(shí)現(xiàn)輸出一行字符后的換行功能。的換行功能。 例例2-21 2-21 編程序在屏幕上打印出如下所示的乘法九九表。編程序在屏幕上打印出如下所示的乘法九九表。 * 1 2 3 4 5 6 7 8 9 1 1 2 2 4 3 3 6 9 4 4 8 12 16 5 5 10 15 20 25 6 6 12 18 24 30 36 7 7 14 21 28 35 42 49 8 8 16 24 32 40 48 56 64 9 9 18 27 36 4
47、5 54 63 72 812.4 C2.4 C語(yǔ)言中的其它簡(jiǎn)單控制結(jié)構(gòu)語(yǔ)言中的其它簡(jiǎn)單控制結(jié)構(gòu) 2.4.1 break2.4.1 break語(yǔ)句語(yǔ)句 breakbreak語(yǔ)句是一條限定轉(zhuǎn)移語(yǔ)句,其一般形式為:語(yǔ)句是一條限定轉(zhuǎn)移語(yǔ)句,其一般形式為: break; break語(yǔ)句的使用范圍只能在下面兩種程序結(jié)構(gòu)之一: switch語(yǔ)句結(jié)構(gòu)中。 循環(huán)控制結(jié)構(gòu)中。breakbreak語(yǔ)句的功能:語(yǔ)句的功能: 把程序的控制流程從直接包含該把程序的控制流程從直接包含該breakbreak語(yǔ)句的循環(huán)控制語(yǔ)句的循環(huán)控制結(jié)構(gòu)或結(jié)構(gòu)或switchswitch語(yǔ)句結(jié)構(gòu)中轉(zhuǎn)出。語(yǔ)句結(jié)構(gòu)中轉(zhuǎn)出。 C C程序中的程序中的
48、breakbreak語(yǔ)句總是出現(xiàn)在語(yǔ)句總是出現(xiàn)在ifif結(jié)構(gòu)的語(yǔ)句部分,構(gòu)成如下結(jié)構(gòu)的語(yǔ)句部分,構(gòu)成如下形式的語(yǔ)句結(jié)構(gòu)形式:形式的語(yǔ)句結(jié)構(gòu)形式: if(exp)if(exp) break; break;例如,在下面例如,在下面C C程序段中,程序段中,breakbreak語(yǔ)句結(jié)束了語(yǔ)句結(jié)束了for for 循環(huán),使得循環(huán),使得for for 循環(huán)不是循環(huán)不是i i從從1 1到到100100循環(huán),而是循環(huán),而是i i從從1 1到到1010循環(huán)。循環(huán)。 for(i=1;i=100;i+)/for(i=1;i9) break; if(i9) break; 表表2.22.2中分別給出的是中分別給出的是
49、whilewhile、forfor和和do whiledo while三種循環(huán)三種循環(huán)結(jié)構(gòu)循環(huán)體中包含的結(jié)構(gòu)循環(huán)體中包含的breakbreak語(yǔ)句執(zhí)行時(shí)控制流程的轉(zhuǎn)向情況。語(yǔ)句執(zhí)行時(shí)控制流程的轉(zhuǎn)向情況。 例例2-22 2-22 編制程序?qū)崿F(xiàn)功能:從鍵盤(pán)輸入兩個(gè)正整數(shù)編制程序?qū)崿F(xiàn)功能:從鍵盤(pán)輸入兩個(gè)正整數(shù)a(a2)a(a2)和和b b,求,求a a與與b b之間的全部素?cái)?shù)。之間的全部素?cái)?shù)。 例例2-23 2-23 編程需實(shí)現(xiàn)功能:求調(diào)和級(jí)數(shù)中至多少項(xiàng)后的和值編程需實(shí)現(xiàn)功能:求調(diào)和級(jí)數(shù)中至多少項(xiàng)后的和值大于大于1010。 分析:需要判定數(shù)分析:需要判定數(shù)n n是否為素?cái)?shù)時(shí),可以用是否為素?cái)?shù)時(shí),可以
50、用2 2到到sqrt(n)sqrt(n)之之間的所有整數(shù)去除間的所有整數(shù)去除n n,若其中任意一次能夠除盡,則說(shuō)明,若其中任意一次能夠除盡,則說(shuō)明n n不是素?cái)?shù);否則不是素?cái)?shù);否則n n是素?cái)?shù)。是素?cái)?shù)。分析:調(diào)和級(jí)數(shù)的第分析:調(diào)和級(jí)數(shù)的第n n項(xiàng)形式為:項(xiàng)形式為: 2.4.2 continue2.4.2 continue語(yǔ)句語(yǔ)句continuecontinue語(yǔ)句是一條限定轉(zhuǎn)移語(yǔ)句,其一般形式為:語(yǔ)句是一條限定轉(zhuǎn)移語(yǔ)句,其一般形式為:continue; continue; continue語(yǔ)句的功能:語(yǔ)句的功能: 提前結(jié)束本次循環(huán)體的執(zhí)行過(guò)程而直接進(jìn)入下提前結(jié)束本次循環(huán)體的執(zhí)行過(guò)程而直接進(jìn)入下
51、一次循環(huán)。一次循環(huán)。 continue語(yǔ)句只能使用在循環(huán)結(jié)構(gòu)的循環(huán)體中。 C C程序中的程序中的continuecontinue語(yǔ)句總是出現(xiàn)在語(yǔ)句總是出現(xiàn)在ifif結(jié)構(gòu)的語(yǔ)結(jié)構(gòu)的語(yǔ)句部分,構(gòu)成如下形式的語(yǔ)句結(jié)構(gòu)形式:句部分,構(gòu)成如下形式的語(yǔ)句結(jié)構(gòu)形式: if(expression)if(expression) continue; continue; 表表2.32.3中分別給出的是中分別給出的是whilewhile、forfor和和do whiledo while三種循環(huán)結(jié)構(gòu)循環(huán)體中包含的三種循環(huán)結(jié)構(gòu)循環(huán)體中包含的continuecontinue語(yǔ)句執(zhí)行時(shí)語(yǔ)句執(zhí)行時(shí)控制流程的轉(zhuǎn)向情況??刂屏鞒痰?/p>
52、轉(zhuǎn)向情況。 例例2-24 2-24 編程序?qū)崿F(xiàn)功能:檢測(cè)從鍵盤(pán)上輸入的以換行符結(jié)束編程序?qū)崿F(xiàn)功能:檢測(cè)從鍵盤(pán)上輸入的以換行符結(jié)束的字符流,統(tǒng)計(jì)非字母字符的個(gè)數(shù)。的字符流,統(tǒng)計(jì)非字母字符的個(gè)數(shù)。 程序通過(guò)循環(huán)依次檢查每一個(gè)輸入的字符,當(dāng)字符不是換程序通過(guò)循環(huán)依次檢查每一個(gè)輸入的字符,當(dāng)字符不是換行符并且是字母時(shí)通過(guò)執(zhí)行行符并且是字母時(shí)通過(guò)執(zhí)行continuecontinue語(yǔ)句提前結(jié)束本輪循環(huán)語(yǔ)句提前結(jié)束本輪循環(huán)(即不執(zhí)行循環(huán)體中的(即不執(zhí)行循環(huán)體中的counter+;counter+;語(yǔ)句);當(dāng)字符不是換行符語(yǔ)句);當(dāng)字符不是換行符并且是不是字母時(shí),條件并且是不是字母時(shí),條件c=A&c
53、=a&c=A&c=a&c=z不成立,不會(huì)執(zhí)行不成立,不會(huì)執(zhí)行continuecontinue語(yǔ)句,從而程序執(zhí)行計(jì)數(shù)器增一的操作語(yǔ)句,從而程序執(zhí)行計(jì)數(shù)器增一的操作counter+;counter+;;當(dāng)遇到換行字符是循環(huán)結(jié)束并輸出變量當(dāng)遇到換行字符是循環(huán)結(jié)束并輸出變量countercounter的值。的值。 程序的某次執(zhí)行情況和輸出結(jié)果如下所示:程序的某次執(zhí)行情況和輸出結(jié)果如下所示:Input a string: Input a string: skjdf4623784908% skjdf4623784908%* *& &* *(%SDFsdfk(%SDF
54、sdfk Counter=18 Counter=18 2.4.3 goto2.4.3 goto語(yǔ)句和標(biāo)號(hào)語(yǔ)句語(yǔ)句和標(biāo)號(hào)語(yǔ)句gotogoto語(yǔ)句是無(wú)條件轉(zhuǎn)移語(yǔ)句,其一般形式為:語(yǔ)句是無(wú)條件轉(zhuǎn)移語(yǔ)句,其一般形式為:goto goto 語(yǔ)句標(biāo)號(hào);語(yǔ)句標(biāo)號(hào); 其中:標(biāo)號(hào)語(yǔ)句用標(biāo)識(shí)符加上冒號(hào)表示,其定義規(guī)則同變量,即由字其中:標(biāo)號(hào)語(yǔ)句用標(biāo)識(shí)符加上冒號(hào)表示,其定義規(guī)則同變量,即由字母、數(shù)字和下劃線(xiàn)組成且第一個(gè)字符必須是字母或下劃線(xiàn)。母、數(shù)字和下劃線(xiàn)組成且第一個(gè)字符必須是字母或下劃線(xiàn)。 gotogoto語(yǔ)句的功能:語(yǔ)句的功能: 將程序的控制流程無(wú)條件地轉(zhuǎn)移到語(yǔ)句標(biāo)號(hào)所指的標(biāo)號(hào)將程序的控制流程無(wú)條件地轉(zhuǎn)移到語(yǔ)
55、句標(biāo)號(hào)所指的標(biāo)號(hào)語(yǔ)句處。語(yǔ)句處。 注意:注意:gotogoto語(yǔ)句的使用范圍局限于函數(shù)內(nèi)部,不允許在一語(yǔ)句的使用范圍局限于函數(shù)內(nèi)部,不允許在一個(gè)函數(shù)中使用個(gè)函數(shù)中使用gotogoto語(yǔ)句將程序控制轉(zhuǎn)移到本函數(shù)之外。語(yǔ)句將程序控制轉(zhuǎn)移到本函數(shù)之外。 在程序設(shè)計(jì)中,使用在程序設(shè)計(jì)中,使用gotogoto語(yǔ)句和語(yǔ)句和ifif語(yǔ)句配合也可以構(gòu)語(yǔ)句配合也可以構(gòu)成循環(huán)結(jié)構(gòu),但不提倡使用成循環(huán)結(jié)構(gòu),但不提倡使用gotogoto語(yǔ)句來(lái)構(gòu)成循環(huán)結(jié)構(gòu)。例如語(yǔ)句來(lái)構(gòu)成循環(huán)結(jié)構(gòu)。例如下面循環(huán)結(jié)構(gòu)程序的形式:下面循環(huán)結(jié)構(gòu)程序的形式:#include #include void main()void main() int
56、 j=1,sum=0; int j=1,sum=0;loop: loop: if(k=100)if(knmn)的最大公倍數(shù)可以使用)的最大公倍數(shù)可以使用輾轉(zhuǎn)相除法。其算法可以描述為:輾轉(zhuǎn)相除法。其算法可以描述為: m m除以除以n n得到余數(shù)得到余數(shù)r(0rr(0rn)n)。 若若r=0r=0則算法結(jié)束,則算法結(jié)束,n n為最大公約數(shù)。否則執(zhí)行步驟為最大公約數(shù)。否則執(zhí)行步驟。mnmn,nrnr,轉(zhuǎn)回到步驟,轉(zhuǎn)回到步驟。 當(dāng)已知兩個(gè)非負(fù)整數(shù)當(dāng)已知兩個(gè)非負(fù)整數(shù)m m和和n n的最大公約數(shù)后,求其最小公的最大公約數(shù)后,求其最小公倍數(shù)的算法可以簡(jiǎn)單描述為:兩個(gè)正整數(shù)之積除以它們的倍數(shù)的算法可以簡(jiǎn)單描述
57、為:兩個(gè)正整數(shù)之積除以它們的最大公約數(shù)。最大公約數(shù)。 例例2-25 2-25 求兩個(gè)正整數(shù)的最大公約數(shù)和最小公倍數(shù)。求兩個(gè)正整數(shù)的最大公約數(shù)和最小公倍數(shù)。 2.5.2 2.5.2 窮舉思想及程序?qū)崿F(xiàn)窮舉思想及程序?qū)崿F(xiàn) 在計(jì)算機(jī)的應(yīng)用中,許多問(wèn)題的解在計(jì)算機(jī)的應(yīng)用中,許多問(wèn)題的解“隱藏隱藏”在多個(gè)的可在多個(gè)的可能之中。窮舉就是對(duì)多種可能的情形一一測(cè)試,從眾多的可能之中。窮舉就是對(duì)多種可能的情形一一測(cè)試,從眾多的可能中找出符合條件的能中找出符合條件的( (一個(gè)或一組一個(gè)或一組) )解,或者無(wú)解的結(jié)論。在解,或者無(wú)解的結(jié)論。在一個(gè)集合內(nèi)對(duì)集合中的每一個(gè)元素進(jìn)行一一測(cè)試的方法稱(chēng)為一個(gè)集合內(nèi)對(duì)集合中的每
58、一個(gè)元素進(jìn)行一一測(cè)試的方法稱(chēng)為窮舉法。窮舉本質(zhì)上就是在某個(gè)特定范圍中的查找,是一種窮舉法。窮舉本質(zhì)上就是在某個(gè)特定范圍中的查找,是一種典型的重復(fù)型算法,其重復(fù)操作(循環(huán)體)的核心是對(duì)問(wèn)題典型的重復(fù)型算法,其重復(fù)操作(循環(huán)體)的核心是對(duì)問(wèn)題的一種可能狀態(tài)的測(cè)試。的一種可能狀態(tài)的測(cè)試。 窮舉方法的實(shí)現(xiàn)主要依賴(lài)于以下兩個(gè)基本要點(diǎn):窮舉方法的實(shí)現(xiàn)主要依賴(lài)于以下兩個(gè)基本要點(diǎn): 搜尋可能值的范圍如何確定。搜尋可能值的范圍如何確定。 被搜尋可能值的判定方法。被搜尋可能值的判定方法。 對(duì)于被搜索的可能值,一般都是問(wèn)題中所要查找對(duì)于被搜索的可能值,一般都是問(wèn)題中所要查找的對(duì)象或者是要查找對(duì)象應(yīng)該滿(mǎn)足的條件,因而
59、在問(wèn)的對(duì)象或者是要查找對(duì)象應(yīng)該滿(mǎn)足的條件,因而在問(wèn)題中都會(huì)有清晰的描述。但對(duì)于搜尋范圍,在有些問(wèn)題中都會(huì)有清晰的描述。但對(duì)于搜尋范圍,在有些問(wèn)題是比較確定的,而在另外一些問(wèn)題則是不確定的。題是比較確定的,而在另外一些問(wèn)題則是不確定的。 例例2-26 2-26 編程序找出所有的編程序找出所有的“水仙花數(shù)水仙花數(shù)”?!八苫〝?shù)水仙花數(shù)”是指一個(gè)是指一個(gè)3 3位數(shù),位數(shù),其各位上數(shù)字的立方之和等于這個(gè)數(shù)本身。例如其各位上數(shù)字的立方之和等于這個(gè)數(shù)本身。例如153=1153=13 3+5+53 3+3+33 3,所以,所以153153是是“水仙花數(shù)水仙花數(shù)”。 分析:依題意可以得出,搜尋可能值的范圍為分
60、析:依題意可以得出,搜尋可能值的范圍為100999100999;判定方法為各位上數(shù)字的立方之和等于被判定數(shù)。程序可判定方法為各位上數(shù)字的立方之和等于被判定數(shù)。程序可以依次取出區(qū)間以依次取出區(qū)間100100,999999之間的每一個(gè)數(shù),然后將該數(shù)之間的每一個(gè)數(shù),然后將該數(shù)分解為分解為3 3個(gè)數(shù)字,按照判定條件判定即可。個(gè)數(shù)字,按照判定條件判定即可。 上面求取上面求取“水仙花數(shù)水仙花數(shù)”的可以稱(chēng)之為的可以稱(chēng)之為分離數(shù)據(jù)的方法。分離數(shù)據(jù)的方法。 除此之外還可以使用組合數(shù)據(jù)的方法求取除此之外還可以使用組合數(shù)據(jù)的方法求取“水仙花數(shù)水仙花數(shù)”。如果用如果用a a、b b和和c c分別表示分別表示3 3位數(shù)的百位、十位和個(gè)位,則該位數(shù)的百位、十位和個(gè)位,則該3 3位位數(shù)可以表示為:數(shù)可以表示為:a a* *100+b100+b* *10+c1
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 湘教版九年級(jí)數(shù)學(xué)上冊(cè)第5章用樣本推斷總體5.2統(tǒng)計(jì)的簡(jiǎn)單應(yīng)用聽(tīng)評(píng)課記錄
- 五年級(jí)數(shù)學(xué)下冊(cè)蘇教版第四單元第3課《求一個(gè)數(shù)是另一個(gè)數(shù)的幾分之幾》聽(tīng)評(píng)課記錄
- 湘教版數(shù)學(xué)八年級(jí)下冊(cè)第一章《直角三角形》聽(tīng)評(píng)課記錄
- 蘇科版數(shù)學(xué)七年級(jí)上冊(cè)2.1 比0小的數(shù)教聽(tīng)評(píng)課記錄
- 湘教版數(shù)學(xué)七年級(jí)上冊(cè)3.3《一元一次方程的解法》聽(tīng)評(píng)課記錄1
- 特長(zhǎng)生錄取協(xié)議書(shū)(2篇)
- 生產(chǎn)制造外包合同(2篇)
- 八年級(jí)道德與法治下冊(cè)第二單元理解權(quán)利義務(wù)第四課公民義務(wù)第2框依法履行義務(wù)聽(tīng)課評(píng)課記錄(新人教版)
- 八年級(jí)思想讀本《3.2協(xié)調(diào)推進(jìn)“四個(gè)全面”戰(zhàn)略布局》聽(tīng)課評(píng)課記錄
- 人教版地理七年級(jí)上冊(cè)第四節(jié)《世界的氣候》聽(tīng)課評(píng)課記錄4
- 2025年第六屆全國(guó)國(guó)家版圖知識(shí)競(jìng)賽測(cè)試題庫(kù)及答案
- 2025年度文化演藝代理合作協(xié)議書(shū)4篇
- 輸變電工程監(jiān)督檢查標(biāo)準(zhǔn)化清單-質(zhì)監(jiān)站檢查
- 2024-2025學(xué)年北京海淀區(qū)高二(上)期末生物試卷(含答案)
- 領(lǐng)導(dǎo)學(xué) 課件全套 孫健 第1-9章 領(lǐng)導(dǎo)要素- 領(lǐng)導(dǎo)力開(kāi)發(fā)
- 【超星學(xué)習(xí)通】馬克思主義基本原理(南開(kāi)大學(xué))爾雅章節(jié)測(cè)試網(wǎng)課答案
- 閉袢性小腸梗阻診斷與治療中國(guó)急診專(zhuān)家共識(shí)(2024版)解讀
- 公共組織學(xué)(第三版)課件:公共組織結(jié)構(gòu)
- 2024年山東省濟(jì)寧市中考化學(xué)試卷(附答案)
- 人教版八年級(jí)上冊(cè)地理2024-2025學(xué)年八年級(jí)上冊(cè)地理第一章 從世界看中國(guó) 測(cè)試卷(一)(含答案)
- 《煤礦安全培訓(xùn)知識(shí)》課件
評(píng)論
0/150
提交評(píng)論