程序流程控制課件_第1頁
程序流程控制課件_第2頁
程序流程控制課件_第3頁
程序流程控制課件_第4頁
程序流程控制課件_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第4章

程序流程控制C++控制流程的語句,包括分支、循環(huán)和跳轉(zhuǎn)語句,通過各種控制語句的串接和嵌套,可以組合出豐富的程序功能。4.1復(fù)合語句4.2程序的執(zhí)行流程4.3分支流程4.4循環(huán)流程4.5設(shè)計舉例4.6其他控制語句

[Return]第4章程序流程控制C++控制流程的語句,包括分支、循14.1復(fù)合語句常用的語句有:說明和定義(聲明)語句、表達(dá)式語句、流程控制語句和異常處理語句。將多條相關(guān)語句組合在一起,放在{}中,就形成了復(fù)合語句。右邊的}后不必再加上分號。[Return]4.1復(fù)合語句常用的語句有:說明和定義(聲明)語句、表達(dá)24.2程序的執(zhí)行流程程序的執(zhí)行流程分:順序流程、分支流程和循環(huán)流程。順序流程就是按語句的順序一條一條地向下執(zhí)行。[Return]4.2程序的執(zhí)行流程程序的執(zhí)行流程分:順序流程、分支流程34.3分支流程在程序中加進(jìn)一個判斷條件,根據(jù)條件的不同值來確定執(zhí)行不同的操作。就構(gòu)成分支流程。參見P.51圖4.1。分支流程有if語句和switch語句。當(dāng)if…else嵌套時,else總是和最近的一條if語句相匹配。【例一】【例二】[Return]4.3分支流程在程序中加進(jìn)一個判斷條件,根據(jù)條件的不同值4例一:閏年是指年份能被4整除的那些年,但不包括年份能被100整除而不能被400整除的年。編寫一個程序,判斷某一年是否為閏年。

#include<iostream.h>voidmain(){ intyear; cout<<"請輸入年份數(shù)字:"; cin>>year; cout<<"公元"<<year; if(year%100)//不能被100整除,相當(dāng)于year%100<>0 if(year%4)//不能被4整除 cout<<"年不是閏年。"<<endl; else cout<<"年是閏年。"<<endl; else//能被100整除 if(year%400)//不能被400整除 cout<<"年不是閏年。"<<endl; else cout<<"年是閏年。"<<endl;

}[return]例一:閏年是指年份能被4整除的那些年,但不包括年份能被105例二:編寫一個程序,將用戶輸入的數(shù)字(0-6)轉(zhuǎn)換成相應(yīng)的星期值輸出。如用戶輸入3,則程序輸出Wednesday,用戶輸入0,則輸出Sunday。

#include<iostream.h>voidmain(){ intweekday; cout<<"請輸入星期的阿拉伯?dāng)?shù)字(0-6,星期天為0):"; cin>>weekday;

switch(weekday) { case0: cout<<"Sunday"<<endl;break; case1: cout<<"Monday"<<endl;break; case2: cout<<"Tuesday"<<endl;break; case3: cout<<"Wednesday"<<endl;break; case4: cout<<"Thusday"<<endl;break; case5: cout<<"Friday"<<endl;break; case6: cout<<"Satday"<<endl;break;default: cout<<"表示星期的數(shù)字必須在0-6之間"<<endl;break; }}

[return]例二:編寫一個程序,將用戶輸入的數(shù)字(0-6)轉(zhuǎn)換成相應(yīng)的星64.4循環(huán)流程循環(huán)流程提供重復(fù)處理的能力。4.4.1while語句4.4.2do…while語句4.4.3for循環(huán)[Return]4.4循環(huán)流程循環(huán)流程提供重復(fù)處理的能力。74.4.1while語句一般形式為:while(條件表達(dá)式)循環(huán)體語句。參見圖4.2當(dāng)條件表達(dá)式永真時,必須在語句中用break語句跳出循環(huán),否則陷入死循環(huán)。若條件表達(dá)式一開始時就不成立,則循環(huán)體語句一次也不執(zhí)行。【例】

[return]4.4.1while語句一般形式為:8用while循環(huán)編程求“水仙花數(shù)”#include<iostream.h>voidmain(){ inti=100,a,b,c;//從100開始逐個試到999為止 while(i<1000){ a=i%10;//求得個位數(shù) b=((i-a)%100)/10;//求得十位數(shù) c=(i-a-b*10)/100;//求得百位數(shù) if(i==a*a*a+b*b*b+c*c*c)//若找到水仙花數(shù)則輸出 cout<<c<<"^3+"<<b<<"^3+"<<a<<"^3="<<i<<endl; i++;}}

