版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1. 概述概述 重復(fù)執(zhí)行某個(gè)程序段稱為循環(huán)。在重復(fù)執(zhí)行某個(gè)程序段稱為循環(huán)。在C中可用如下中可用如下語(yǔ)句實(shí)現(xiàn)循環(huán):語(yǔ)句實(shí)現(xiàn)循環(huán):1用用goto語(yǔ)句和語(yǔ)句和 if 語(yǔ)句構(gòu)成循環(huán);語(yǔ)句構(gòu)成循環(huán);2用用while語(yǔ)句;語(yǔ)句;3用用dowhile語(yǔ)句;語(yǔ)句;4用用for語(yǔ)句。語(yǔ)句。 2. goto 語(yǔ)句語(yǔ)句 goto語(yǔ)句為無條件轉(zhuǎn)向語(yǔ)句。其形式為:語(yǔ)句為無條件轉(zhuǎn)向語(yǔ)句。其形式為: goto 語(yǔ)句標(biāo)號(hào);語(yǔ)句標(biāo)號(hào); 說明:說明: goto語(yǔ)句的作用是無條件地轉(zhuǎn)去執(zhí)行語(yǔ)句的作用是無條件地轉(zhuǎn)去執(zhí)行“語(yǔ)句標(biāo)號(hào)語(yǔ)句標(biāo)號(hào)標(biāo)明的某一段程序。標(biāo)明的某一段程序。第第5章章 循循 環(huán)環(huán) 控控 制制“語(yǔ)句標(biāo)號(hào)為某一語(yǔ)句前的一個(gè)
2、標(biāo)識(shí)符。其定名規(guī)語(yǔ)句標(biāo)號(hào)為某一語(yǔ)句前的一個(gè)標(biāo)識(shí)符。其定名規(guī)則與變量名相同。則與變量名相同。例例5.1 用用 if 語(yǔ)句和語(yǔ)句和goto語(yǔ)句構(gòu)成循環(huán)求語(yǔ)句構(gòu)成循環(huán)求 。 在在C中,除非不得已時(shí)才使用中,除非不得已時(shí)才使用goto語(yǔ)句。語(yǔ)句。main( ) int i,sum=0; i=1;loop: if (i=100) /* 語(yǔ)句標(biāo)號(hào)后的語(yǔ)句標(biāo)號(hào)后的“:”是必須的是必須的 */ sum=sum+i; i+; goto loop; printf(“%d”,sum); 用while語(yǔ)句可實(shí)現(xiàn)“當(dāng)型循環(huán),語(yǔ)句形式為: while (表達(dá)式) 語(yǔ)句;說明: “表達(dá)式的值為真(非0)時(shí)執(zhí)行“語(yǔ)句”,然后
3、返回while處判斷“表達(dá)式是否為假(0 ),若為假,則轉(zhuǎn)去執(zhí)行“語(yǔ)句后面的語(yǔ)句,否則,繼續(xù)執(zhí)行“語(yǔ)句”。 “語(yǔ)句可以是用 括起的復(fù)合語(yǔ)句。 3. while 語(yǔ)句語(yǔ)句例 5 . 2 用 w h i l e 語(yǔ) 句 求1+2+100 。main( )int i, sum=0; i=1; while ( i=100 ) sum=sum+i; i+; printf(“%d”, sum);用用dowhile語(yǔ)句可實(shí)現(xiàn)語(yǔ)句可實(shí)現(xiàn)“直到型循環(huán),語(yǔ)句直到型循環(huán),語(yǔ)句形式為:形式為: do 語(yǔ)句;語(yǔ)句; while (表達(dá)式表達(dá)式);說明:說明: 執(zhí)行執(zhí)行“語(yǔ)句后,判斷語(yǔ)句后,判斷“表達(dá)式是否為假表達(dá)式是否
4、為假(0),若,若為假,則結(jié)束循環(huán),否則返回為假,則結(jié)束循環(huán),否則返回do處繼續(xù)執(zhí)行處繼續(xù)執(zhí)行“語(yǔ)語(yǔ)句句”。 “語(yǔ)句可以是用語(yǔ)句可以是用 括起的復(fù)合語(yǔ)句。括起的復(fù)合語(yǔ)句。 while循環(huán)是先判斷循環(huán)是先判斷“表達(dá)式表達(dá)式”,后執(zhí)行,后執(zhí)行“語(yǔ)句語(yǔ)句”。因而。因而。while循環(huán)可能一次也不會(huì)執(zhí)行。循環(huán)可能一次也不會(huì)執(zhí)行。 do while循環(huán)是先執(zhí)行循環(huán)是先執(zhí)行“語(yǔ)句語(yǔ)句”,后判斷,后判斷“表達(dá)表達(dá)式式”。因而,。因而,do while 循環(huán)至少要執(zhí)行循環(huán)至少要執(zhí)行 1 次。次。 4. do while語(yǔ)句語(yǔ)句例5.3 用do while語(yǔ)句求1+2+100 。main( ) int i, s
5、um=0; i=1; do sum=sum+i; i +; while ( i=100 ); printf(“%d”, sum); main( ) int i, sum = 0 ; for ( i=1; i=100; i+ +) sum = sum + i ; printf(“%d”, sum); 5. for 語(yǔ)句語(yǔ)句for語(yǔ)句的一般形式:語(yǔ)句的一般形式: for (表達(dá)式表達(dá)式1; 表達(dá)式表達(dá)式2; 表達(dá)式表達(dá)式3) 語(yǔ)句;語(yǔ)句;其中:其中:“語(yǔ)句可以是用語(yǔ)句可以是用 括起的復(fù)合語(yǔ)句。括起的復(fù)合語(yǔ)句。 for語(yǔ)句的執(zhí)行過程如圖所示。語(yǔ)句的執(zhí)行過程如圖所示。例例5.3 用用 for 循環(huán)語(yǔ)句
6、求循環(huán)語(yǔ)句求1+2+100 。 i=1; for ( ; i=100; i+ +) sum=sum+i; 如果省略“表達(dá)式2或三個(gè)表達(dá)式均省略,則成為“死循環(huán)”。如: for (i=1; ; i+) sum=sum+i; for ( ; ; ) 語(yǔ)句; “表達(dá)式3可置于“語(yǔ)句中。如: for (sum=0, i=1; i=100 ;) sum=sum+i; i+; 如果只有“表達(dá)式2”,則完全等同于while循環(huán)。如: “表達(dá)式表達(dá)式1可置于可置于for語(yǔ)句之前,但必須保留語(yǔ)句之前,但必須保留“;”。如:。如: “表達(dá)式表達(dá)式1可以是設(shè)置循環(huán)變量初值的賦值表達(dá)式,也可以是可以是設(shè)置循環(huán)變量初值
7、的賦值表達(dá)式,也可以是與循環(huán)變量無關(guān)的其它表達(dá)式。如:與循環(huán)變量無關(guān)的其它表達(dá)式。如: for (sum=0; i=100; i+) sum=sum+i; “表達(dá)式表達(dá)式1和和“表達(dá)式表達(dá)式3可以是簡(jiǎn)單表達(dá)式,也可以是逗號(hào)表可以是簡(jiǎn)單表達(dá)式,也可以是逗號(hào)表達(dá)式。如:達(dá)式。如: for (i=0, j=100; i=j; i+, j-) k=i+j; “表達(dá)式表達(dá)式2” 一般為關(guān)系表達(dá)式或邏輯表達(dá)式,但也可以是數(shù)值表一般為關(guān)系表達(dá)式或邏輯表達(dá)式,但也可以是數(shù)值表達(dá)式或字符表達(dá)式,只要其值為非達(dá)式或字符表達(dá)式,只要其值為非0,就執(zhí)行,就執(zhí)行“語(yǔ)句語(yǔ)句”。for (sum=0, i=1; i=100
8、;) sum=sum+i; i+;while ( i=100 ) sum=sum+i; i+; 1) break語(yǔ)句語(yǔ)句 break語(yǔ)句用于從語(yǔ)句用于從while 、do while和和for循環(huán)中跳循環(huán)中跳出去而終止其循環(huán)。出去而終止其循環(huán)。例:例:for (i=1; i30) break; printf(“%f n”,s); 注:注:break語(yǔ)句不能用于循環(huán)語(yǔ)句和語(yǔ)句不能用于循環(huán)語(yǔ)句和switch語(yǔ)句以外的語(yǔ)句以外的任何其它語(yǔ)句中。任何其它語(yǔ)句中。2) continue語(yǔ)句語(yǔ)句continue語(yǔ)句的作用是結(jié)束本次循環(huán)并開始下一次循環(huán)。語(yǔ)句的作用是結(jié)束本次循環(huán)并開始下一次循環(huán)。 6. br
9、eak 語(yǔ)句和語(yǔ)句和 continue 語(yǔ)句語(yǔ)句例例5.4 編程輸出編程輸出100 200之間不能被之間不能被3整除的整除的數(shù)。數(shù)。 main( ) int n; for (n=100; n=200; n+) if (n%3=0) continue; printf(“%d”,n); 3) break語(yǔ)句和語(yǔ)句和continue語(yǔ)句執(zhí)行流程比較語(yǔ)句執(zhí)行流程比較例例5.5 用用“輾轉(zhuǎn)相除法求正整數(shù)輾轉(zhuǎn)相除法求正整數(shù)m和和n的最大公約數(shù)。的最大公約數(shù)?!拜氜D(zhuǎn)相除法的步驟為:輾轉(zhuǎn)相除法的步驟為: 若若mn,則,則m n; m%n r ; 若若r=0,轉(zhuǎn),轉(zhuǎn) n m,r n,轉(zhuǎn),轉(zhuǎn) 輸出輸出n。main
10、( ) int r,m,n; printf(“Enter m,n=”); scanf(“%d%d”,&m,&n); printf(“m=%d,n=%dn”,m,n); if (mn) r=m; m=n; n=r ; r =m%n; while ( r != 0 ) m=n; n=r ; r =m%n; printf(“H.C.F=%dn”,n); 例例5.6 求求100 200之間的所有素?cái)?shù)之間的所有素?cái)?shù)(循環(huán)嵌套循環(huán)嵌套)。#include “math.h”main( )int f,m,i,k,n=0; for (m=101; m=200; m=m+2) if (n%10 = = 0) pr
11、intf(“n”); k = sqrt(m); f =1; for (i=2; i = k; i+) if (m%i = = 0) f = 0; break; if (f = = 1) printf(“%d”,m); n=n+1; 例例5.8 編程求編程求1000以內(nèi)的完數(shù)。以內(nèi)的完數(shù)。(一個(gè)數(shù)等于因子之和為完數(shù)一個(gè)數(shù)等于因子之和為完數(shù))#include “stdio.h”main( )int m,n,sum; for (m=2; m1000; m+) sum=1; for (n=2; nm; n+) if (m%n=0) sum+=n; if (m=sum) printf(%d=1,m); for (n=2; nm; n+) if (m%n=0) printf(+%d,n); printf(n); 循環(huán)小結(jié)循環(huán)小結(jié):For while dowhi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 煙草制品銷售合同調(diào)解
- 體育經(jīng)紀(jì)律師聘用協(xié)議
- 智能家居控制系統(tǒng)布線協(xié)議
- 房屋室內(nèi)裝飾施工合同
- 食醋公司總經(jīng)理聘用合同
- 社交高炮施工合同
- 衛(wèi)生打掃合同范例
- 塑料草皮購(gòu)銷合同范例
- 公民代理 勞動(dòng)合同
- 工作師徒合同評(píng)價(jià)
- 中小學(xué)生反恐防暴安全教育課件
- 《藥物制劑工程》課程教學(xué)大綱全套
- DL-T 2559-2022 燈泡貫流式水輪機(jī)狀態(tài)檢修評(píng)估技術(shù)導(dǎo)則
- 信陽(yáng)市光山縣2023-2024學(xué)年七年級(jí)上學(xué)期期末數(shù)學(xué)測(cè)試卷(含答案)
- 《“健康中國(guó)2030”規(guī)劃綱要》全文健康中國(guó)2030規(guī)劃綱要全文
- 案場(chǎng)物業(yè)管理制度
- 軍隊(duì)文職-政治理論-政治-馬克思主義基本原理練習(xí)一
- 南京聯(lián)合體2022-2023學(xué)年九年級(jí)上學(xué)期期中考試化學(xué)試題(含答案)
- 電子商務(wù)網(wǎng)絡(luò)商務(wù)信息采集與處理考核試題及答案
- SA8000-2014社會(huì)責(zé)任績(jī)效委員會(huì)SPT組織架構(gòu)、職責(zé)和定期檢討及評(píng)審會(huì)議記錄
- 攪拌釜式反應(yīng)器攪拌釜式反應(yīng)器課件
評(píng)論
0/150
提交評(píng)論