




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、2022-3-271 Program Design in C LanguagePage用用while語(yǔ)句實(shí)現(xiàn)循環(huán)結(jié)構(gòu)語(yǔ)句實(shí)現(xiàn)循環(huán)結(jié)構(gòu)用用do-while語(yǔ)句實(shí)現(xiàn)循環(huán)結(jié)構(gòu)語(yǔ)句實(shí)現(xiàn)循環(huán)結(jié)構(gòu)用用for語(yǔ)句實(shí)現(xiàn)循環(huán)結(jié)構(gòu)語(yǔ)句實(shí)現(xiàn)循環(huán)結(jié)構(gòu) 第六講第六講第五章第五章 2022-3-272 Program Design in C LanguagePage循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)也稱重復(fù)結(jié)構(gòu):程序中反復(fù)執(zhí)行的一也稱重復(fù)結(jié)構(gòu):程序中反復(fù)執(zhí)行的一組指令或程序段。組指令或程序段。循環(huán)體循環(huán)體:被反復(fù)執(zhí)行的程序段。被反復(fù)執(zhí)行的程序段。循環(huán)變量循環(huán)變量:用來(lái)控制循環(huán)是否繼續(xù)進(jìn)行的變量。用來(lái)控制循環(huán)是否繼續(xù)進(jìn)行的變量。 5.1循環(huán)
2、的概念2022-3-273 Program Design in C LanguagePage格式格式: while () 語(yǔ)句;語(yǔ)句; 非 0(真) 0(假) 語(yǔ)句 A 表達(dá)式 流程圖:流程圖: 若表達(dá)式(條若表達(dá)式(條件)的值為真,則件)的值為真,則執(zhí)行內(nèi)嵌語(yǔ)句執(zhí)行內(nèi)嵌語(yǔ)句A,再判斷表達(dá)式(條再判斷表達(dá)式(條件)件),當(dāng)表達(dá)式,當(dāng)表達(dá)式的值為假時(shí),執(zhí)行的值為假時(shí),執(zhí)行while后面的語(yǔ)句后面的語(yǔ)句。5.2 用while語(yǔ)句和dowhile實(shí)現(xiàn)循環(huán)while實(shí)現(xiàn)循環(huán)實(shí)現(xiàn)循環(huán)2022-3-274 Program Design in C LanguagePagewhile語(yǔ)句的語(yǔ)句的說(shuō)明:說(shuō)明:(
3、1) while語(yǔ)句屬語(yǔ)句屬當(dāng)型循環(huán)當(dāng)型循環(huán),即先,即先判斷條件(表達(dá)式),再執(zhí)行循環(huán)體。判斷條件(表達(dá)式),再執(zhí)行循環(huán)體。(2) 表達(dá)式為一條件,用于控制循表達(dá)式為一條件,用于控制循環(huán)是否可繼續(xù)執(zhí)行,故稱控制表達(dá)式。環(huán)是否可繼續(xù)執(zhí)行,故稱控制表達(dá)式。(3) (3) 語(yǔ)句語(yǔ)句A A為內(nèi)嵌式語(yǔ)句,是循環(huán)結(jié)為內(nèi)嵌式語(yǔ)句,是循環(huán)結(jié)構(gòu)的循環(huán)體。它可以是單語(yǔ)句也可以構(gòu)的循環(huán)體。它可以是單語(yǔ)句也可以是復(fù)合語(yǔ)句,且該語(yǔ)句中必須包含有是復(fù)合語(yǔ)句,且該語(yǔ)句中必須包含有對(duì)循環(huán)條件進(jìn)行修改的語(yǔ)句。對(duì)循環(huán)條件進(jìn)行修改的語(yǔ)句。 非0 (真) 0 (假) 語(yǔ)句A 表達(dá)式 5.2 用while語(yǔ)句和dowhile實(shí)現(xiàn)循環(huán)2
4、022-3-275 Program Design in C LanguagePage例例 求求 1 + 2 + + 100分析:分析: 求和的過(guò)程為:求和的過(guò)程為: 1) S=1 sum = sum + 1 2) S=1+2 sum = sum + 2 3) S=1+2+3 sum = sum + 3 100) S=1+2+ +100 sum = sum+100sum = 0求和表達(dá)式:求和表達(dá)式: S = S + i初值:初值: S = 0循環(huán)次數(shù)循環(huán)次數(shù) i :11005.2 用while語(yǔ)句和dowhile實(shí)現(xiàn)循環(huán)2022-3-276 Program Design in C Langua
5、gePage定 義 變 量 s , is =0 , i=1 ;i1 0 0s +=i;i+;輸 出 sNY流程圖:流程圖:程序:程序:main ( ) int s, i; s = 0,i = 1; while ( i = 100 ) s+=i; i+; printf(s=%ldn, s); 循環(huán)條件控制語(yǔ)句循環(huán)條件控制語(yǔ)句循環(huán)條件改變語(yǔ)句循環(huán)條件改變語(yǔ)句5.2 用while語(yǔ)句和dowhile實(shí)現(xiàn)循環(huán)2022-3-277 Program Design in C LanguagePage注意:注意: 如果循環(huán)體中包含一個(gè)以上的語(yǔ)句,應(yīng)該用花括弧如果循環(huán)體中包含一個(gè)以上的語(yǔ)句,應(yīng)該用花括弧括起來(lái),
6、以復(fù)合語(yǔ)句的形式出現(xiàn)。如果不加花括弧,則括起來(lái),以復(fù)合語(yǔ)句的形式出現(xiàn)。如果不加花括弧,則while語(yǔ)句的范圍只到語(yǔ)句的范圍只到while后的第一個(gè)分號(hào)處。后的第一個(gè)分號(hào)處。5.2 用while語(yǔ)句和dowhile實(shí)現(xiàn)循環(huán)2022-3-278 Program Design in C LanguagePage注意:注意: 在循環(huán)體中應(yīng)該有使循環(huán)趨向結(jié)束的語(yǔ)句,否則會(huì)導(dǎo)在循環(huán)體中應(yīng)該有使循環(huán)趨向結(jié)束的語(yǔ)句,否則會(huì)導(dǎo)致死循環(huán)。致死循環(huán)。如上例中的語(yǔ)句改寫如上例中的語(yǔ)句改寫成如下形式:成如下形式: i=1; while ( i = 100 ) s+=i; i+; 則則while語(yǔ)句的循環(huán)體語(yǔ)句為:語(yǔ)句的
7、循環(huán)體語(yǔ)句為: s+=i;循環(huán)變量循環(huán)變量i的值沒(méi)有改變,循的值沒(méi)有改變,循環(huán)不能終止,陷入死循環(huán)環(huán)不能終止,陷入死循環(huán)5.2 用while語(yǔ)句和dowhile實(shí)現(xiàn)循環(huán)2022-3-279 Program Design in C LanguagePage語(yǔ)句語(yǔ)句格式:格式: do while ( ););流程圖:流程圖: 非 0(真) 0(假) 語(yǔ)句 A 表達(dá)式 5.2 用while語(yǔ)句和dowhile實(shí)現(xiàn)循環(huán)2022-3-2710 Program Design in C LanguagePage 執(zhí)行內(nèi)嵌語(yǔ)句執(zhí)行內(nèi)嵌語(yǔ)句A,在判斷表達(dá)式(條件)若為真,則,在判斷表達(dá)式(條件)若為真,則繼續(xù)執(zhí)
8、行內(nèi)嵌語(yǔ)句繼續(xù)執(zhí)行內(nèi)嵌語(yǔ)句A,再判斷表達(dá)式(條件),再判斷表達(dá)式(條件),直到表,直到表達(dá)式的值為假時(shí),執(zhí)行達(dá)式的值為假時(shí),執(zhí)行do-while后面的語(yǔ)句。后面的語(yǔ)句。執(zhí)行過(guò)程:執(zhí)行過(guò)程:與與while語(yǔ)句的不同:語(yǔ)句的不同: do-while語(yǔ)句語(yǔ)句至少執(zhí)行循環(huán)體一次,但至少執(zhí)行循環(huán)體一次,但while語(yǔ)句語(yǔ)句當(dāng)當(dāng)條件為假時(shí)不執(zhí)行循環(huán)體語(yǔ)句。條件為假時(shí)不執(zhí)行循環(huán)體語(yǔ)句。5.2 用while語(yǔ)句和dowhile實(shí)現(xiàn)循環(huán)2022-3-2711 Program Design in C LanguagePage例例 求求 1 + 2 + + 100程序:程序:#include “stdio.h”vo
9、id main ( ) int s, i; s = 0; i = 1; do s+=i; i+; while( i = 100 ) ; printf(s=%ldn, s); 5.2 用while語(yǔ)句和dowhile實(shí)現(xiàn)循環(huán)2022-3-2712 Program Design in C LanguagePage例:例:while與與do-while區(qū)別區(qū)別include main( )int i=65; doputchar(i); i+;while(iA);include main( )int i=65; while(iA) putchar(i); i+; 無(wú)輸出無(wú)輸出輸出輸出A5.2 用whi
10、le語(yǔ)句和dowhile實(shí)現(xiàn)循環(huán)2022-3-2713 Program Design in C LanguagePage 非0(真) 0(假) 表達(dá)式 語(yǔ) 句 當(dāng)型循環(huán)當(dāng)型循環(huán) 非 0 (真) 0 (假) 語(yǔ)句 A 表達(dá)式 直到型循環(huán)直到型循環(huán)5.2 用while語(yǔ)句和dowhile實(shí)現(xiàn)循環(huán)while與與do-while區(qū)別區(qū)別2022-3-2714 Program Design in C LanguagePage5.2 用while語(yǔ)句和dowhile實(shí)現(xiàn)循環(huán)例例 5.4 (P100)2022-3-2715 Program Design in C LanguagePage例例 編程編程 :求
11、:求 。直到最后一項(xiàng)的絕對(duì)值小于直到最后一項(xiàng)的絕對(duì)值小于1010-7 -71n211)(7151311S1n分析:分析:1071n1n21)(715131142022-3-2716 Program Design in C LanguagePage1n21)(1nss求和:求和:停止求和:停止求和:1071n1n21)(定義變量定義變量 n,sn=0,s=0;n+;輸出輸出 4*s1/(2*n-1)10-712)1(1nnssYN2022-3-2717 Program Design in C LanguagePage#include main()() double n=0; double s=0
12、; do n+=1; s+=pow(-1,n+1)/(2*n-1); while ( 1./(2*n-1) = 1e-7 );); printf(“PI = %.6fn, 4 * s );); 程序:程序:2022-3-2718 Program Design in C LanguagePage語(yǔ)句的一般形式和執(zhí)行過(guò)程語(yǔ)句的一般形式和執(zhí)行過(guò)程各部分的作用:各部分的作用:表達(dá)式表達(dá)式1 :循環(huán)變量賦初值。循環(huán)變量賦初值。表達(dá)式表達(dá)式2 :判斷循環(huán)條件,若省略,則認(rèn)為循環(huán)條件恒為判斷循環(huán)條件,若省略,則認(rèn)為循環(huán)條件恒為“真真”。表達(dá)式表達(dá)式3 :修改循環(huán)變量的值。修改循環(huán)變量的值。語(yǔ)語(yǔ) 句句 :循環(huán)
13、體循環(huán)體格式:格式: for ( 表達(dá)式表達(dá)式 1 ;表達(dá)式;表達(dá)式2 ; 表達(dá)式表達(dá)式3) 語(yǔ)語(yǔ) 句;句;5.3用for語(yǔ)句實(shí)現(xiàn)循環(huán)結(jié)構(gòu)2022-3-2719 Program Design in C LanguagePage 表達(dá)式表達(dá)式2 2 語(yǔ)句語(yǔ)句假假 表達(dá)式表達(dá)式3 3ForFor循環(huán)的循環(huán)的 下一語(yǔ)句下一語(yǔ)句真真表達(dá)式表達(dá)式1 1流程圖:流程圖:5.3用for語(yǔ)句實(shí)現(xiàn)循環(huán)結(jié)構(gòu)2022-3-2720 Program Design in C LanguagePage定義符號(hào)常量定義符號(hào)常量 N定義變量定義變量 i, ss=1; i=1iNs += ii+輸出輸出 sYN流程圖:流程圖:
14、程序:程序:#define N 100main ( ) int , i; int s=1; for ( i=1; i=N; i+ ) s += i; printf(s=%dn, s); 2022-3-2721 Program Design in C LanguagePage如:如:for (i=1; ;i+) sum=sum+i;它相當(dāng)于:它相當(dāng)于:i=1; while (1) sum=sum+i; i+;該循環(huán)是死循環(huán)該循環(huán)是死循環(huán)如:如:for (i=1; i100; ) sum=sum+i; i+; 在循環(huán)體內(nèi)修改循環(huán)變量,在循環(huán)體內(nèi)修改循環(huán)變量,循環(huán)可以正常終止循環(huán)可以正常終止5.3用
15、for語(yǔ)句實(shí)現(xiàn)循環(huán)結(jié)構(gòu)2022-3-2722 Program Design in C LanguagePage相當(dāng)于:相當(dāng)于: while (i100) sum=sum+i; i+;如:如:for ( ; i100; ) sum=sum+i; i+;(1)在循環(huán)語(yǔ)句前給循環(huán)變)在循環(huán)語(yǔ)句前給循環(huán)變量賦初值量賦初值(2)循環(huán)體內(nèi)修改循環(huán)變量)循環(huán)體內(nèi)修改循環(huán)變量5.3用for語(yǔ)句實(shí)現(xiàn)循環(huán)結(jié)構(gòu)2022-3-2723 Program Design in C LanguagePage例例:for( y=20,x=1 ;x-y ;x+=x ) printf(%d,%dn,x,y););循環(huán)變量賦初值循環(huán)
16、變量賦初值循環(huán)條件循環(huán)條件循環(huán)變量增值循環(huán)變量增值該語(yǔ)句輸出如下:該語(yǔ)句輸出如下:1, 192, 184, 178, 165.3用for語(yǔ)句實(shí)現(xiàn)循環(huán)結(jié)構(gòu)2022-3-2724 Program Design in C LanguagePage例例:求:求 n!分析:分析: 求階乘的過(guò)程為:求階乘的過(guò)程為: 1) S=1 S0 = S0 1 2) S=12 S0 = S0 2 3) S=123 S0 = S0 3 n) S=12 n S0 = S0100 S0 = 1求階乘表達(dá)式:求階乘表達(dá)式: S = S i初值:初值: S = 1循環(huán)次數(shù)循環(huán)次數(shù) i :1n5.3用for語(yǔ)句實(shí)現(xiàn)循環(huán)結(jié)構(gòu)202
17、2-3-2725 Program Design in C LanguagePage定義符號(hào)常量定義符號(hào)常量 N定義變量定義變量 i, ss=1; i=1iNs *= ii+輸出輸出 sYN流程圖:流程圖:程序:程序:#define N 10main ( ) int , i; long int s=1; for ( i=1; i=N; i+ ) s *= i; printf(s=%ldn, s); 2022-3-2726 Program Design in C LanguagePage1. 三種循環(huán)可以互相代替。三種循環(huán)可以互相代替。2. for、while屬當(dāng)型循環(huán),屬當(dāng)型循環(huán),dowhile
18、循環(huán)屬直到型循環(huán)。循環(huán)屬直到型循環(huán)。3. 在在for循環(huán)的循環(huán)體中無(wú)須對(duì)循環(huán)變量進(jìn)行修改,其它兩種循環(huán)的循環(huán)體中無(wú)須對(duì)循環(huán)變量進(jìn)行修改,其它兩種循環(huán)則必須在循環(huán)體中對(duì)循環(huán)變量進(jìn)行修改循環(huán)則必須在循環(huán)體中對(duì)循環(huán)變量進(jìn)行修改 。4. for循環(huán)的初始條件可在表達(dá)式循環(huán)的初始條件可在表達(dá)式1中進(jìn)行設(shè)置,其它兩種循中進(jìn)行設(shè)置,其它兩種循環(huán)則必須在進(jìn)入循環(huán)之前進(jìn)行設(shè)置。環(huán)則必須在進(jìn)入循環(huán)之前進(jìn)行設(shè)置。5. 循環(huán)變量的值在循環(huán)體中可以被使用,但決不允許被修改。循環(huán)變量的值在循環(huán)體中可以被使用,但決不允許被修改。 例如例如 while ( i=100 ) s+=i; i+; 合法的合法的 while ( i=100 ) i+=s; i+; 不合法的不合法的三種循環(huán)幾點(diǎn)說(shuō)明:三種循環(huán)幾點(diǎn)說(shuō)明:三種循環(huán)結(jié)構(gòu)實(shí)例2022-3-2727 Program Design in C LanguagePage例例:求:求 水仙花數(shù),即這個(gè)數(shù)等于它的百位、十位水仙花數(shù),即這個(gè)數(shù)等于它的百位、十位和個(gè)位數(shù)的立方和。和個(gè)位數(shù)的立方和。如如153是一個(gè)水仙花數(shù),因?yàn)槭且粋€(gè)水仙花數(shù),因?yàn)?53333351分別用三種循環(huán)語(yǔ)句編寫該程序。分別用三種循環(huán)語(yǔ)句編寫該程序。三種循環(huán)結(jié)構(gòu)實(shí)例2022-3-2728 Program Design in C LanguagePage#include void main( )
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)人借款擔(dān)保人合同
- 電子商務(wù)網(wǎng)絡(luò)推廣合作免責(zé)協(xié)議
- 夫妻房屋財(cái)產(chǎn)約定協(xié)議書
- 商鋪招商代理合同
- 三農(nóng)村基層民主監(jiān)督與管理制度化方案
- 電子簽名認(rèn)證技術(shù)研究開(kāi)發(fā)合作協(xié)議
- 工業(yè)地產(chǎn)租賃合同
- 油漆工種勞務(wù)分包合同
- 小學(xué)禁毒宣傳活動(dòng)方案
- 樓梯口拆除改造合同
- 公司EHS知識(shí)競(jìng)賽題庫(kù)附答案
- 社區(qū)健康促進(jìn)工作計(jì)劃
- 2025年度移動(dòng)端SEO服務(wù)及用戶體驗(yàn)優(yōu)化合同
- 中小學(xué)《清明節(jié)活動(dòng)方案》班會(huì)課件
- 特殊教育學(xué)校2024-2025學(xué)年度第二學(xué)期教學(xué)工作計(jì)劃
- 寧夏銀川一中2025屆高三上學(xué)期第五次月考數(shù)學(xué)試卷(含答案)
- 2024年物聯(lián)網(wǎng)安裝調(diào)試員(初級(jí)工)職業(yè)資格鑒定考試題庫(kù)(含答案)
- 《設(shè)備科安全培訓(xùn)》課件
- 延長(zhǎng)石油招聘筆試題庫(kù)
- 人教鄂教版六年級(jí)下冊(cè)科學(xué)全冊(cè)知識(shí)點(diǎn)
- 鄭州市地圖含區(qū)縣可編輯可填充動(dòng)畫演示矢量分層地圖課件模板
評(píng)論
0/150
提交評(píng)論