[return]用while循環(huán)編程求“水仙花數(shù)”#include<io94.4.2do…while語句一般形式為:do循環(huán)體語句while(條件表達(dá)式);參見圖4.5先執(zhí)行循環(huán)體語句,然后再判斷條件表達(dá)式是否成立,因此循環(huán)體至少執(zhí)行一次,這是與while最大的不同之處。【例】[return]4.4.2do…while語句一般形式為:10用do…while編程求“水仙花數(shù)”#include<iostream.h>voidmain(){ inti=100,a,b,c;//從100開始逐個試到999為止do { a=i%10;//求得個位數(shù) b=((i-a)%100)/10;//求得十位數(shù) c=(i-a-b*10)/100;//求得百位數(shù) if(i==a*a*a+b*b*b+c*c*c)//若找到水仙花數(shù)則輸出 cout<<c<<"^3+"<<b<<"^3+"<<a<<"^3="<<i<<endl; i++;}while(i<1000);

}[return]用do…while編程求“水仙花數(shù)”#include<i114.4.3for循環(huán)一般形式為:for(表達(dá)式一;表達(dá)式二;表達(dá)式三)循環(huán)體語句for后的表達(dá)式可以缺少一個或數(shù)個,但分號不可缺一般在循環(huán)次數(shù)已知時使用for循環(huán)較方便三種循環(huán)方式在大多數(shù)情況下可互換【例】

[return]4.4.3for循環(huán)一般形式為:12用for循環(huán)編程求“水仙花數(shù)”#include<iostream.h>voidmain(){ inta,b,c;//從100開始逐個試到999為止for(inti=100;i<1000;i++) { a=i%10;//求得個位數(shù) b=((i-a)%100)/10;//求得十位數(shù) c=(i-a-b*10)/100;//求得百位數(shù) if(i==a*a*a+b*b*b+c*c*c)//若找到水仙花數(shù)則輸出 cout<<c<<"^3+"<<b<<"^3+"<<a<<"^3="<<i<<endl;

}}

[return]用for循環(huán)編程求“水仙花數(shù)”#include<iost134.5設(shè)計舉例例4.21#include<iostream.h>voidmain(){ charch; intwordNum=0; cout<<"Pleaseinputasentence:\n"; do {//過濾空格 while((ch=cin.get())=='') ;//空語句(無循環(huán)體) if(ch==‘\n’)break;//如果是換行則結(jié)束循環(huán) while(ch!=‘’&&ch!=‘\n’)//讀入一個單詞 ch=cin.get(); wordNum++;//計數(shù)器增1 }while(ch!='\n'); cout<<"Thenumeberofwordsequals:"<<wordNum<<endl;}P.60實驗三之實驗內(nèi)容的第2題P.62實驗三之實驗要求的第2題P.62實驗三之實驗要求的第3題[Return]4.5設(shè)計舉例例4.21#include<iostrea144.6其他控制語句goto語句:無條件跳轉(zhuǎn)語句。格式為goto<語句標(biāo)號>應(yīng)盡量避免使用,僅在從多重循環(huán)直接跳出最外層循環(huán)時用。continue語句:繼續(xù)語句。限用于循環(huán)體中,執(zhí)行到continue結(jié)束本輪循環(huán)而開始下一輪循環(huán);break語句:中斷語句。限用于循環(huán)體或switch語句中。結(jié)束所在一層的循環(huán)或switch的執(zhí)行。在多重循環(huán)內(nèi)層時不能一下子跳到循環(huán)外。return語句:返回語句。除void類型外,后面必須帶有表達(dá)式。[Return]4.6其他控制語句goto語句:無條件跳轉(zhuǎn)語句。格式為g15演講完畢,謝謝觀看!演講完畢,謝謝觀看!16第4章

程序流程控制C++控制流程的語句,包括分支、循環(huán)和跳轉(zhuǎn)語句,通過各種控制語句的串接和嵌套,可以組合出豐富的程序功能。4.1復(fù)合語句4.2程序的執(zhí)行流程4.3分支流程4.4循環(huán)流程4.5設(shè)計舉例4.6其他控制語句

[Return]第4章程序流程控制C++控制流程的語句,包括分支、循174.1復(fù)合語句常用的語句有:說明和定義(聲明)語句、表達(dá)式語句、流程控制語句和異常處理語句。將多條相關(guān)語句組合在一起,放在{}中,就形成了復(fù)合語句。右邊的}后不必再加上分號。[Return]4.1復(fù)合語句常用的語句有:說明和定義(聲明)語句、表達(dá)184.2程序的執(zhí)行流程程序的執(zhí)行流程分:順序流程、分支流程和循環(huán)流程。順序流程就是按語句的順序一條一條地向下執(zhí)行。[Return]4.2程序的執(zhí)行流程程序的執(zhí)行流程分:順序流程、分支流程194.3分支流程在程序中加進(jìn)一個判斷條件,根據(jù)條件的不同值來確定執(zhí)行不同的操作。就構(gòu)成分支流程。參見P.51圖4.1。分支流程有if語句和switch語句。當(dāng)if…else嵌套時,else總是和最近的一條if語句相匹配。【例一】【例二】[Return]4.3分支流程在程序中加進(jìn)一個判斷條件,根據(jù)條件的不同值20例一:閏年是指年份能被4整除的那些年,但不包括年份能被100整除而不能被400整除的年。編寫一個程序,判斷某一年是否為閏年。

