《c++程序設計》第3章-程序結構和流程控制語句_第1頁
《c++程序設計》第3章-程序結構和流程控制語句_第2頁
《c++程序設計》第3章-程序結構和流程控制語句_第3頁
《c++程序設計》第3章-程序結構和流程控制語句_第4頁
《c++程序設計》第3章-程序結構和流程控制語句_第5頁
已閱讀5頁,還剩80頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

本章知識點導圖目的與要求3.1

程序的三種基本結構和語句3.2分支語句3.3循環(huán)語句3.4控制執(zhí)行順序的語句3.5

程序設計舉例本章小結第3章程序結構和流程控制語句《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第1頁。本章知識點導圖《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第2頁。目的和要求通過本章的學習,應掌握程序的三種基本結構,即順序結構、分支結構和循環(huán)結構;掌握C++中實現(xiàn)這三種基本結構的控制語句的格式、功能和執(zhí)行過程;能使用這些控制語句編寫具有順序、分支和循環(huán)三種基本結構的程序?!禼++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第3頁。3.1.1程序的三種基本結構1.順序結構S1S2順序結構(a)(b)3.1

程序的三種基本結構和語句

《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第4頁。2.分支結構

真假BS2S1分支結構(a)(b)《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第5頁。多分支結構真真真假假B1B2BnS1S2SnSn+1...假

多分支結構《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第6頁。3.循環(huán)結構真假BS當型循環(huán)結構(a)(b)《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第7頁。直到型循環(huán)結構假真SB直到型循環(huán)結構(a)(b)《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第8頁。三種基本結構都具有下列的共同特征

(1)單入口和單出口,即只有一個入口和一個出口;(2)沒有無用的部分,即結構中所有部分都有被執(zhí)行的機會;(3)不存在“死循環(huán)”(無終止的循環(huán)),即執(zhí)行時間是有限的。已有人從理論上證明了,由三種基本結構順序組合構成的程序能處理任何復雜的問題。《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第9頁。3.1.2C++程序的組成源程序文件1源程序文件2源程序文件n……編譯預處理命令函數(shù)1函數(shù)n……函數(shù)2函數(shù)說明函數(shù)體數(shù)據(jù)定義執(zhí)行語句C++程序的組成C++程序《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第10頁。3.1.3C++程序的語句C++程序的語句可以分成以下六大類:

1.說明語句

2.控制語句

3.函數(shù)調用語句

4.表達式語句

5.空語句

6.復合語句《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第11頁。3.2分支語句

分支語句用于實現(xiàn)分支結構程序設計。分支程序有兩路分支結構和多路分支結構,兩路分支結構可用if語句實現(xiàn),多路分支結構可用嵌套的if語句和switch語句實現(xiàn)。

《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第12頁。3.2.1if語句

1.if語句(即條件語句)的三種形式

(1)單選條件語句單選條件語句的格式為:

if(<表達式>)<語句>【例3.1】輸入兩個整數(shù)a和b,輸出其中較大的一個數(shù)。例程單選條件語句執(zhí)行過程表達式語句假(0)真(非0)(a)(b)《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第13頁。if語句的三種形式(2)雙選條件語句雙選條件語句的格式為:

if(<表達式>)<語句1>else<語句2>【例3.2】輸入兩個整數(shù)a和b,輸出其中較大的一個數(shù)。例程兩選條件語句執(zhí)行過程表達式語句1假(0)語句2真(非0)(a)(b)《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第14頁。if語句的三種形式(3)多選條件語句多選條件語句的格式為:

if(<表達式1>)<語句1>elseif(<表達式2>)<語句2>elseif(<表達式3>)<語句3>......elseif(<表達式n-1>)<語句n-1>else<語句n>【例3.3】有下列分段函數(shù):編一程序,輸入x,輸出y的值。

x2-50≤x<10y=x+1x<0x3x≥10例程《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第15頁。2.if語句的嵌套

在if語句中又包含一個或多個if語句稱為if語句的嵌套。其一般格式為:

if(<表達式1>)if(<表達式2>)<語句1>else<語句2>elseif(<表達式3>)<語句3>else<語句4>【例3.5】

求三個整數(shù)a、b、c中的最大者,a、b、c由鍵盤輸入。

