




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C+程序設(shè)計(jì)第三章 流程控制順序結(jié)構(gòu)順序結(jié)構(gòu) 選擇結(jié)構(gòu)選擇結(jié)構(gòu) 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu) 其它控制語(yǔ)句其它控制語(yǔ)句 應(yīng)用舉例應(yīng)用舉例 C+程序設(shè)計(jì)語(yǔ)句序列語(yǔ)句序列1 1語(yǔ)句序列語(yǔ)句序列2 2語(yǔ)句序列語(yǔ)句序列 1 1條件?條件?成立成立不成立不成立語(yǔ)句序列語(yǔ)句序列 2 2語(yǔ)句序列語(yǔ)句序列不成立不成立成立成立條件?條件?順序結(jié)構(gòu)順序結(jié)構(gòu) 選擇結(jié)構(gòu)選擇結(jié)構(gòu) 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)由這三種基本結(jié)構(gòu)經(jīng)過(guò)反復(fù)嵌套構(gòu)成的由這三種基本結(jié)構(gòu)經(jīng)過(guò)反復(fù)嵌套構(gòu)成的程序稱為結(jié)構(gòu)化程序程序稱為結(jié)構(gòu)化程序C+程序設(shè)計(jì)按照語(yǔ)句出現(xiàn)的先后順序依次執(zhí)行。按照語(yǔ)句出現(xiàn)的先后順序依次執(zhí)行。 例例1:編寫程序:要求輸入編寫程序:要求輸入直角直角三角
2、形的三角形的斜邊斜邊和一條和一條直直角邊角邊,求三角形另外一條,求三角形另外一條直角邊,周長(zhǎng)和面積直角邊,周長(zhǎng)和面積 。#include#includeusing namespace std;3.1 順序結(jié)構(gòu):順序結(jié)構(gòu):C+程序設(shè)計(jì)void main() double a,b,c; double l,s;coutca;b=sqrt(c*c-a*a);l=a+b+c;s=a*b/2;cout另一直角邊另一直角邊=bendl;cout周長(zhǎng)周長(zhǎng)=lendl;cout面積面積=sendl;C+程序設(shè)計(jì)#include using namespace std;void main() unsigned i
3、nt n;char c1, c2, c3, c4;c1=n%10+0; c2=n/10%10+0;c3=n/100%10+0;c4=n/1000+0; coutc1c2c3c4endl;coutn;C+程序設(shè)計(jì)根據(jù)根據(jù)條件的值條件的值來(lái)判斷程序的流向。來(lái)判斷程序的流向。 if語(yǔ)句,實(shí)現(xiàn)語(yǔ)句,實(shí)現(xiàn)n分支,要求分支,要求n個(gè)表達(dá)式個(gè)表達(dá)式;switch語(yǔ)句,實(shí)現(xiàn)多分支;用語(yǔ)句,實(shí)現(xiàn)多分支;用1個(gè)表達(dá)式個(gè)表達(dá)式1.if語(yǔ)句的三種形式語(yǔ)句的三種形式if (表達(dá)式)表達(dá)式) 語(yǔ)句語(yǔ)句 if(表達(dá)式)表達(dá)式) 語(yǔ)句語(yǔ)句1else 語(yǔ)句語(yǔ)句2不能單獨(dú)存在不能單獨(dú)存在3.2 選擇結(jié)構(gòu):選擇結(jié)構(gòu):C+程序設(shè)計(jì)表
4、達(dá)式表達(dá)式1 1假假真真表達(dá)式表達(dá)式2 2表達(dá)式表達(dá)式3 3表達(dá)式表達(dá)式4 4語(yǔ)句語(yǔ)句5 5語(yǔ)句語(yǔ)句4 4語(yǔ)句語(yǔ)句3 3語(yǔ)句語(yǔ)句2 2語(yǔ)句語(yǔ)句1 1真真真真真真假假假假假假if(表達(dá)式表達(dá)式1) 語(yǔ)句語(yǔ)句1 else if(表達(dá)式表達(dá)式2) 語(yǔ)句語(yǔ)句2 else if(表達(dá)式表達(dá)式3) 語(yǔ)句語(yǔ)句3else if(表達(dá)式表達(dá)式m) 語(yǔ)句語(yǔ)句m else 語(yǔ)句語(yǔ)句 m+1 if語(yǔ)句的三種形式語(yǔ)句的三種形式C+程序設(shè)計(jì)表達(dá)式表達(dá)式語(yǔ)句語(yǔ)句假假(0)真真(非非0)第一種形式的條件語(yǔ)句第一種形式的條件語(yǔ)句 if (表達(dá)式表達(dá)式) 語(yǔ)句語(yǔ)句 說(shuō)明:說(shuō)明:ifif后面的表達(dá)式類型任意后面的表達(dá)式類型任意語(yǔ)句
5、可以是語(yǔ)句可以是一句或復(fù)合語(yǔ)句一句或復(fù)合語(yǔ)句。if(x) 語(yǔ)句語(yǔ)句if(x!=0)if(!x)if(xy) t=x; x=y; y=t;coutxy; if(x=0)C+程序設(shè)計(jì)#include using namespace std;void main() int x,y,t; cout輸入輸入 x yxy; if (xy) t=x; x=y; y=t; /x與與y交換交換 coutxyy) max = x; min = y;else max = y; min = x;復(fù)合語(yǔ)句復(fù)合語(yǔ)句 C+程序設(shè)計(jì)#includeusing namespace std;void main() int x=1
6、,y=2,z=3; coutxy=9080=mark9070=mark8060=mark70mark= 90) cout 優(yōu)優(yōu); else if (80 = mark & mark 90) cout 良良; else if (70 = mark & mark 80) cout 中中;else if (60 = mark & mark 70) cout 及格及格;elsecout= 90) cout 優(yōu)優(yōu); else if (80 = mark) cout 良良; else if (70 = mark) cout 中中; else if (60 = mark) cout
7、及格及格; else cout= 60) cout= 70) cout= 80) cout=90) cout 優(yōu)優(yōu);else cout 不及格不及格; 程序執(zhí)行一個(gè)分支后,其余分支不再執(zhí)行。程序執(zhí)行一個(gè)分支后,其余分支不再執(zhí)行。 else ifelse if不能寫成不能寫成elseifelseif。 當(dāng)多分支中有多個(gè)表達(dá)式同時(shí)滿足,只執(zhí)行當(dāng)多分支中有多個(gè)表達(dá)式同時(shí)滿足,只執(zhí)行第一個(gè)與之匹配的語(yǔ)句。第一個(gè)與之匹配的語(yǔ)句。C+程序設(shè)計(jì)例例: :編程實(shí)現(xiàn)分段函數(shù)編程實(shí)現(xiàn)分段函數(shù)xxxxxy110, 10, 13#includeusing namespace std;void main() doubl
8、e x, y;coutx;if(x0)y=x+1;coutx=x, y=x+1=yendl;復(fù)合語(yǔ)句復(fù)合語(yǔ)句C+程序設(shè)計(jì)else if(x1)/ 0 x 1y=1;coutx=x, y=yendl;else/ 1 x y=x*x*x;coutx=x, y=x*x*x=yyz。 if (xy) t=x ; x=y ; y=t; if (yz) t=y ; y=z ; z=t ; if (xy) t=x ; x=y ; y=t ; x x與與y y互換互換z z與與y y互換互換復(fù)合語(yǔ)句復(fù)合語(yǔ)句為什么要引入中間變量為什么要引入中間變量t?C+程序設(shè)計(jì)例:考慮下面程序輸出結(jié)果例:考慮下面程序輸出結(jié)果
9、: : void main() int x=100,a=10,b=20; int v1=5,v2=0; if(ab) if(b!=15) if(!v1) x=1; else if(v2) x=10; x=-1; coutx; 結(jié)果:-1該語(yǔ)句不屬于選擇結(jié)構(gòu)中的語(yǔ)句該語(yǔ)句不屬于選擇結(jié)構(gòu)中的語(yǔ)句C+程序設(shè)計(jì)例:例:求一元二次方程求一元二次方程ax2+bx+c=0的根,其的根,其中系數(shù)中系數(shù)a, b, c為實(shí)數(shù),由鍵盤輸入。為實(shí)數(shù),由鍵盤輸入。#include #include using namespace std;void main()double a, b, c, delta, p, q;co
10、ut a b c;delta = b*b-4*a*c;p = -b/(2*a);q = sqrt(fabs(delta)/(2*a);C+程序設(shè)計(jì)if (delta = 0)cout x1 = p+q endl x2 = p-q endl;elsecout x1 = p + j q; cout endl x2 = p - j q endl;思考:思考:(1)a=0?(2)a0,b=0?(3)a0,b0?C+程序設(shè)計(jì)switch語(yǔ)句語(yǔ)句switch(表達(dá)式表達(dá)式) case 常量常量表達(dá)式表達(dá)式1: 語(yǔ)句組語(yǔ)句組1;case 常量表達(dá)式常量表達(dá)式2: 語(yǔ)句組語(yǔ)句組2;case 常量表達(dá)式常量表達(dá)
11、式n: 語(yǔ)句組語(yǔ)句組n;default : 語(yǔ)句組語(yǔ)句組n+1;可選可選break;break;break;必須為必須為整型整型或或字符型字符型C+程序設(shè)計(jì)說(shuō)明:說(shuō)明:10 常量表達(dá)式的常量表達(dá)式的值值必須必須互不相等互不相等。20 語(yǔ)句組語(yǔ)句組i可以含有多個(gè)語(yǔ)句??梢院卸鄠€(gè)語(yǔ)句。30 語(yǔ)句中含有語(yǔ)句中含有break語(yǔ)句時(shí),執(zhí)行完后退出語(yǔ)句時(shí),執(zhí)行完后退出switch語(yǔ)句。語(yǔ)句。40 若某組語(yǔ)句不含若某組語(yǔ)句不含break語(yǔ)句,則本組語(yǔ)句語(yǔ)句,則本組語(yǔ)句執(zhí)行完畢后將繼續(xù)執(zhí)行下一組語(yǔ)句。執(zhí)行完畢后將繼續(xù)執(zhí)行下一組語(yǔ)句。C+程序設(shè)計(jì)50若沒(méi)有常量值與表達(dá)式值相等,執(zhí)行若沒(méi)有常量值與表達(dá)式值相等,
12、執(zhí)行default語(yǔ)句語(yǔ)句n+1,若無(wú)該語(yǔ)句若無(wú)該語(yǔ)句,退出退出switch語(yǔ)句。語(yǔ)句。60可以多個(gè)可以多個(gè)case共用一組語(yǔ)句。共用一組語(yǔ)句。80用用switch語(yǔ)句實(shí)現(xiàn)的多分支結(jié)構(gòu)程序,可用語(yǔ)句實(shí)現(xiàn)的多分支結(jié)構(gòu)程序,可用if語(yǔ)句或語(yǔ)句或if語(yǔ)句的嵌套來(lái)實(shí)現(xiàn)。語(yǔ)句的嵌套來(lái)實(shí)現(xiàn)。70switch語(yǔ)句允許嵌套。語(yǔ)句允許嵌套。C+程序設(shè)計(jì)例例:用用switch結(jié)構(gòu)求分段函數(shù)結(jié)構(gòu)求分段函數(shù) 2a+1 (1=a2)b= a2-3 (2=a=1&a=2&a4:. default: b=a;關(guān)系表關(guān)系表達(dá)式達(dá)式思考:思考:若省去若省去break語(yǔ)句,情況會(huì)怎樣?語(yǔ)句,情況會(huì)怎樣? brea
13、k;break;C+程序設(shè)計(jì)例:例:從鍵盤上輸入學(xué)生的分?jǐn)?shù),要求當(dāng)學(xué)生的從鍵盤上輸入學(xué)生的分?jǐn)?shù),要求當(dāng)學(xué)生的分?jǐn)?shù)分?jǐn)?shù) 90100very good! 8090 good 6080 pass 050 FailC+程序設(shè)計(jì)#includeusing namespace std;void main() int score; cinscore;switch(score/10) case 10: case 9: coutVery good!n;case 8: coutGood!n;case 7:case 6: coutPass!n;case 5: coutFail!n;default: coutinput error; break;break;break;break;C+程序設(shè)計(jì)例:例:執(zhí)行下列程序段后,輸出結(jié)果為:執(zhí)行下列程序段后,輸出結(jié)果為:int a=1,b=0;switch(a) case 1: switch(b); case 0: cout“*0*”;break; case 1:cout“*1*”;break; case 2
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 遼陽(yáng)古建施工方案審批
- 2024年三季度報(bào)湖南地區(qū)A股銷售凈利率排名前十大上市公司
- 快船新球館施工方案
- (教研室)福建省寧德市2024-2025學(xué)年高二上學(xué)期期末考試語(yǔ)文試題
- 揚(yáng)塵施工方案
- 預(yù)制濾板施工方案
- 2025年柳工營(yíng)銷面試題及答案
- 6年級(jí)上冊(cè)20課青山不老課堂筆記
- 教育教學(xué)評(píng)價(jià)表
- 低空經(jīng)濟(jì)產(chǎn)業(yè)專項(xiàng)引導(dǎo)基金
- 婦產(chǎn)科學(xué)(甲)知到智慧樹(shù)章節(jié)測(cè)試課后答案2024年秋浙江大學(xué)
- 2022年HTD-8M同步帶輪尺寸表
- 皮帶滾筒數(shù)據(jù)標(biāo)準(zhǔn)
- 腳手架操作平臺(tái)計(jì)算書
- 內(nèi)科學(xué)第八版循環(huán)系統(tǒng)教學(xué)大綱
- 煤礦供電系統(tǒng)及供電安全講座方案課件
- 綠色建筑及材料分析及案列
- 實(shí)用中西醫(yī)結(jié)合診斷治療學(xué)
- 幕墻工程技術(shù)標(biāo)范本
- 《施工方案封面》
- (完整版)ppt版本——哈工大版理論力學(xué)課件(全套)01
評(píng)論
0/150
提交評(píng)論