C++基礎(chǔ)第五章 流程控制結(jié)構(gòu)之選擇結(jié)構(gòu)ppt課件_第1頁
C++基礎(chǔ)第五章 流程控制結(jié)構(gòu)之選擇結(jié)構(gòu)ppt課件_第2頁
C++基礎(chǔ)第五章 流程控制結(jié)構(gòu)之選擇結(jié)構(gòu)ppt課件_第3頁
C++基礎(chǔ)第五章 流程控制結(jié)構(gòu)之選擇結(jié)構(gòu)ppt課件_第4頁
C++基礎(chǔ)第五章 流程控制結(jié)構(gòu)之選擇結(jié)構(gòu)ppt課件_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第五章 流程控制構(gòu)造之選擇構(gòu)造1-2課程內(nèi)容安排課程內(nèi)容安排C+中條件的構(gòu)成。中條件的構(gòu)成。if語句的運用。語句的運用。switch語句的運用。語句的運用。選擇構(gòu)造的嵌套。選擇構(gòu)造的嵌套。選擇構(gòu)造的綜合運用。選擇構(gòu)造的綜合運用。1-3條件條件 在在C+程序中,程序中,“條件是用一個表達式表示的,該表條件是用一個表達式表示的,該表達式的結(jié)果是一個達式的結(jié)果是一個bool值,或者是某個整數(shù)值。在程序值,或者是某個整數(shù)值。在程序執(zhí)行過程中,假設(shè)某個條件得到了滿足,或者不滿足,執(zhí)行過程中,假設(shè)某個條件得到了滿足,或者不滿足,那么程序就會沿著相應(yīng)的語句序列順序執(zhí)行下去。因此那么程序就會沿著相應(yīng)的語句序列

2、順序執(zhí)行下去。因此,條件是選擇構(gòu)造的一個重要組成部分。普通來說,條件是選擇構(gòu)造的一個重要組成部分。普通來說,C+中,條件普通有兩種方式:關(guān)系表達式條件和邏輯中,條件普通有兩種方式:關(guān)系表達式條件和邏輯表達式條件。表達式條件。 1-4if語句語句 在在C+言語中,有兩種類型的語句可以控制選擇構(gòu)造的言語中,有兩種類型的語句可以控制選擇構(gòu)造的流程,其分別為流程,其分別為if語句和語句和switch語句。其中,語句。其中,if語句又語句又有有3種方式:種方式:if方式、方式、ifelse方式和方式和ifelse ifelse方方式式 1-5if方式方式 if方式是if語句的一種根本方式,也是最為簡單的

3、一種方式,if方式的選擇語句也被稱為單分支語句。其闡明語句的普通方式為:if ( );其中,表達式可以是int型、long型、char型和enum型等數(shù)據(jù)類型,表達式的值有零和非零兩種,零為false假,非零為true真;語句可以是任何類型的語句,也可以是塊語句,即包含在一對中的一組語句。表 達 式語 句 塊TF1-6ifelse方式方式 ifelse方式的語句也稱為雙分支條件語句,其闡明語方式的語句也稱為雙分支條件語句,其闡明語句的普通方式為:句的普通方式為:if () ;else;該語句的語義是:假設(shè)表達式的值為真該語句的語義是:假設(shè)表達式的值為真true,那么,那么執(zhí)行語句執(zhí)行語句1;否

4、那么執(zhí)行語句;否那么執(zhí)行語句2。相對于如上的。相對于如上的if語句,語句,ifelse語句添加了對于表達式的值為假語句添加了對于表達式的值為假false時的時的處置語句處置語句 1-7 ifelse ifelse方式方式 C+中提供了中提供了if.else ifelse語句用于多分支構(gòu)造的流語句用于多分支構(gòu)造的流程控制,該語句普通的語句方式如下所示:程控制,該語句普通的語句方式如下所示:if () ;else if ();else if ();else ;1-8ifelse語句的嵌套,是指在一個ifelse方式語句中還包含了其他if語句或ifelse ifelse語句。普通來說,嵌套的ifel