注意:if語句嵌套使用時,應當注意else與if的配對關系。C++規(guī)定:else總是與其前面最近的還沒有配對的if進行配對。

例程《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第16頁。3.2.2條件運算符和條件表達式

(1)條件運算符:?:(2)條件表達式:

<表達式1>?<表達式2>:<表達式3>(3)執(zhí)行過程:

if〈表達式1〉條件表達式=〈表達式2〉else條件表達式=〈表達式3〉;(4)優(yōu)先級條件運算符的優(yōu)先級高于賦值運算符和逗號運算符,低于算術運算符、關系運算符和邏輯運算符?!禼++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第17頁。3.2.3switch語句

1.switch語句(即開關語句)(1)作用:

switch語句即開關語句,它根據(jù)給定的條件,決定執(zhí)行多個分支程序段中的某一個分支程序段。(2)格式:

switch(<表達式>){case<常量表達式1>:〔<語句1>〕case<常量表達式2>:〔<語句2>〕......case<常量表達式n-1>:〔<語句n-1>〕〔default:<語句n>〕}【例3.7】輸入0~6的整數(shù),將其轉換成對應的星期幾。

例程《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第18頁。2.break語句在switch語句中的作用

(1)作用:中止當前語句的執(zhí)行,并跳轉到下一條語句處執(zhí)行。(2)格式:

break;【例3.8】商店打折售貨。購貨金額數(shù)量越大,折扣越大。具體標準為(m:購貨金額,d:折扣率):

m<250(元) d=0%250≤m<500 d=5%500≤m<1000 d=7.5%1000≤m<2000 d=10%m≥2000 d=15%

從鍵盤輸入購貨金額,計算實付的金額。例程《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第19頁。3.3循環(huán)語句

所謂循環(huán)結構就是在給定條件成立的情況下,重復執(zhí)行一個程序段;當給定條件不成立時,退出循環(huán),再執(zhí)行循環(huán)下面的程序。實現(xiàn)循環(huán)結構的語句稱為循環(huán)語句。在C++中,循環(huán)語句有while語句、do…while語句和for語句?!禼++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第20頁。3.3.1while語句

(1)作用:實現(xiàn)“當型”循環(huán)結構。(2)格式:

while(<表達式>)<語句>(3)執(zhí)行過程:先計算表達式的值,當表達式的值為非0時,重復執(zhí)行指定的語句;當表達式的值為0時,結束循環(huán)?!纠?.9】用while語句計算:S=1+2+3+4+…+n?!纠?.10】用while語句計算T=n!,即求連乘積:T=1×2×3×4…×n。例程例程

while語句執(zhí)行過程語句真(非0)假(0)表達式(a)(b)《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第21頁。3.3.2do…while語句

(1)作用:實現(xiàn)“直到型”循環(huán)結構。

(2)格式:

do<語句>while(<表達式>);

(3)執(zhí)行過程:先執(zhí)行語句,然后計算表達式的值,當表達式的值為非0時,就重復執(zhí)行指定的語句;當表達式的值為0時,結束循環(huán)?!纠?.11】用do…while語句計算S=1+2+3+4+…+n?!纠?.12】用do…while語句計算T=n!,即求連乘積:T=1×2×3×4…×n。

例程例程真(非0)假(0)表達式語句Do…while執(zhí)行過程(a)(b)《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第22頁。3.3.3for語句1.for語句格式:

for(<表達式1>;<表達式2>;<表達式3>)<語句>2.for語句的執(zhí)行過程:表達式2語句真(非0)假(0)求解表達式1求解表達式3for語句執(zhí)行流程圖TF<語句>①②④

for(<表達式1>;<表達式2>;<表達式3>)退出③for語句執(zhí)行過程《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第23頁。for語句【例3.13】用for語句計算:S=1+2+3+4+…+n。【例3.14】用for語句計算T=n!,即求T=1×2×3×4…×n?!纠?.15】計算S=,即求:

例程例程例程《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第24頁。3.3.4三種循環(huán)語句的比較

(1)while與for語句為先判斷后執(zhí)行(當型:可能一次也不執(zhí)行循環(huán)體);

