版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第六章循環(huán)控制掌握循環(huán)的概念和分類(lèi)掌握while循環(huán)掌握dowhile循環(huán)掌握f(shuō)or循環(huán)掌握循環(huán)的嵌套掌握break和continue的用法能夠設(shè)計(jì)復(fù)雜的程序.第六章循環(huán)控制掌握循環(huán)的概念和分類(lèi).1概述C語(yǔ)言可實(shí)現(xiàn)循環(huán)的語(yǔ)句:用goto和if構(gòu)成循環(huán)while語(yǔ)句do~while語(yǔ)句for語(yǔ)句goto語(yǔ)句及用goto構(gòu)成循環(huán)goto語(yǔ)句一般格式:goto語(yǔ)句標(biāo)號(hào);….…..標(biāo)號(hào):語(yǔ)句;
.概述goto語(yǔ)句標(biāo)號(hào);.2功能:無(wú)條件轉(zhuǎn)移語(yǔ)句說(shuō)明:不能用整數(shù)作標(biāo)號(hào)只能出現(xiàn)在goto所在函數(shù)內(nèi),且唯一只能加在可執(zhí)行語(yǔ)句前面限制使用goto語(yǔ)句.功能:無(wú)條件轉(zhuǎn)移語(yǔ)句.3例用if和goto語(yǔ)句構(gòu)成循環(huán),求#include<stdio.h>voidmain(){inti,sum=0;i=1;loop:if(i<=100){sum+=i; i++;
gotoloop;}printf("%d",sum);}sum=0+1sum=1+2=3sum=3+3=6sum=6+4……sum=4950+100=5050循環(huán)初值循環(huán)終值循環(huán)變量增值循環(huán)條件循環(huán)體.例用if和goto語(yǔ)句構(gòu)成循環(huán),求#include<s4例從鍵盤(pán)輸入一組數(shù)據(jù),以0結(jié)束輸入,求數(shù)據(jù)和#include<stdio.h>voidmain(){ intnumber,sum=0;read_loop:scanf("%d",&number); if(!number)gotoprint_sum; sum+=number;
gotoread_loop;print_sum:printf("Thetotalsumis%d\n",sum);}.例從鍵盤(pán)輸入一組數(shù)據(jù),以0結(jié)束輸入,求數(shù)據(jù)和#inclu5while語(yǔ)句一般形式:while(表達(dá)式)
循環(huán)體語(yǔ)句;執(zhí)行流程:表達(dá)式循環(huán)體假(0)真(非0)while.while語(yǔ)句while(表達(dá)式)執(zhí)行流程:表達(dá)式循環(huán)體假6特點(diǎn):先判斷表達(dá)式,后執(zhí)行循環(huán)體說(shuō)明:循環(huán)體有可能一次也不執(zhí)行循環(huán)體可為任意類(lèi)型語(yǔ)句下列情況,退出while循環(huán)條件表達(dá)式不成立(為零)循環(huán)體內(nèi)遇break,return,goto無(wú)限循環(huán):while(1)
循環(huán)體;.特點(diǎn):先判斷表達(dá)式,后執(zhí)行循環(huán)體.7例用while循環(huán)求
#include<stdio.h>voidmain(){inti,sum=0;i=1;while(i<=100){sum=sum+i;i++;}printf("%d",sum);}循環(huán)初值循環(huán)終值循環(huán)變量增值循環(huán)條件循環(huán)體.例用while循環(huán)求#include<stdio.h>8例顯示1~10的平方#include<stdio.h>voidmain(){inti=1;while(i<=10){printf("%d*%d=%d\n",i,i,i*i);i++;}}運(yùn)行結(jié)果:1*1=12*2=43*3=94*4=165*5=256*6=367*7=498*8=649*9=8110*10=100.例顯示1~10的平方#include<stdio.h>運(yùn)9do~while語(yǔ)句一般形式:do
循環(huán)體語(yǔ)句;while(表達(dá)式);執(zhí)行流程:do循環(huán)體表達(dá)式假(0)真(非0)while.do~while語(yǔ)句do執(zhí)行流程:do循環(huán)體表達(dá)式假(0)10特點(diǎn):先執(zhí)行循環(huán)體,后判斷表達(dá)式說(shuō)明:至少執(zhí)行一次循環(huán)體do~while可轉(zhuǎn)化成while結(jié)構(gòu)expr循環(huán)體假(0)真(非0)循環(huán)體while循環(huán).特點(diǎn):先執(zhí)行循環(huán)體,后判斷表達(dá)式expr循環(huán)體假(0)真(非11例用do~while循環(huán)求#include<stdio.h>voidmain(){inti,sum=0;i=1;do{sum+=i; i++;}while(i<=100);printf("%d",sum);}.例用do~while循環(huán)求#include<stdio12例while和do~while比較#include<stdio.h>voidmain(){inti,sum=0;scanf("%d",&i);do{sum+=i; i++;}while(i<=10);printf("%d",sum);}#include<stdio.h>voidmain(){inti,sum=0;scanf("%d",&i);while(i<=10){sum+=i; i++;}printf("%d",sum);}.例while和do~while比較#include<s13for語(yǔ)句一般形式:for([expr1];[expr2];[expr3])
循環(huán)體語(yǔ)句;執(zhí)行流程:expr2循環(huán)體假(0)真(非0)forexpr1expr3.for語(yǔ)句for([expr1];[expr2];[14說(shuō)明:for語(yǔ)句中expr1,expr2,expr3類(lèi)型任意,都可省略,但分號(hào);不可省無(wú)限循環(huán):for(;;)for語(yǔ)句可以轉(zhuǎn)換成while結(jié)構(gòu)expr1;while(expr2){ 循環(huán)體語(yǔ)句; expr3;}例用for循環(huán)求
#include<stdio.h>main(){inti,sum=0;
for(i=1;i<=100;i++)sum+=i;printf("%d",sum);}.說(shuō)明:expr1;例用for循環(huán)求#include<s15例:#include<stdio.h>main(){inti=0;for(i=0;i<10;i++)putchar(‘a(chǎn)’+i);}運(yùn)行結(jié)果:abcdefghij例:#include<stdio.h>main(){inti=0;
for(;i<10;i++)putchar(‘a(chǎn)’+i);}例:#include<stdio.h>main(){inti=0;
for(;i<10;)putchar(‘a(chǎn)’+(i++));}例:#include<stdio.h>main(){inti=0;
for(;i<10;putchar(‘a(chǎn)’+i),i++);}.例:#include<stdio.h>運(yùn)行結(jié)果:abcdef16循環(huán)的嵌套三種循環(huán)可互相嵌套,層數(shù)不限外層循環(huán)可包含兩個(gè)以上內(nèi)循環(huán),但不能相互交叉嵌套循環(huán)的執(zhí)行流程(1)while(){……while(){……}…...}(2)do{……do{……}while();…...}while();(3)while(){……do{……}while();…….}(4)for(;;){……do{……}while();……while(){……}…...}嵌套循環(huán)的跳轉(zhuǎn)禁止:從外層跳入內(nèi)層跳入同層的另一循環(huán)向上跳轉(zhuǎn).循環(huán)的嵌套(1)while()(2)do(3)w17例循環(huán)嵌套,輸出九九表1234567891234567892468101214161836912151821242791827364554637281……………..ij.例循環(huán)嵌套,輸出九九表1234567891234567818i<10printf假(0)真(非0)i=1j++j=1j<10真(非0)假(0)i++for(i=1;i<10;i++)
for(j=1;j<10;j++)
printf((j==9)?"%4d\n":"%4d",i*j);外循環(huán)內(nèi)循環(huán)內(nèi)循環(huán).i<10printf假(0)真(非0)i=1j++j=1j<19#include<stdio.h>voidmain(){inti,j;for(i=1;i<10;i++)printf("%4d",i);printf("\n---------------------------------------\n");for(i=1;i<10;i++)for(j=1;j<10;j++) printf((j==9)?"%4d\n":"%4d",i*j);}.#include<stdio.h>.20
輔助控制語(yǔ)句break語(yǔ)句功能:在循環(huán)語(yǔ)句和switch語(yǔ)句中,終止并跳出循環(huán)體或開(kāi)關(guān)體說(shuō)明:break只能終止并跳出最近一層的結(jié)構(gòu)break不能用于循環(huán)語(yǔ)句和switch語(yǔ)句之外的任何其它語(yǔ)句之中.輔助控制語(yǔ)句.21
expr……break;……假(0)真(非0)whiledo……break;…...expr假(0)真(非0)while.
expr……假(0)真(非0)whiledo……expr假22expr2……break;…...假(0)真(非0)forexpr1expr3switchexpr語(yǔ)句組1break;語(yǔ)句組2break;語(yǔ)句組nbreak;語(yǔ)句組break;…...const1const2constndefaultcase.expr2……假(0)真(非0)forexpr1expr3s23例break舉例:輸出圓面積,面積大于100時(shí)停止#definePI3.14159voidmain(){intr;floatarea;for(r=1;r<=10;r++){area=PI*r*r;if(area>100) break;printf("r=%d,area=%.2f\n",r,area);}}.例break舉例:輸出圓面積,面積大于100時(shí)停止#de24例break舉例:小寫(xiě)字母轉(zhuǎn)換成大寫(xiě)字母,直至輸入非字母字符#include<stdio.h>voidmain(){inti,j;charc;while(1){c=getchar(); if(c>='a'&&c<='z') putchar(c-'a'+'A'); else break;}}.例break舉例:小寫(xiě)字母轉(zhuǎn)換成大寫(xiě)字母,直至輸入非字母25continue語(yǔ)句功能:結(jié)束本次循環(huán),跳過(guò)循環(huán)體中尚未執(zhí)行的語(yǔ)句,進(jìn)行下一次是否執(zhí)行循環(huán)體的判斷僅用于循環(huán)語(yǔ)句中expr……continue;……假(0)真(非0)while真(非0)do……continue;…...expr假(0)whileexpr2……continue;…...假(0)真(非0)forexpr1expr3.continue語(yǔ)句expr……假(0)真(非0)while26例求輸入的十個(gè)整數(shù)中正數(shù)的個(gè)數(shù)及其平均值#include<stdio.h>voidmain(){inti,num=0,a;floatsum=0;for(i=0;i<10;i++){scanf("%d",&a); if(a<=0)continue; num++; sum+=a;}printf("%dplusinteger'ssum:%6.0f\n",num,sum);printf("Meanvalue:%6.2f\n",sum/num);}.例求輸入的十個(gè)整數(shù)中正數(shù)的個(gè)數(shù)及其平均值#include27程序舉例t=1,pi=0,n=1.0,s=1當(dāng)|t|1e-6pi=pi+tn=n+2s=-st=s/npi=pi*4輸出pi分子:1,-1,1,-1…分母:1,3,5,7,....程序舉例t=1,pi=0,n=1.0,s=1當(dāng)|t|1e-28例求Fibonacci數(shù)列:1,1,2,3,5,8,……的前40個(gè)數(shù)f1=1,f2=1fori=1to20輸出f1,f2f1=f1+f2f2=f2+f11534233159710946750255142293524578241578171855377258417711121393832040570288739088169213896104181286571964181346269922746563245986321144987676546368317811217830914930352102334155)3()2(12)1(11213+=====--nFFFnFnFnnn.例求Fibonacci數(shù)列:
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版農(nóng)夫山泉礦泉水與健身教練合作銷(xiāo)售合同4篇
- 二零二四年度液化天然氣進(jìn)口與分銷(xiāo)合同3篇
- 南匯農(nóng)業(yè)志2025版修訂與版權(quán)合同4篇
- 二零二四年國(guó)際貿(mào)易仲裁服務(wù)合同3篇
- 2025年度電商虛擬現(xiàn)實(shí)購(gòu)物體驗(yàn)合作協(xié)議26篇
- 二零二五年度面包磚生產(chǎn)質(zhì)量控制與認(rèn)證服務(wù)合同3篇
- 二零二五年度新能源汽車(chē)展示中心場(chǎng)地租賃合同4篇
- 二零二五年苗木種植基地合作銷(xiāo)售合同樣本3篇
- 2025年度農(nóng)業(yè)蔬菜大棚技術(shù)改造升級(jí)承包協(xié)議4篇
- 2025年度農(nóng)業(yè)蔬菜大棚承包與農(nóng)業(yè)廢棄物資源化利用合同4篇
- 麻風(fēng)病防治知識(shí)課件
- 干部職級(jí)晉升積分制管理辦法
- TSG ZF003-2011《爆破片裝置安全技術(shù)監(jiān)察規(guī)程》
- 護(hù)理服務(wù)在產(chǎn)科中的應(yīng)用課件
- 2024年代理記賬工作總結(jié)6篇
- 電氣工程預(yù)算實(shí)例:清單與計(jì)價(jià)樣本
- VOC廢氣治理工程中電化學(xué)氧化技術(shù)的研究與應(yīng)用
- 煤礦機(jī)電設(shè)備培訓(xùn)課件
- 高考寫(xiě)作指導(dǎo)議論文標(biāo)準(zhǔn)語(yǔ)段寫(xiě)作課件32張
- 2021年普通高等學(xué)校招生全國(guó)英語(yǔ)統(tǒng)一考試模擬演練八省聯(lián)考解析
- 紅色研學(xué)旅行課程的設(shè)計(jì)與實(shí)踐
評(píng)論
0/150
提交評(píng)論