5、se語句根本方式如下所示。if ( )if ( );else;elseif ( );else;在嵌套的ifelse語句中,相配的if和else不是靠縮進決議的,而是遵照一定的規(guī)那么,即“就近原那么。所謂“就近原那么是指else總是與和最近出現(xiàn)的且沒有匹配的if相匹配。 ifelse語句嵌套語句嵌套 1-9在C+中,switch語句也稱情況語句,其也是一種多分支語句,用于實現(xiàn)有多種選擇的程序流程switch (表達式 )case :;break;case :;break;case :;break;default:;switch語句語句 1-10所謂選擇據(jù)構(gòu)造的嵌套是指在一個選擇構(gòu)造流程控制語所謂

6、選擇據(jù)構(gòu)造的嵌套是指在一個選擇構(gòu)造流程控制語句中又含有其他的選擇構(gòu)造流程控制語句。例如,當(dāng)句中又含有其他的選擇構(gòu)造流程控制語句。例如,當(dāng)if語句中的執(zhí)行語句又是語句中的執(zhí)行語句又是if語句時,就構(gòu)成了語句時,就構(gòu)成了if語句嵌套語句嵌套的情形,在的情形,在switch語句中還可以有語句中還可以有if語句,這也是選擇語句,這也是選擇構(gòu)造的嵌套方式。構(gòu)造的嵌套方式。 選擇構(gòu)造的嵌套選擇構(gòu)造的嵌套 1-11選擇構(gòu)造綜合運用選擇構(gòu)造綜合運用 選擇構(gòu)造在運用程序中運用較多,其運用較為靈敏,很選擇構(gòu)造在運用程序中運用較多,其運用較為靈敏,很多實踐問題都可以經(jīng)過各種選擇流程控制語句來實現(xiàn)。多實踐問題都可以經(jīng)

7、過各種選擇流程控制語句來實現(xiàn)。經(jīng)過前面小節(jié)關(guān)于條件、經(jīng)過前面小節(jié)關(guān)于條件、if語句和語句和switch語句的引見,語句的引見,讀者對于讀者對于C+中選擇構(gòu)造的流程控制已有一定了解,下中選擇構(gòu)造的流程控制已有一定了解,下面經(jīng)過兩個詳細例如加強讀者對于選擇構(gòu)造的了解。面經(jīng)過兩個詳細例如加強讀者對于選擇構(gòu)造的了解。根據(jù)用戶輸入一個年份判別某年能否為閏年。計算閏年根據(jù)用戶輸入一個年份判別某年能否為閏年。計算閏年的方法是,假設(shè)某年份能被的方法是,假設(shè)某年份能被4整除并且不能被整除并且不能被100整除整除的或者能被的或者能被400整除的,那么該年為閏年。整除的,那么該年為閏年。 1-12小結(jié)小結(jié) 本章主要

8、引見了構(gòu)造化程序設(shè)計中的另一種重要構(gòu)造選擇構(gòu)造。在詳細講解控制選擇構(gòu)造流程的兩種語句前,本章首先簡要引見了選擇構(gòu)造的重要組成部分條件的組成,對關(guān)系條件、邏輯條件和組合條件做了詳細引見。本章重點講解了if語句的3種方式:if方式、ifelse方式和ifelse ifelse方式,此外,對于switch語句及選擇構(gòu)造的嵌套,本章也進展了詳細講解,并經(jīng)過多個運用例如予以驗證,掌握好這部分對于學(xué)好C+程序設(shè)計是非常關(guān)鍵的。 1-13習(xí)題習(xí)題 【標(biāo)題【標(biāo)題51】知】知int x=10,y=20,z=30,以下語句執(zhí)行后,以下語句執(zhí)行后x,y,z的值將分別是多少?的值將分別是多少?if(xy)z=x;x=

9、y;y=z;【分析】該試題主要調(diào)查【分析】該試題主要調(diào)查if語句。在上述語句中,首先判別語句。在上述語句中,首先判別關(guān)系條件關(guān)系條件xy的值能否為的值能否為true,此處將,此處將x和和y的值分別代入的值分別代入:x=10,y=20,因此,因此xy是不成立的,因此是不成立的,因此if語句下面的語句下面的第一條語句不會執(zhí)行,即語句第一條語句不會執(zhí)行,即語句z=x不會執(zhí)行,而其后的兩不會執(zhí)行,而其后的兩條語句條語句x=y和和y=z語句將會被執(zhí)行。因此,執(zhí)行該語句段語句將會被執(zhí)行。因此,執(zhí)行該語句段后,后,x、y和和z的值分別為的值分別為20,30和和30。1-14【標(biāo)題【標(biāo)題52】編寫一個】編寫一