do…while語句是先執(zhí)行后判斷(直到型:循環(huán)體至少執(zhí)行一次)。(2)三種語句都是循環(huán)條件為真時執(zhí)行循環(huán)體,為假時結束循環(huán)。(3)在循環(huán)體至少執(zhí)行一次的情況下,三種循環(huán)語句構成的循環(huán)結構可以相互轉換。實際上,用得最多的是for語句,其次是while語句,而do…while語句相對于前兩種語句則用得較少。

《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第25頁。3.3.5循環(huán)語句的嵌套

循環(huán)語句中又包含有循環(huán)語句的結構稱為循環(huán)語句的嵌套。

【例3.16】求出100~200之間的所有素數(shù),輸出時一行打印五個素數(shù)。例程《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第26頁。3.4

控制執(zhí)行順序的語句3.4.1break語句(1)作用:①終止switch語句與單循環(huán)語句的執(zhí)行;②對多重循環(huán)語句,可從內循環(huán)體跳到外循環(huán)體。(2)格式:

break;《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第27頁。3.4.2continue語句

(1)作用:在循環(huán)語句中,結束本次循環(huán),重新開始下一次循環(huán)。(2)格式:

continue;【例3.17】輸入10個整數(shù),統(tǒng)計其中正數(shù)的和及正數(shù)的個數(shù)。

例程《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第28頁。3.4.3語句標號和goto語句

1.語句標號(1)作用:指示語句在程序中的位置,常常作為轉移語句(goto語句)的轉移目標。(2)格式:

<語句標號>:<語句>

語句標號用標識符來表示,它的命名規(guī)則與標識符的命名相同。2.goto語句(1)作用:改變程序的流程,無條件地轉移到指定語句標號的語句處去執(zhí)行。(2)格式:

goto<語句標號>;《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第29頁。3.4.4exit()和abort()函數(shù)1.exit()函數(shù)(1)作用:無條件正常終止程序的執(zhí)行,并將控制返回給操作系統(tǒng)。(2)格式:

exit(<表達式>);2.abort()函數(shù)(1)作用:用于異常終止程序的執(zhí)行。(2)格式:

abort();《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第30頁。3.5

程序設計舉例

程序設計有三種基本結構,即順序結構、分支結構和循環(huán)結構。分支結構程序主要是用分支語句(if、switch)實現(xiàn)的,而循環(huán)結構程序則主要是用循環(huán)語句(while、do…while、for)語句實現(xiàn)。本節(jié)重點對分支與循環(huán)語句的應用編程舉例?!禼++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第31頁。3.5.1分支語句應用舉例

分支語句用于實現(xiàn)分支結構程序設計。能夠用分支結構程序解決的常見問題有:比較數(shù)的大小、找出若干數(shù)中最大值與最小值、分段函數(shù)、解一元二次方程、判斷閆年、多分支問題。分支語句有if語句和switch語句。

《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第32頁。(1)if語句if語句又有單選、雙選與多選if語句,格式分別為:單選if語句雙選if語句多選if語句if(<表達式>)if(<表達式>)if(<表達式1>)<語句><語句1><語句1>else elseif<表達式2> <語句2> <語句2>…else<語句n>

if語句可以嵌套使用,但應當注意else與if的配對關系。C++規(guī)定:else總是與其前面最近的還沒有配對的if進行配對。《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第33頁。if語句【例3.18】編寫程序,求一元二次方程ax2+bx+c=0的解。

C++程序設計的一般步驟為:l進行數(shù)學分析建立求解數(shù)學模型;l

根據(jù)數(shù)學模型確定程序框架及所用語句;l

根據(jù)數(shù)學模型確定所要定義的變量及其數(shù)據(jù)類型;l給變量輸入數(shù)據(jù);l

編寫計算程序,執(zhí)行程序得到運算結果;l輸出運算結果。例程《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第34頁。(2)switch語句switch語句的格式為:

switch(<表達式>){case<常量表達式1>:〔<語句1>〕......case<常量表達式n-1>:〔<語句n-1>〕default:<語句n>〕}注意:在執(zhí)行switch語句的過程中,一般用break語句結束switch語句的執(zhí)行【例3.19】輸入某一年的年份和月份,計算該月的天數(shù)。

