版權(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)的概念和分類掌握while循環(huán)掌握dowhile循環(huán)掌握f(shuō)or循環(huán)掌握循環(huán)的嵌套掌握break和continue的用法能夠設(shè)計(jì)復(fù)雜的程序.第六章循環(huán)控制掌握循環(huán)的概念和分類.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例從鍵盤輸入一組數(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);}.例從鍵盤輸入一組數(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)體可為任意類型語(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類型任意,都可省略,但分號(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舉例:小寫字母轉(zhuǎn)換成大寫字母,直至輸入非字母字符#include<stdio.h>voidmain(){inti,j;charc;while(1){c=getchar(); if(c>='a'&&c<='z') putchar(c-'a'+'A'); else break;}}.例break舉例:小寫字母轉(zhuǎn)換成大寫字母,直至輸入非字母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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度新型車庫(kù)租賃管理服務(wù)合同模板4篇
- 2025年度硫鐵礦生產(chǎn)設(shè)備維修保養(yǎng)合同4篇
- 2025年度水庫(kù)水利工程承包合同4篇
- 2025年度跨國(guó)勞務(wù)輸出與就業(yè)安置合同范本4篇
- 2025年度戶外LED路燈照明設(shè)備租賃合同范本4篇
- 2024貿(mào)易公司進(jìn)口木材采購(gòu)合同范本3篇
- 二零二五版工傷賠償協(xié)議書編制標(biāo)準(zhǔn)3篇
- 二零二五年度道路交通事故損害賠償協(xié)議執(zhí)行監(jiān)督范本3篇
- 2025年礦山開(kāi)采承包合同實(shí)施細(xì)則4篇
- 二零二五年度歷史文化街區(qū)大理石鋪裝及保護(hù)合同4篇
- GB/T 12723-2024單位產(chǎn)品能源消耗限額編制通則
- 2024年廣東省深圳市中考英語(yǔ)試題含解析
- GB/T 16288-2024塑料制品的標(biāo)志
- 麻風(fēng)病防治知識(shí)課件
- 建筑工程施工圖設(shè)計(jì)文件審查辦法
- 干部職級(jí)晉升積分制管理辦法
- 培訓(xùn)機(jī)構(gòu)應(yīng)急預(yù)案6篇
- 北師大版數(shù)學(xué)五年級(jí)上冊(cè)口算專項(xiàng)練習(xí)
- 應(yīng)急物資智能調(diào)配系統(tǒng)解決方案
- 2025年公務(wù)員考試時(shí)政專項(xiàng)測(cè)驗(yàn)100題及答案
- TSG ZF003-2011《爆破片裝置安全技術(shù)監(jiān)察規(guī)程》
評(píng)論
0/150
提交評(píng)論