C語言程序設(shè)計(jì)教程(第2版)課件第6章_免費(fèi)下載.ppt_第1頁
C語言程序設(shè)計(jì)教程(第2版)課件第6章_免費(fèi)下載.ppt_第2頁
C語言程序設(shè)計(jì)教程(第2版)課件第6章_免費(fèi)下載.ppt_第3頁
C語言程序設(shè)計(jì)教程(第2版)課件第6章_免費(fèi)下載.ppt_第4頁
C語言程序設(shè)計(jì)教程(第2版)課件第6章_免費(fèi)下載.ppt_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費(fèi)閱讀

C語言程序設(shè)計(jì)教程(第2版)課件第6章_免費(fèi)下載.ppt.ppt 免費(fèi)下載

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

文檔簡(jiǎn)介

1、第6章循環(huán)結(jié)構(gòu)編程,本章要點(diǎn)while語句do-while語句for語句break語句和continue語句的循環(huán)體中的作用循環(huán)結(jié)構(gòu)的嵌套本章難點(diǎn)循環(huán)結(jié)構(gòu)的嵌套可以熟練使用循環(huán)語句,main() int i=1; 長(zhǎng)整數(shù)=1; 威爾(I=10 )和=和* I。 I; (10!=%ldn”、和; sum=1*2*3*4*5*6*7*8*9*10。 sum,請(qǐng)看下面的計(jì)程儀欄: 循環(huán)結(jié)構(gòu)的特征在于,當(dāng)給定條件下的普通堆計(jì)程儀項(xiàng)流時(shí),重復(fù)執(zhí)行一個(gè)普通堆計(jì)程儀項(xiàng)段。 在語言中,可以使用goto語句和if語句構(gòu)成循環(huán)的語句來實(shí)現(xiàn)循環(huán)。使用使用while語句的do-while語句。 使用for語句,6.1

2、 while語句,6.1.1 while結(jié)構(gòu)的形式,例如修正算法10! 輸出結(jié)果的堆計(jì)程儀程序是while語句:main() int i=1; 長(zhǎng)整數(shù)=1; 威爾(I=10 )和=和* I。 I; (10!=%ldn”、和; main() int i=1; 長(zhǎng)整數(shù)=1; 環(huán)形3360 if (I=10 )和=和* I。 I; 轉(zhuǎn)環(huán); (10!=%ldn”、和; 循環(huán)結(jié)構(gòu)術(shù)語。 1 .環(huán)路條件:是環(huán)路結(jié)構(gòu)的測(cè)試公式。 例如,while(i=10 ),2 .環(huán)體:是每個(gè)環(huán)循環(huán)執(zhí)行一次的語句。 句子可以是任意句子。 可以使用簡(jiǎn)單句子、復(fù)合句子和空句子。 的雙曲馀弦值。 例如,上一個(gè)示例的while語

3、句中用大括號(hào)括起來的復(fù)合語句。 3 .環(huán)路控制變量:是在環(huán)路條件下控制條件假設(shè)為真的變量。 例如,上一個(gè)示例的while語句中使用的變量I。 的雙曲馀弦值。 循環(huán)條件表達(dá)式可以是邏輯表達(dá)式和關(guān)系表達(dá)式,也可以是算術(shù)表達(dá)式(0以外為真,0為假)。 公式必須包含循環(huán)控制變量。 while (3)和while (0)從預(yù)計(jì)程儀編程的觀點(diǎn)來看是不合理的,但卻是合法的。while (3)語句表示無限循環(huán)while (0)語句不能進(jìn)入循環(huán)體,要寫出正確的循環(huán)結(jié)構(gòu),必須對(duì)控制變量進(jìn)行三項(xiàng)工作:將初始值分配給控制變量控制變量寫入正確的循環(huán)條件變量的更新調(diào)整。 6.1.2 while循環(huán)的意思,(3)循環(huán)體中含

4、有多個(gè)句子時(shí),請(qǐng)務(wù)必使用。 長(zhǎng)整數(shù)=1; 威爾(I=10 )和=和* I。 I; (4)為了避免死循環(huán),應(yīng)注意條件的選擇。 int a=5,n=0; 打印機(jī)(“% d”,n ); (5)允許while語句的循環(huán)體也是while語句,形成雙重循環(huán)。 6.2 do-while語句,分號(hào)是必不可少的,6.2.1結(jié)構(gòu)形式,例如上面修改為10。 用do-while語句寫出輸出結(jié)果的普通堆計(jì)程儀:main() int i=1; 長(zhǎng)整數(shù)=1; 威爾(I=10 )和=和* I。 I; (10!=%ldn”、和; main() int i=1; 長(zhǎng)整數(shù)=1; 求和=求和* I; I; 威爾(I=10 ); (1

5、0!=%ldn”、和; 喀嚦聲,將while與do-while循環(huán)進(jìn)行比較:main() int i; 長(zhǎng)和=1; 掃描(“% d”,主()入口; 長(zhǎng)和=1; scanf(“%d”,輸入: 9輸出: 90,輸入: 11輸出: 1,輸入: 9輸出: 90,輸入: 11輸出: 11,比較上述兩個(gè)方案,結(jié)構(gòu)相同。 為什么?while和do-while的主要區(qū)別:6.2.2 do-while循環(huán)的意思、do while型循環(huán)是先執(zhí)行后判斷的循環(huán),在任一種情況下都至少執(zhí)行一次整個(gè)循環(huán),do while型循環(huán)應(yīng)注意以下幾點(diǎn): (1); (3)do和while之間的環(huán)體由多個(gè)句子構(gòu)成時(shí),必須將它們合起來構(gòu)成

6、一個(gè)復(fù)合句。 (4)交換4)do while語句和while語句時(shí),留心修改循環(huán)控制條件、6.3 for型循環(huán)、式1 :初始化式的定徑套。 公式2 :循環(huán)控制條件。 表達(dá)式3 :執(zhí)行循環(huán)主體語句后執(zhí)行的表達(dá)式。 的雙曲馀弦值。 要正確表示循環(huán)結(jié)構(gòu),請(qǐng)注意三個(gè)問題:初始化控制變量、循環(huán)條件和更新控制變量。for句以表記形式表現(xiàn)了這種密切的邏輯關(guān)系。6.3.1 for循環(huán)表示形式,執(zhí)行程序:例如:上面訂正為10! 的普計(jì)程儀拉姆是用for語句寫的:main() int i; 長(zhǎng)和; 求和=1; i=10; 和=和* I; (10!=%ldn”、和; main() int i; 長(zhǎng)和; 求和=1;

7、i=10; 和=和* I,I ); (10!=%ldn”、和;空語句、說明:表達(dá)式1 :用于在進(jìn)入循環(huán)之前為某些變量分配初始值。 如果省略,可以在for語句之前為變量分配初始值。 main() int i=1; 長(zhǎng)和=1; 福爾(; i=10; 和=和* I; (10!=%ldn”、和; for循環(huán)的三個(gè)表達(dá)式扮演不同的角色,可以根據(jù)需要省略。 式2 :確定循環(huán)的條件,省略則為無限循環(huán)。 公式3 :用于在循環(huán)一次后修改某些變量。 如果省略,則可以在循環(huán)中修改變量。 main() int i; 長(zhǎng)和=1; for(i=1; i=10; 和=和* I; I; (10!=%ldn”、和; for語句

8、是最靈活、完全可替換的while語句。 例如: i=1; 威爾(I=10 )和=和* I。 I; 等價(jià),for(i=1; i=10; 和=和* I; 的雙曲馀弦值。 式1和式3可以是逗號(hào)式,但為了提高計(jì)程儀柱的易讀性,不要在for語句中加入與循環(huán)無關(guān)的內(nèi)容。 例:和=1; for(i=1; i=10; 和=和* I; 例如從牛鼻子盤輸入一些學(xué)生的成績(jī),輸入負(fù)數(shù)就結(jié)束輸入,修正最高成績(jī)和最低成績(jī)后輸出。 空文件、# include main ()浮點(diǎn)x、xmax、xmin; 匯總scanf(“%f”、6.3.2這三種循環(huán)語句的共同特征在于,在循環(huán)控制條件不是零的情況下執(zhí)行循環(huán)整體語句,否則結(jié)束循

9、環(huán)。 的雙曲馀弦值。 句子是任意句子,可以是簡(jiǎn)單句子、復(fù)合句子或空句子。 另外,由于while和for語句先判斷循環(huán)控制條件,在do-while語句之后判斷循環(huán)控制條件,所以while和for語句的整個(gè)循環(huán)可能一次也不執(zhí)行,do-while語句的整個(gè)循環(huán)也必須至少執(zhí)行一次。 的雙曲馀弦值。 循環(huán)內(nèi)或循環(huán)條件需要使循環(huán)終止的語句。 否則,會(huì)發(fā)生死循環(huán)等異常。 另外,三個(gè)循環(huán)能夠處理同一問題,一般能夠相互替代。 但是,在實(shí)際的應(yīng)用程序中,根據(jù)情況選擇不同的循環(huán)語句。 可選的一般原則是:如果循環(huán)次數(shù)是在執(zhí)行循環(huán)體之前決定的,則使用for語句的循環(huán)次數(shù)是由循環(huán)體的執(zhí)行情況決定的,則通常是while或d

10、o-while語句。 (循環(huán)次數(shù)決定例) int i; 長(zhǎng)和=1; for(i=1; i=10; 和=和* I; (循環(huán)次數(shù)不確定例) char c do c=getchar (); 打印機(jī)(“% c”,c ); 威爾!=q|c!=Q ); 的雙曲馀弦值。 如果循環(huán)體至少執(zhí)行一次,則使用do-while語句;相反,如果循環(huán)體可能一次也不執(zhí)行,則使用while語句。 (至少執(zhí)行一次整個(gè)循環(huán))/*僅當(dāng)用戶輸入q或q時(shí),才執(zhí)行循環(huán)*/char c do c=getchar (); 打印機(jī)(“% c”,c ); 威爾!=q|c!=Q ); (可能一次也不執(zhí)行整個(gè)循環(huán))/*僅打印非q或q字符*/char

11、 c; c=getchar (); 威爾!=q|c!=Q ); 打印機(jī)(“% c”,c ); c=getchar (); 嵌套6.4循環(huán)。 /在畫面上印刷8行7列的星沉積基質(zhì)。#包括主() inti; for(i=0; i7; I )打印(* ); 打印第一行星號(hào)*/printf(n ); for(i=0; i7; I )打印(* ); 列印第二行星號(hào)碼*/printf(n ); for(i=0; i7; I )打印(“*”); /*第八行星號(hào)*/,什么是循環(huán)嵌套? 的雙曲馀弦值。 一個(gè)回圈的回圈主體包含另一個(gè)回圈,稱為回圈巢狀。 這種嵌套過程總是可以重復(fù)的。 的雙曲馀弦值。 在一個(gè)循環(huán)外圍一

12、個(gè)循環(huán)稱為雙循環(huán)。 一個(gè)循環(huán)外圍的兩層循環(huán)稱為三重循環(huán)。 在一個(gè)循環(huán)之外包圍多個(gè)循環(huán)稱為多重循環(huán)。 一,一,二,三,四; while() do while() while (); 中文意思:為什么? 多佛(; while (); while (); while (); while、do-while、for可以相互嵌套自由組合。例如,以雙重循環(huán)實(shí)現(xiàn)上例(印刷8行7列星號(hào)矩形)。#包括主() int I、k; for(i=0; i8; 一)四(k=0; k7; k )打印機(jī)(* ); printf(n );6.5其他控制語句,6.5.1 break語句,功能:退出當(dāng)前一級(jí)循環(huán)。 解釋: break

13、語句一般用于整個(gè)循環(huán)的條件句,其作用是當(dāng)某個(gè)條件成立時(shí),以break語句終止循環(huán),不再執(zhí)行其預(yù)期的多次循環(huán)。 例如:打印半徑110的圓面積,面積超過100則不再打印。 #包括#定義pi3. 14159主() intr; 浮動(dòng)區(qū)域; for(r=1; r 100.0 )中斷; 打印機(jī)(區(qū)域=% fn,區(qū)域); 打印(新建,r=%dn,r ); 的雙曲馀弦值。 在嵌套循環(huán)中使用break語句僅影響包含該語句的最內(nèi)層循環(huán)。 也就是說,普計(jì)程儀拉姆只會(huì)跳出包圍break的層次的循環(huán)。 例:制作普通話計(jì)程儀,輸出三角乘法表。 主() inti,j; for(i=1; ii )中斷; 打印機(jī)(“=”、i*

14、j ); printf(“n”); 運(yùn)行結(jié)果: 12436941216152025121824302436213542491624404856418273645637281,工作量:結(jié)束循環(huán)體,進(jìn)入下一個(gè)循環(huán)周期。 說明:執(zhí)行continue語句時(shí),程序會(huì)跳過循環(huán)主體中該語句后面的所有語句,提前結(jié)束本次循環(huán)并開始下一個(gè)循環(huán)。 6.5.2 continue語句,如:修正用戶輸入的所有正整數(shù)之和,用戶輸入0后退出。#包括主數(shù)據(jù)()長(zhǎng)數(shù)據(jù)、和; 和=0; do打印機(jī)(“放置輸入:數(shù)據(jù)”); scanf(%ld,6.6循環(huán)結(jié)構(gòu)的綜合例,例6.1求出以/41-1/3 1/5-1/7 1/9近似的值。 直到最后一項(xiàng)的絕對(duì)值小于10-6。#包括匹配. h主() int s; 浮點(diǎn)n、t、和、點(diǎn); t=1; 和=0; n=1; s=1; 我的意思是,fabs=.00001,sum=sum t。 n=n 2; s=-s; t=s/n; pi=和* 4; 打印機(jī)(pi=% fn,pi ); 運(yùn)行結(jié)果: pi=3.141594,例6.2要求斐波那契數(shù)列: 1、1、2、3、5、8的前20個(gè)。 (該數(shù)列的特征:第1、2兩個(gè)個(gè)數(shù)為1、1,從第3個(gè)數(shù)開始,該數(shù)為其前兩個(gè)個(gè)數(shù)的和。 主() int f1=1、f2=1、I。 for(i=1; i=10; 打印

溫馨提示

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

評(píng)論

0/150

提交評(píng)論