版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、國家級精品課程網(wǎng)站(本書配套教學(xué)網(wǎng)站)第3章控制結(jié)構(gòu)3.1 程序的基本控制結(jié)構(gòu)3.2 +的控制結(jié)構(gòu)1. 順序結(jié)構(gòu)2. 選擇結(jié)構(gòu)3. 循環(huán)結(jié)構(gòu)程序設(shè)計舉例13.1 程序的基本控制結(jié)構(gòu)一.結(jié)構(gòu)化程序設(shè)計結(jié)構(gòu)化程序設(shè)計方法的基本思想是任何程序都可以用三種基本結(jié)構(gòu)表示,即順序結(jié)構(gòu),選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu)。由這三種基本結(jié)構(gòu)經(jīng)過 嵌套構(gòu)成的程序稱為結(jié)構(gòu)化程序語句序列1成立條件?不成立條件?不成立語句序列成立語句序列2語句序列 1語句序列 2順序結(jié)構(gòu)2選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)二.模塊化程序結(jié)構(gòu)1. 模塊化把程序劃分為若干個模塊,每個模塊獨立存放、一個模塊完成一個
2、功能2. 目的降低程序的復(fù)雜度,使設(shè)計出來的程序便于閱讀、調(diào)試和維護(hù)。3. 一個模塊可以是一條語句、一段程序、一個函數(shù)等4. 基本特征僅有一個入口和一個出口323.2 C+的控制結(jié)構(gòu)1、順序結(jié)構(gòu)說明語句賦值語句I/O 語句復(fù)合語句和空語句2、選擇結(jié)構(gòu)(1) if 語句格式:if (表達(dá)式)語句序列1else語句序列2例3-1編程實現(xiàn)分段函數(shù)x +1,x 0y = 1,0 x 1x31 x#include using namespace std; int main( )double x, y; coutx;if(x0) y=x+1;coutx=x, y=x+1=yendl;else if(x1)
3、/ 0 x 1 y=1;coutx=x, y=yendl;else y=x*x*x;/ 1 xcoutx=x, y=x*x*x=yendl;return 0;(2) switch語句語句格式:switch(整數(shù)表達(dá)式)case 數(shù)值1:語句序列1;.case 數(shù) 值 n: 語句序列n;default :語句序列n+1;例3-2:將百分制的分?jǐn)?shù)轉(zhuǎn)換為5級制分?jǐn)?shù)編寫程序,將百分制的學(xué)生成績轉(zhuǎn)換為優(yōu)秀、良好、中等、及格和不及格的5級制成績。標(biāo)準(zhǔn)為:優(yōu)秀: 100-90分; 良好: 80-89分; 中等: 70-79分; 及格: 60-69分;不及格: 60分以下。#include using nam
4、espace std; int main()int old_grade, new_grade; coutold_grade;switch (old_grade/10)/ 根據(jù)轉(zhuǎn)換值進(jìn)行分支選擇case 10:case 9:new_grade = 5; break;case 8:new_grade = 4; break;case 7:new_grade = 3; break;case 6:new_grade = 2; break;default:new_grade = 1;coutBefore transformed, the score is old_gradeendl; coutAfter
5、transformed, the score is new_gradeendl; return 0;(1) while語句格式:3.循環(huán)結(jié)構(gòu)while(表達(dá)式)循環(huán)體語句序列條件?不成立成立例3-3:計算常數(shù)e的值計算,e = 1 + 1 + 1 + . + 1+ .1!2!n!當(dāng)通項 1 10 -7n!時停止計算#include using namespace std; int main() double e = 1.0; double u = 1.0; int n = 1;while(u = 1.0E-7)u = u/n;e = e+u;n = n+1;cout e = e ( n = n
6、 ) endl; return 0;(2) dowhile語句格式:do語句序列語句序列while (表達(dá)式);成立條件?不成立例3-4用do-while重新編寫例3-3的程序#include using namespace std; int main() double e = 1.0; double u = 1.0; int n= 1;dou = u/n;e = e+u;n = n+1;while(u=1.0E-7);cout e = e ( n = n ) endl; return 0;格式:(3) for語句for(表達(dá)式1;表達(dá)式2;表達(dá)式3) 循環(huán)體for的執(zhí)行過程(1) 計算表達(dá)式
7、1;(2) 計算表達(dá)式2值為非0時,執(zhí)行步驟3; 值為0時退出循環(huán);(3) 執(zhí)行循環(huán)體;(4) 計算表達(dá)式3;(5)返回(2);執(zhí)行表達(dá)式 1否表達(dá)式為真是循環(huán)體執(zhí)行表達(dá)式 3例3-5:計算1+2+3+100#include using namespace std; int main()int sum=0;for(int i=1; i=100; i+)sum=sum+i;/ 累加求和cout 1+2+3+100=sumendl;return 0;例3-7:用迭代公式求平方根設(shè)x = , a則迭代公式為xn+1= (xn+ a / xn ) 2迭代結(jié)束條件取相對誤差。xn+1- xn exn+1
8、#include #include using namespace std;const double EPS = 1.0e-10; int main()double a, x;cout a;double x0, x1; x1 = 1.0;if (a0.0)/ 避免負(fù)數(shù)開方dox0 = x1;x1 = (x0+a/x0)/2;while(fabs(x0-x1)/x1)=EPS);/ fabs()函數(shù)為求絕對值的庫函數(shù)x= x1;elsex= a;if(x0)cout The negative does not have squareroot ! else endl;cout The square
9、 root of a is x endl;return 0;例3-8:求的近似值#include #include using namespace std; int main()int s = 1;double n = 1.0, u = 1.0, pi = 0.0;while(fabs(u)=1.0e-4)pi = pi+u;/ 累加通項n = n+2;s = -s;/ 符號位的生成u = s/n;/ 通項cout pi = 4*pi endl; return 0;例3-9:打印所有的水仙花數(shù)如果一個三位數(shù)的個位數(shù)、十位數(shù)和百位數(shù)的立方和等于該數(shù)自身,則稱該數(shù)為水仙花數(shù)。編一程序求出所有的水仙
10、花數(shù)。#include using namespace std; int main()int n, i, j, k;for(n=100; n=999; n+)i = n/100;/ 取出n的百位數(shù)j = (n/10)%10;/ 取數(shù)n的十位數(shù)k = n%10;/ 取出n的個位數(shù)if(n=i*i*i+j*j*j+k*k*k)cout n = i3 + j3 + k3endl;return 0;例 3-10:制作乘法表#include using namespace std; int main()int i, j;for(i=1; i10; i+)for(j=1; j=i; j+)cout j * i =i*j t; cout endl;return 0;例3-11:統(tǒng)計階乘n!的末尾中0的個數(shù)對于任意給定的一個正整數(shù)n,統(tǒng)計其階乘n!的末尾中0的個數(shù)。#include using namespace std; int main( )int n; int sum=0; int i, k;cout
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 資產(chǎn)評估學(xué)教程-練習(xí)答案6
- 上海市市轄區(qū)(2024年-2025年小學(xué)五年級語文)人教版開學(xué)考試(下學(xué)期)試卷及答案
- 2023-2024學(xué)年廣東省深圳市南山區(qū)七年級(上)期末英語試卷
- 三年級數(shù)學(xué)計算題專項練習(xí)及答案
- 二年級語文上冊第一單元教案
- HDPE波紋管技術(shù)規(guī)格書
- 《電氣控制系統(tǒng)設(shè)計與裝調(diào)》教案 項目三任務(wù)二:認(rèn)識熔斷器、熱繼電器
- 北京市北京匯文中學(xué)教育集團(tuán)2024-2025學(xué)年高一上學(xué)期期中考試數(shù)學(xué)試題(含答案)
- 心電探頭市場發(fā)展預(yù)測和趨勢分析
- 指甲油筆產(chǎn)業(yè)運行及前景預(yù)測報告
- 維護(hù)維修方案標(biāo)書(2篇)
- 預(yù)防及控制養(yǎng)老機(jī)構(gòu)院內(nèi)感染-院內(nèi)感染基本知識
- 全新定制衣柜質(zhì)保合同
- 醫(yī)院培訓(xùn)課件:《血氣分析的質(zhì)量控制》
- 2024勞動合同模板下載
- 大學(xué)生紅色旅游調(diào)查報告總結(jié)
- 【高中班主任育人方略】《以德樹人、以情聚人、以理律人》課件
- 一例肺癌術(shù)后并發(fā)肺栓塞患者的個案護(hù)理
- 學(xué)習(xí)科學(xué)與技術(shù)智慧樹知到期末考試答案章節(jié)答案2024年山東師范大學(xué)
- 技能成才強國有我主題班會
- 民用建筑電線電纜防火技術(shù)規(guī)程DBJ-T 15-226-2021
評論
0/150
提交評論