例程《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第35頁。3.5.2循環(huán)語句應用舉例

循環(huán)語句用于實現(xiàn)循環(huán)結構程序設計。能夠用循環(huán)結構程序解決的常見問題有:累加和、連乘積、求一批數(shù)的和及最大值與最小值、求數(shù)列的前n項、判素數(shù)、求兩個整數(shù)的最大公約數(shù)和最小公倍數(shù)、用迭代法求平方根、用窮舉法求不定方程組的整數(shù)解、打印圖形等等。循環(huán)語句有while語句、do…while語句和for語句?!禼++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第36頁。循環(huán)語句格式while語句、do…while語句和for語句的格式如下:while語句 do…while語句

while(<表達式>)do <語句>;<語句> while(<表達式>);

for語句

for(<表達式1>;<表達式2>;<表達式3>)<語句>;應注意三種循環(huán)語句的特點、它們間的區(qū)別及由三種循環(huán)語句構成的嵌套循環(huán)結構。《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第37頁。循環(huán)語句應用舉例【例3.20】用公式,即:求自然對數(shù)底e的近似值(n=10)。分別用while語句、do…while語句和for語句三種語句實現(xiàn)。【例3.21】,用累加和的方法求s值,直到

最后一項<0.00001為止?!纠?.22】裴波那契數(shù)列的前幾個數(shù)為1,1,2,3,5,8,……,其規(guī)律為:

f1=1 (n=1) f2=1 (n=2) fn=fn-1+fn-2 (n≥3)

編寫程序求此數(shù)列的前面40個數(shù)。例程例程例程《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第38頁。循環(huán)語句應用舉例【例3.23】有100個學生種100棵樹,其中高中生每人種3棵樹,初中生每人種2棵樹,小學生每3人種1棵樹,問高中生、初中生、小學生各有多少人?【例3.24】

編寫程序,按下列格式打印九九表。

*12345678911224336944812165510152025661218243036771421283542498816243240485664991827364554637281例程例程《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第39頁。本章小結

一個C++程序由若干個源程序文件組成,一個源程序文件可以有若干個函數(shù)和編譯預處理命令組成,一個函數(shù)由函數(shù)說明部分和函數(shù)體組成,函數(shù)體由數(shù)據(jù)定義和若干個執(zhí)行語句組成。語句是組成程序的基本單元?!禼++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第40頁。程序的三種基本結構和C++語句1.程序的三種基本結構

組成C++程序的函數(shù)是由若干個基本結構組合而成的。有三種基本結構,即順序結構、分支結構和循環(huán)結構。各種控制結構是通過語句來實現(xiàn)的。2.C++中的語句

C++語言的語句可以分成六大類,即說明語句、控制語句、函數(shù)調用語句、表達式語句、空語句和復合語句。其中控制語句主要有分支語句與循環(huán)語句?!禼++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第41頁。3.分支語句

分支語句用于實現(xiàn)分支結構程序設計。分支語句有if語句和switch語句。(1)if語句

if語句的格式為:

if(<表達式>)<語句1>else<語句2>if語句可以嵌套使用,但應當注意else與if的配對關系。C++規(guī)定:else總是與其前面最近的還沒有配對的if進行配對?!禼++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第42頁。(2)條件運算符和條件表達式

由條件運算符(?:)構成的條件表達式的一般格式為:

<表達式1>?<表達式2>:<表達式3>

《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第43頁。(3)switch語句

switch語句的格式為:

switch(<表達式>){case<常量表達式1>:〔<語句1>〕case<常量表達式2>:〔<語句2>〕......case<常量表達式n-1>:〔<語句n-1>〕default:<語句n>〕}《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第44頁。分支結構程序解決的常見問題

注意:在執(zhí)行switch語句的過程中,每當執(zhí)行完一個case后面的語句后,程序會不加判斷地自動執(zhí)行下一個case后面的語句。如果要結束switch語句的執(zhí)行,可用break語句來實現(xiàn)。能夠用分支結構程序解決的常見問題有:比較數(shù)的大小、找出若干數(shù)中最大值與最小值、分段函數(shù)、解一元二次方程、判斷閆年、多分支問題。