10、個C+程序,從鍵盤輸入三角形的三邊長程序,從鍵盤輸入三角形的三邊長,判別出這三邊能否構(gòu)成三角形。例如,輸入三邊分別,判別出這三邊能否構(gòu)成三角形。例如,輸入三邊分別為為2,3,4,其前往結(jié)果如圖,其前往結(jié)果如圖5.25所示。所示。1-15【標(biāo)題【標(biāo)題53】以下程序的運轉(zhuǎn)結(jié)果是多少?】以下程序的運轉(zhuǎn)結(jié)果是多少?#include #include using namespace std;int main() int m=5; if (m+5) coutmendl; else coutm-endl; system(pause); return 0;1-16【標(biāo)題【標(biāo)題54】符號函數(shù)的實如今許多程序中是

11、常見的,用多種】符號函數(shù)的實如今許多程序中是常見的,用多種選擇語句編程實現(xiàn)符號函數(shù)。當(dāng)選擇語句編程實現(xiàn)符號函數(shù)。當(dāng)x 0 那么那么sgn(x)=+1, 當(dāng)當(dāng)x =0那么那么sgn(x)=0。例如,當(dāng)用戶。例如,當(dāng)用戶輸入輸入x的值為的值為10時,其輸出結(jié)果為時,其輸出結(jié)果為1,輸入,輸入x的值為的值為-10時時輸出結(jié)果為輸出結(jié)果為-1,輸入,輸入x的值為的值為0時輸出結(jié)果為時輸出結(jié)果為0,如圖,如圖5.26所示。所示。1-17【標(biāo)題【標(biāo)題55】以下程序的輸出結(jié)果是多少?】以下程序的輸出結(jié)果是多少? int a=100,x=10,y=20,ok1=5,ok2=0; if(xy) if(!ok1)

12、 a=1; else if(ok2) a=10; a=-1; coutaendl;1-18【標(biāo)題【標(biāo)題56】編寫一個】編寫一個C+程序,根據(jù)用戶從鍵盤輸入的程序,根據(jù)用戶從鍵盤輸入的17的數(shù)字的數(shù)字,判別當(dāng)前是星期幾,并將結(jié)果輸出。如不是,判別當(dāng)前是星期幾,并將結(jié)果輸出。如不是17之間的數(shù)字那之間的數(shù)字那么前往錯誤提示。例如,當(dāng)用戶輸入么前往錯誤提示。例如,當(dāng)用戶輸入7時,輸出結(jié)果如圖時,輸出結(jié)果如圖5.27所所示。示。 【標(biāo)題【標(biāo)題57】編寫一個程序根據(jù)輸入的三角形的三條邊判別能否能組】編寫一個程序根據(jù)輸入的三角形的三條邊判別能否能組成三角形,假設(shè)可以那么輸出它的面積和三角形類型。成三角形,

13、假設(shè)可以那么輸出它的面積和三角形類型。 1-19【標(biāo)題【標(biāo)題58】編程要求輸入整數(shù)】編程要求輸入整數(shù)a和和b,假設(shè),假設(shè)a2+b2大于大于100,那么輸出那么輸出a2+b2百位以上的數(shù)字,否那么輸出兩數(shù)之和。百位以上的數(shù)字,否那么輸出兩數(shù)之和。 【標(biāo)題【標(biāo)題59】編寫一個程序,輸入年、月,打印出該年份該月】編寫一個程序,輸入年、月,打印出該年份該月的天數(shù)。的天數(shù)?!緲?biāo)題【標(biāo)題60】編寫一個】編寫一個C+程序,輸入一個字母,假設(shè)它是一程序,輸入一個字母,假設(shè)它是一個大寫字母,那么把它變成小寫字母;假設(shè)它是一個小個大寫字母,那么把它變成小寫字母;假設(shè)它是一個小寫字母,那么把它變成大寫字母;其它字符不變。寫字母,那么把它變成大寫字母;其它字符不變。 1-20【標(biāo)題【標(biāo)題61】有一個函數(shù)如下:】有一個函數(shù)如下: x (x5) y= x+6 (5=x=15) 輸入輸入

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論