




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第四章循環(huán)語句和轉(zhuǎn)移語句本章內(nèi)容
循環(huán)的概念
for循環(huán)
while循環(huán)
do-while循環(huán)內(nèi)容(續(xù))
break語句
continue語句多重循環(huán)
goto語句流程圖假(0)表達(dá)式為真嗎?語句真(非0)
就是重復(fù)地執(zhí)行某些語句的過程。循環(huán):4.1循環(huán)的概念例如:計算數(shù)學(xué)式s=1+2+3的值將上式用C語言表示。
s=0;for(i=1;i<=3;){s=s+i;i++;}
重復(fù)執(zhí)行!
結(jié)果:s=1
結(jié)果:s=3最后結(jié)果:s=64.2for循環(huán)for循環(huán)通過for語句實現(xiàn)。for語句的一般格式為:
for(表達(dá)式1;表達(dá)式2;表達(dá)式3)語句說明:①表達(dá)式1用于循環(huán)賦初始值,它只能執(zhí)行一次;②表達(dá)式2是循環(huán)條件;③表達(dá)式3用于對循環(huán)條件的修改,以使循環(huán)能于結(jié)束。例如:求從1加到100的程序。
程序如下:#include“stdio.h”voidmain(){ints,i;s=0;for(i=1;i<=100;i++) s=s+i;printf(″sum=%d″,s);}
循環(huán)體!結(jié)果:sum=5050對for語句作幾點說明:(1)可以把表達(dá)式1改為表達(dá)式語句,然后移出for語句,放到for語句之前。表達(dá)式1因此被缺省,但其后的分號不能缺省。例如:…s=0,i=1;for(;i<=100;i++) s=s+i;對for語句作幾點說明(續(xù))(2)表達(dá)式2如果缺省(但分號不能缺省),就相當(dāng)于表達(dá)式2永遠(yuǎn)為非0(“真”),從而循環(huán)無終止地進(jìn)行下去。例如:
s=0;for(i=1;;i++) s=s+i;(3)可以把表達(dá)式3改為表達(dá)式語句移到循環(huán)體的尾部,作為循環(huán)體的一部分。例如:
s=0;for(i=1;i<=100;){s=s+i;i++;
}對for語句作幾點說明(續(xù)):對for語句作幾點說明(續(xù)):
(4)可以把與循環(huán)控制變量無關(guān)的循環(huán)初始化操作放入表達(dá)式1中,也可以把循環(huán)體中與循環(huán)變量無關(guān)的操作放到表達(dá)式3中。例如:
for(s=0,i=1;i<=100;i++) s=s+i;
其中,“s=0,i=1”是逗號表達(dá)式。對for語句作幾點說明(續(xù)):(5)如果循環(huán)體中沒有任何語句,則應(yīng)該加一個分號。例如:
s=0;for(i=1;i<=100;s=s+i,i++);此分號不能少!4.3while循環(huán)while循環(huán)通過while語句實現(xiàn)。while語句的一般格式為:
while(表達(dá)式)語句while語句的執(zhí)行過程為:
(1)計算并判斷表達(dá)式的值。若值為0,則結(jié)束循環(huán),退出while語句;若值為非0,則執(zhí)行循環(huán)體。
(2)轉(zhuǎn)步驟(1)。while語句的執(zhí)行過程#include“stdio.h”voidmain(){inti=3;while(i--)printf(“%d\n”,i);}例如,求從1加到100的程序。程序如下:#include“stdio.h”voidmain(){ints,i;s=0;i=1;
while(i<=100){s=s+i;i++;}printf(“Sum=%d”,s);}結(jié)果:Sum=5050關(guān)鍵字表達(dá)式循環(huán)體4.4do-while循環(huán)
do-while循環(huán)通過do-while語句實現(xiàn)。do-while語句的一般格式為:
do語句while(表達(dá)式);do-while語句的執(zhí)行過程為:
(1)執(zhí)行循環(huán)體語句。
(2)計算并判斷式表達(dá)的值。若值為0,則結(jié)束循環(huán),退出while語句;若值為非0,則轉(zhuǎn)步驟(1)執(zhí)行。do-while語句的執(zhí)行過程例如,求從1加到100的程序。程序如下:#include“stdio.h”voidmain(){ints,i;s=0;i=1;do{s=s+i;i++;}while(i<=100);printf(“Sum=%d”,s);}結(jié)果:Sum=5050do-while語句與while語句的本質(zhì)區(qū)別while語句是先計算并判斷表達(dá)式的值。若其值為非0,則執(zhí)行循環(huán)體;若其值為0,則退出循環(huán)。
do-while語句則首先執(zhí)行循環(huán)體,然后再計算并判斷表達(dá)式的值。因此,do-while語句至少要執(zhí)行一次循環(huán)體。4.5break語句break語句可以用于兩個地方:一個是用于switch語句中,一個是用于循環(huán)語句中。在循環(huán)語句中,break語句常與if語句配合使用,當(dāng)條件成立后就跳出循環(huán)體,提前結(jié)束循環(huán)。例如
此循環(huán)本是無限循環(huán),因加上了break語句,使程序在輸入字符常量′!′時就終止循環(huán)?!璮or(;;){scanf(“%c”,&ch);if(ch==‘!’)break;
elseprintf(“%c”,ch);}4.6continue語句continue語句用于提前結(jié)束循環(huán)中的一輪循環(huán)。當(dāng)程序執(zhí)行到continue語句時,就跳過循環(huán)中后面還未執(zhí)行的語句,回到循環(huán)的起始處,繼續(xù)進(jìn)行下一輪的循環(huán)。
continue語句常與if語句聯(lián)合起來使用,以便在滿足一定條件時提前結(jié)束本輪循環(huán)。例如,對除5的倍數(shù)以外的1~100的數(shù)求和。程序如下:…s=0;for(i=1;i<=100;i++){if(!(i%5))continue;s+=i;}printf(″SUM=%d\n″,s);…當(dāng)(i%5)等于0條件成立時,執(zhí)行continue語句,就跳過循環(huán)中s+=i;語句,回到循環(huán)的起始處,繼續(xù)進(jìn)行下一輪的循環(huán)4.7多重循環(huán)多重循環(huán):嵌套多層循環(huán)結(jié)構(gòu)的循環(huán)。外循環(huán):處于外層的循環(huán)稱為外循環(huán)。內(nèi)循環(huán):處于內(nèi)層的循環(huán)稱為內(nèi)循環(huán)。例:
百元買百雞
#include“stdio.h”voidmain(){intx,y,z,flag=0;for(x=1;x<=32;x++){for(y=1;y<=48;y++) {z=100-x-y; if((z%3==0&&(3*x+2*y+z/3==100)) {printf(“hen=%d,cock=%d,chicken=%d\n”,x,y,z); flag=1; break; }}if(flag)break;}}結(jié)果:hen=5cock=32chicken=63
外循環(huán)內(nèi)循環(huán)4.8goto語句
goto語句用于將控制轉(zhuǎn)到標(biāo)號所指定的語句去執(zhí)行。它的一般格式為:
…或:goto標(biāo)號;…
標(biāo)號:語句標(biāo)號:語句…goto標(biāo)號;…標(biāo)號滿足標(biāo)識符定義原則注意:
goto語句是違背結(jié)構(gòu)程序設(shè)計的語句。它將使程序的結(jié)構(gòu)不清晰。盡可能用break和continue語句代替goto
不能用goto語句從循環(huán)的外層跳到循環(huán)的內(nèi)層,否則會導(dǎo)致程序的混亂。goto語句的舉例:#include“stdio.h”voidmain(){intx,y,z;for(x=1;x<=32;x++){for(y=1;y<=48;y++) {z=100-x-y; if((z%3==0)&&(3*x+2*y+z/3==100)) {printf(“hen=%d,cock=%d,chicken=%d\n”,x,y,z); gotolaber; }}}laber:;}結(jié)果:hen=5cock=32chicken=63goto語句本章小結(jié)
for語句是一個功能最強(qiáng)的循環(huán)語句。for語句和while語句是先判斷表達(dá)式后再執(zhí)行循環(huán)體的循環(huán)語句。因此,有可能一次循環(huán)體
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電商平臺用戶行為分析與案例解讀
- 型鋼銷售合同范本
- 科技美顏網(wǎng)紅妝容的未來展望
- 環(huán)保材料在辦公用品設(shè)計中的運用
- 科技產(chǎn)品的國際貿(mào)易競爭策略研究PTP
- 2025至2030年中國熱氣和擠壓粘縫系統(tǒng)數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國海帶芽數(shù)據(jù)監(jiān)測研究報告
- 社交網(wǎng)絡(luò)在供應(yīng)鏈管理中的應(yīng)用案例
- 2025至2030年中國涂塑纖維包裝袋數(shù)據(jù)監(jiān)測研究報告
- 冷庫防火安全協(xié)議
- 2024年江蘇護(hù)理職業(yè)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- -藝術(shù)博覽會與藝術(shù)品拍賣
- 2024智能燃?xì)獗硗ㄓ眉夹g(shù)要求
- 2024年貴州水投水務(wù)集團(tuán)有限公司招聘筆試參考題庫含答案解析
- (完整版)ERP流程及操作手冊
- 接上童氣:小學(xué)《道德與法治》統(tǒng)編教材研究
- 武器講解課件
- 關(guān)于魯迅簡介
- 余華讀書分享名著導(dǎo)讀《文城》
- 高三二輪專題復(fù)習(xí)化學(xué)課件-分布系數(shù)(分?jǐn)?shù))圖像
- 支委委員辭去職務(wù)申請書
評論
0/150
提交評論