《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第45頁。4.循環(huán)語句

循環(huán)語句用于實現(xiàn)循環(huán)結構程序設計。循環(huán)語句有while語句、do…while語句和for語句。(1)while語句

while語句用來實現(xiàn)“當型”循環(huán)結構,其格式為:

while(<表達式>)<語句>(2)do…while語句

do…while語句用來實現(xiàn)“直到型”循環(huán)結構,其格式為:

do<語句>while(<表達式>);

《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第46頁。(3)for語句

for語句是功能較強的一種循環(huán)語句,其格式為:

for(<表達式1>;<表達式2>;<表達式3>)<語句>

應注意三種循環(huán)語句的特點、它們間的區(qū)別及由三種循環(huán)語句構成的嵌套循環(huán)結構。《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第47頁。循環(huán)結構程序解決的常見問題

能夠用循環(huán)結構程序解決的常見問題有:累加和、連乘積、求一批數(shù)的和及最大值與最小值、求數(shù)列的前n項、判素數(shù)、求兩個整數(shù)的最大公約數(shù)和最小公倍數(shù)、用迭代法求平方根、用窮舉法求不定方程組的整數(shù)解、打印圖形等?!禼++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第48頁。5.控制執(zhí)行順序的語句

(1)break語句

break語句的格式為:

break;break語句只能用在循環(huán)語句和switch語句中,其功能是終止循環(huán)語句和switch語句的執(zhí)行。(2)continue語句

continue語句的格式為:

continue;continue語句只能用在循環(huán)語句中,其功能是結束本次循環(huán),重新開始下一次循環(huán)。

《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第49頁。(3)goto語句C++允許語句前帶有一個標號,稱為語句標號。

C++中帶標號語句的格式為:

<語句標號>:<語句>goto語句的格式為:

goto<語句標號>;goto語句的功能是改變程序的執(zhí)行流程,無條件地轉移到指定語句標號的語句處去執(zhí)行。從程序設計的角度出發(fā),在程序設計時應盡量避免使用goto語句。

《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第50頁。6.本章重點、難點重點:程序的三種基本結構,各種控制語句的格式、功能、執(zhí)行過程及使用方法。難點:使用if、while、for語句編寫分支與循環(huán)程序。《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第51頁。例3.1#include<iostream>usingnamespacestd;intmain(){inta,b,max;cout<<"Inputa,b:";cin>>a>>b;max=a;if(b>max)max=b;cout<<"max="<<max<<endl;return0;}返回程序執(zhí)行后提示:

Inputa,b:38max=8《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第52頁。例3.2#include<iostream>usingnamespacestd;intmain(){inta,b,max;cout<<"Inputa,b:";cin>>a>>b;if(a>b)max=a;elsemax=b;cout<<"max="<<max<<endl;return0;}返回程序執(zhí)行后提示:

Inputa,b:38max=8《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第53頁。例3.3#include<iostream>usingnamespacestd;intmain(){floatx,y;cout<<"Inputx:";cin>>x;if(x<0)y=x+1;elseif(x<10)y=x*x-5;elsey=x*x*x;cout<<"y="<<y<<endl;return0;}程序執(zhí)行后提示:

Inputx:3y=4返回《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第54頁。例3.5#include<iostream>usingnamespacestd;intmain(){inta,b,c,max;cout<<"Inputa,b,c:";cin>>a>>b>>c;if(a>b)if(a>c)max=a;elsemax=c;elseif(b>c)max=b;elsemax=c;cout<<"max="<<max<<endl;return0;}程序執(zhí)行后提示:

Inputa,b,c:145max=5返回《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第55頁。例3.7(A)#include<iostream>usingnamespacestd;intmain(){inta;cout<<"Inputaninteger(0-6):";cin>>a;switch(a){case0:cout<<"Sunday\n";case1:cout<<"Monday\n";case2:cout<<"Tuesday\n";case3:cout<<"Wednesday\n";case4:cout<<"Thursday\n";case5:cout<<"Friday\n";case6:cout<<"Saturday\n";default:cout<<"Inputdataerror.\n";}return0;}返回《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第56頁。例3.7(B)#include<iostream>usingnamespacestd;intmain(){inta;cout<<"Inputaninteger(0-6):";cin>>a;switch(a){case0:cout<<"Sunday\n";break;case1:cout<<"Monday\n";break;case2:cout<<"Tuesday\n";break;case3:cout<<"Wednesday\n";break;case4:cout<<"Thursday\n";break;case5:cout<<"Friday\n";break;case6:cout<<"Saturday\n";break;default:cout<<"Inputdataerror.\n";}return0;}

