C++課件 第三講2_第1頁
C++課件 第三講2_第2頁
C++課件 第三講2_第3頁
C++課件 第三講2_第4頁
C++課件 第三講2_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、C+程序設計第三章 流程控制順序結構順序結構 選擇結構選擇結構 循環(huán)結構循環(huán)結構 其它控制語句其它控制語句 應用舉例應用舉例 C+程序設計語句序列語句序列1 1語句序列語句序列2 2語句序列語句序列 1 1條件?條件?成立成立不成立不成立語句序列語句序列 2 2語句序列語句序列不成立不成立成立成立條件?條件?順序結構順序結構 選擇結構選擇結構 循環(huán)結構循環(huán)結構由這三種基本結構經(jīng)過反復嵌套構成的由這三種基本結構經(jīng)過反復嵌套構成的程序稱為結構化程序程序稱為結構化程序C+程序設計按照語句出現(xiàn)的先后順序依次執(zhí)行。按照語句出現(xiàn)的先后順序依次執(zhí)行。 例例1:編寫程序:要求輸入編寫程序:要求輸入直角直角三角

2、形的三角形的斜邊斜邊和一條和一條直直角邊角邊,求三角形另外一條,求三角形另外一條直角邊,周長和面積直角邊,周長和面積 。#include#includeusing namespace std;3.1 順序結構:順序結構:C+程序設計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周長周長=lendl;cout面積面積=sendl;C+程序設計#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+程序設計根據(jù)根據(jù)條件的值條件的值來判斷程序的流向。來判斷程序的流向。 if語句,實現(xiàn)語句,實現(xiàn)n分支,要求分支,要求n個表達式個表達式;switch語句,實現(xiàn)多分支;用語句,實現(xiàn)多分支;用1個表達式個表達式1.if語句的三種形式語句的三種形式if (表達式)表達式) 語句語句 if(表達式)表達式) 語句語句1else 語句語句2不能單獨存在不能單獨存在3.2 選擇結構:選擇結構:C+程序設計表

4、達式表達式1 1假假真真表達式表達式2 2表達式表達式3 3表達式表達式4 4語句語句5 5語句語句4 4語句語句3 3語句語句2 2語句語句1 1真真真真真真假假假假假假if(表達式表達式1) 語句語句1 else if(表達式表達式2) 語句語句2 else if(表達式表達式3) 語句語句3else if(表達式表達式m) 語句語句m else 語句語句 m+1 if語句的三種形式語句的三種形式C+程序設計表達式表達式語句語句假假(0)真真(非非0)第一種形式的條件語句第一種形式的條件語句 if (表達式表達式) 語句語句 說明:說明:ifif后面的表達式類型任意后面的表達式類型任意語句

5、可以是語句可以是一句或復合語句一句或復合語句。if(x) 語句語句if(x!=0)if(!x)if(xy) t=x; x=y; y=t;coutxy; if(x=0)C+程序設計#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;復合語句復合語句 C+程序設計#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í)行一個分支后,其余分支不再執(zhí)行。程序執(zhí)行一個分支后,其余分支不再執(zhí)行。 else ifelse if不能寫成不能寫成elseifelseif。 當多分支中有多個表達式同時滿足,只執(zhí)行當多分支中有多個表達式同時滿足,只執(zhí)行第一個與之匹配的語句。第一個與之匹配的語句。C+程序設計例例: :編程實現(xiàn)分段函數(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;復合語句復合語句C+程序設計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互換互換復合語句復合語句為什么要引入中間變量為什么要引入中間變量t?C+程序設計例:考慮下面程序輸出結果例:考慮下面程序輸出結果

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; 結果:-1該語句不屬于選擇結構中的語句該語句不屬于選擇結構中的語句C+程序設計例:例:求一元二次方程求一元二次方程ax2+bx+c=0的根,其的根,其中系數(shù)中系數(shù)a, b, c為實數(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+程序設計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+程序設計switch語句語句switch(表達式表達式) case 常量常量表達式表達式1: 語句組語句組1;case 常量表達式常量表達式2: 語句組語句組2;case 常量表達式常量表達

11、式n: 語句組語句組n;default : 語句組語句組n+1;可選可選break;break;break;必須為必須為整型整型或或字符型字符型C+程序設計說明:說明:10 常量表達式的常量表達式的值值必須必須互不相等互不相等。20 語句組語句組i可以含有多個語句??梢院卸鄠€語句。30 語句中含有語句中含有break語句時,執(zhí)行完后退出語句時,執(zhí)行完后退出switch語句。語句。40 若某組語句不含若某組語句不含break語句,則本組語句語句,則本組語句執(zhí)行完畢后將繼續(xù)執(zhí)行下一組語句。執(zhí)行完畢后將繼續(xù)執(zhí)行下一組語句。C+程序設計50若沒有常量值與表達式值相等,執(zhí)行若沒有常量值與表達式值相等,

12、執(zhí)行default語句語句n+1,若無該語句若無該語句,退出退出switch語句。語句。60可以多個可以多個case共用一組語句。共用一組語句。80用用switch語句實現(xiàn)的多分支結構程序,可用語句實現(xiàn)的多分支結構程序,可用if語句或語句或if語句的嵌套來實現(xiàn)。語句的嵌套來實現(xiàn)。70switch語句允許嵌套。語句允許嵌套。C+程序設計例例:用用switch結構求分段函數(shù)結構求分段函數(shù) 2a+1 (1=a2)b= a2-3 (2=a=1&a=2&a4:. default: b=a;關系表關系表達式達式思考:思考:若省去若省去break語句,情況會怎樣?語句,情況會怎樣? brea

13、k;break;C+程序設計例:例:從鍵盤上輸入學生的分數(shù),要求當學生的從鍵盤上輸入學生的分數(shù),要求當學生的分數(shù)分數(shù) 90100very good! 8090 good 6080 pass 050 FailC+程序設計#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+程序設計例:例:執(zhí)行下列程序段后,輸出結果為:執(zhí)行下列程序段后,輸出結果為:int a=1,b=0;switch(a) case 1: switch(b); case 0: cout“*0*”;break; case 1:cout“*1*”;break; case 2

溫馨提示

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

評論

0/150

提交評論