#include<iostream.h>voidmain(){ intyear; cout<<"請輸入年份數(shù)字:"; cin>>year; cout<<"公元"<<year; if(year%100)//不能被100整除,相當(dāng)于year%100<>0 if(year%4)//不能被4整除 cout<<"年不是閏年。"<<endl; else cout<<"年是閏年。"<<endl; else//能被100整除 if(year%400)//不能被400整除 cout<<"年不是閏年。"<<endl; else cout<<"年是閏年。"<<endl;

}[return]例一:閏年是指年份能被4整除的那些年,但不包括年份能被1021例二:編寫一個程序,將用戶輸入的數(shù)字(0-6)轉(zhuǎn)換成相應(yīng)的星期值輸出。如用戶輸入3,則程序輸出Wednesday,用戶輸入0,則輸出Sunday。

#include<iostream.h>voidmain(){ intweekday; cout<<"請輸入星期的阿拉伯?dāng)?shù)字(0-6,星期天為0):"; cin>>weekday;

switch(weekday) { case0: cout<<"Sunday"<<endl;break; case1: cout<<"Monday"<<endl;break; case2: cout<<"Tuesday"<<endl;break; case3: cout<<"Wednesday"<<endl;break; case4: cout<<"Thusday"<<endl;break; case5: cout<<"Friday"<<endl;break; case6: cout<<"Satday"<<endl;break;default: cout<<"表示星期的數(shù)字必須在0-6之間"<<endl;break; }}

[return]例二:編寫一個程序,將用戶輸入的數(shù)字(0-6)轉(zhuǎn)換成相應(yīng)的星224.4循環(huán)流程循環(huán)流程提供重復(fù)處理的能力。4.4.1while語句4.4.2do…while語句4.4.3for循環(huán)[Return]4.4循環(huán)流程循環(huán)流程提供重復(fù)處理的能力。234.4.1while語句一般形式為:while(條件表達(dá)式)循環(huán)體語句。參見圖4.2當(dāng)條件表達(dá)式永真時,必須在語句中用break語句跳出循環(huán),否則陷入死循環(huán)。若條件表達(dá)式一開始時就不成立,則循環(huán)體語句一次也不執(zhí)行。【例】

[return]4.4.1while語句一般形式為:24用while循環(huán)編程求“水仙花數(shù)”#include<iostream.h>voidmain(){ inti=100,a,b,c;//從100開始逐個試到999為止 while(i<1000){ a=i%10;//求得個位數(shù) b=((i-a)%100)/10;//求得十位數(shù) c=(i-a-b*10)/100;//求得百位數(shù) if(i==a*a*a+b*b*b+c*c*c)//若找到水仙花數(shù)則輸出 cout<<c<<"^3+"<<b<<"^3+"<<a<<"^3="<<i<<endl; i++;}}

[return]用while循環(huán)編程求“水仙花數(shù)”#include<io254.4.2do…while語句一般形式為:do循環(huán)體語句while(條件表達(dá)式);參見圖4.5先執(zhí)行循環(huán)體語句,然后再判斷條件表達(dá)式是否成立,因此循環(huán)體至少執(zhí)行一次,這是與while最大的不同之處。【例】[return]4.4.2do…while語句一般形式為:26用do…while編程求“水仙花數(shù)”#include<iostream.h>voidmain(){ inti=100,a,b,c;//從100開始逐個試到999為止do { a=i%10;//求得個位數(shù) b=((i-a)%100)/10;//求得十位數(shù) c=(i-a-b*10)/100;//求得百位數(shù) if(i==a*a*a+b*b*b+c*c*c)//若找到水仙花數(shù)則輸出 cout<<c<<"^3+"<<b<<"^3+"<<a<<"^3="<<i<<endl; i++;}while(i<1000);

}[return]用do…while編程求“水仙花數(shù)”#include<i274.4.3for循環(huán)一般形式為:for(表達(dá)式一;表達(dá)式二;表達(dá)式三)循環(huán)體語句for后的表達(dá)式可以缺少一個或數(shù)個,但分號不可缺一般在循環(huán)次數(shù)已知時使用for循環(huán)較方便三種循環(huán)方式在大多數(shù)情況下可互換【例】

[return]4.4.3for循環(huán)一般形式為:28用for循環(huán)編程求“水仙花數(shù)”#include<iostream.h>voidmain(){ inta,b,c;//從100開始逐個試到999為止for(inti=100;i<1000;i++) { a=i%10;//求得個位數(shù) b=((i-a)%100)/10;//求得十位數(shù) c=(i-a-b*10)/100;//求得百位數(shù) if(i==a*a*a+b*b*b+c*c*c)//若找到水仙花數(shù)則輸出 cout<<c<<"^3+"<<b<<"^3+"<<a<<"^3

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論