返回《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第57頁。例3.8#include<iostream>usingnamespacestd;intmain(){intm,c;floatd,f;cout<<"Inputm:";cin>>m;if(m>=2000)c=8;elsec=m/250;switch(c){case0:d=0;break;case1:d=5;break;case2:case3:d=7.5;break;case4:

case5:case6:case7:d=10;break;case8:d=15;break;}f=m*(1-d/100.0);cout<<"f="<<f<<endl;return0;}程序執(zhí)行后提示:

Inputm:500f=462.5返回《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第58頁。例3.9

#include<iostream>usingnamespacestd;intmain(){inti,n,sum;cout<<"Inputaninteger:";cin>>n;sum=0;i=1;while(i<=n){sum=sum+i;i++;}cout<<"sum="<<sum<<endl;return0;}程序執(zhí)行后提示:

Inputaninteger:5sum=15

返回《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第59頁。例3.10#include<iostream>usingnamespacestd;intmain(){inti,n;floatt;cout<<"Inputaninteger:";cin>>n;t=1.0;i=1;while(i<=n){t=t*i;i++; }cout<<"t="<<t<<endl;return0;}程序執(zhí)行后提示:

Inputaninteger:5t=120返回《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第60頁。例3.11#include<iostream>usingnamespacestd;intmain(){inti,n,sum;cout<<"Inputaninteger:";cin>>n;sum=0;i=1;do{sum=sum+i;i++;}while(i<=n);cout<<"sum="<<sum<<endl;return0;}返回《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第61頁。例3.12#include<iostream>usingnamespacestd;intmain(){inti,n; floatt;cout<<"Inputaninteger:";cin>>n;t=1.0;i=1;do{t=t*i;i++;} while(i<=n);cout<<"t="<<t<<endl;return0;}返回《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第62頁。例3.13#include<iostream>usingnamespacestd;intmain(){inti,n,sum;cout<<"Inputaninteger:";cin>>n;sum=0;for(i=1;i<=n;i++)sum=sum+i;cout<<"sum="<<sum<<endl;return0;}返回《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第63頁。例3.14#include<iostream>usingnamespacestd;intmain(){inti,n; floatt;cout<<"Inputaninteger:";cin>>n;t=1.0;for(i=1;i<=n;i++)t=t*i;cout<<"t="<<t<<endl;return0;}返回《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第64頁。例3.15#include<iostream>usingnamespacestd;intmain(){ inti; floatt,sum; sum=0; for(i=1;i<=20;i++){t=1.0/(i*(i+1)); sum=sum+t; }cout<<"S="<<sum<<endl;return0;}程序執(zhí)行后輸出:

s=0.952381返回《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第65頁。例3.16程序運行后,輸出:101103107109113127131137139149151157163167173179181191193197199返回#include<iostream>#include<cmath>#include<iomanip>usingnamespacestd;intmain()

{inta,k,i,n;n=0;for(a=100;a<=200;a++)//a從100循環(huán)到200{k=sqrt(a);for(i=2;i<=k;i++)//判斷a是否為素數(shù)if(a%i==0)//a不是素數(shù)break;

if(i>k) //a是素數(shù){cout<<setw(12)<<a;//輸出素數(shù)n=n+1;//統(tǒng)計素數(shù)的個數(shù)if(n%5==0)//控制每行輸出5個素數(shù)cout<<endl;}}cout<<endl;return0;}《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第66頁。例3.17#include<iostream>usingnamespacestd;intmain(){inta,i,k=0,s=0; cout<<"Input10integer:";for(i=1;i<=10;i++){cin>>a; if(a<=0) continue; k++; s+=a;}cout<<"k="<<k<<'\t'<<"s="<<s<<'\n';return0;}程序執(zhí)行后提示:

Input10integer:1234567890k=9s=45返回《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第67頁。例3.18(1)#include<iostream>#include<cmath>usingnamespacestd;intmain(){floata,b,c,d,t1,t1,x1,x2;cout<<"Inputa,b,c:";cin>>a>>b>>c;if(a==0.0) if(b==0.0) cout<<"Inputdataerror!"<<endl;else{x1=-c/b;cout<<"Singleroot:"<<x1<<endl;}else 《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第68頁。{d=b*b-4*a*c; t1=-b/(2*a);t2=sqrt(fabs(d))/(2*a);if(d==0.0){x1=t1;cout<<"Twoequalrealroots:"<<x1<<endl;}elseif(d>0.0){x1=t1+t2;x2=t1-t2;cout<<"Twodistinctrealroots:"<<x1<<','<<x2<<endl;}else {cout<<"Complexroots:";cout<<t1<<'+'<<t2<<'i'<<','<<t1<<'-'<<t2<<'i'<<endl;}}return0;}例3.18(2)《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第69頁。例3.18(3)程序運行后,提示:

Inputa,b,c:2-53輸出:

Twodistinctrealroots:1.5,1返回《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第70頁。例3.19(1)#include<iostream>usingnamespacestd;intmain(){intyear,month,day;cout<<"Inputyearandmonth:";cin>>year>>month;switch(month){case1:case3:case5:case7:case8:case10:case12:day=31;break;

《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第71頁。例3.19(2)case4:case6:case9:case11:day=30;break;case2:if(year%400==0||year%4==0&&year%100!=0) day=29; else day=28; break;default:cout<<"Inputdataerror!"<<endl;day=0;break;}if(day!=0)cout<<"Thedayof"<<year<<','<<month<<"is"<<day<<endl;return0;}《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第72頁。例3.19(3)程序運行后,提示:

Inputyearandmonth:20021輸出:

Thedayof2002,1is31返回《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第73頁。例3.20(1)(用while語句編程)

#include<iostream>usingnamespacestd; intmain() {inti=1; floats=1.0,t=1,p=1; while(i<=5) {t=t*i; p=1/t; s=s+p; i++; } cout<<"e="<<s<<endl; return0;} 程序執(zhí)行輸出:

e=2.71667

《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第74頁。例3.20(2)(用do…while語句編程)

#include<iostream> usingnamespacestd;intmain() { inti=1; floats=1.0,t=1,p=1; do {t=t*i; p=1/t; s=s+p; i++; }while(i<=5);cout<<"e="<<s<<endl; return0;} 程序執(zhí)行輸出:

e=2.71667

《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第75頁。例3.20(3)(用for語句編程)

#include<iostream>usingnamespacestd;intmain(){ inti; floats=1.0,t=1,p=1; for(i=1;i<=5;i++) {t=t*i; p=1/t; s=s+p; }

cout<<"e="<<s<<endl;return0;}程序執(zhí)行輸出:

e=2.71667《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第76頁。例3.20(4)

在本例中,程序運算輸出結果e=2.71667與自然對數(shù)的底e=2.71828誤差較大。為了使誤差控制在規(guī)定的范圍δ之內,應要求數(shù)列中最后一項的值小于δ。即:若取δ=0.00001,則循環(huán)的結束條件為p<δ=0.00001,而循環(huán)條件為p>=0.00001。上述程序可改為如下形式。《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第77頁。例3.20(5)(用while語句編程)#include<iostream>usingnamespacestd;intmain() {inti=1; floats=1.0,t=1,p=1; while(p>=0.00001) {t=t*i; p=1/t; s=s+p; i++; } cout<<"e="<<s<<endl; return0;}程序執(zhí)行輸出:

e=2.71828

《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第78頁。例3.20(6)(用do…while語句編程)#include<iostream>usingnamespacestd;intmain() { inti=1; floats=1.0,t=1,p=1; do {t=t*i; p=1/t; s=s+p; i++; }while(p>=0.00001);cout<<"e="<<s<<endl; return0;}

程序執(zhí)行輸出:

e=2.71828《c++程序設計》第3章-程序結構和流程控制語句全文共85頁,當前為第79頁。例3.20(7)(用

溫馨提示

  • 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

提交評論