資源描述:
《循環(huán)結(jié)構(gòu)程序設(shè)計(jì)ppt課件.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第5章循環(huán)結(jié)構(gòu)程序設(shè)計(jì)5.1為什么需要循環(huán)控制5.2用while語句實(shí)現(xiàn)循環(huán)5.3用do---while語句實(shí)現(xiàn)循環(huán)5.4用for語句實(shí)現(xiàn)循環(huán)5.5循環(huán)的嵌套5.6幾種循環(huán)的比較5.7改變循環(huán)執(zhí)行的狀態(tài)5.8循環(huán)程序舉例5.1為什么需要循環(huán)控制在日常生活中或是在程序所處理的問題中常常遇到需要重復(fù)處理的問題要向計(jì)算機(jī)輸入全班50個(gè)學(xué)生的成績分別統(tǒng)計(jì)全班50個(gè)學(xué)生的平均成績求30個(gè)整數(shù)之和教師檢查30個(gè)學(xué)生的成績是否及格5.1為什么需要循環(huán)控制例如:全班有50個(gè)學(xué)生,統(tǒng)計(jì)各學(xué)生三門課的平均成績。scanf(“%f,%f,%f”,&s1,&s2,&s
2、3);aver=(s1+s2+s3)/3;printf(“aver=%7.2f”,aver);輸入學(xué)生1的三門課成績,并計(jì)算平均值后輸出scanf(“%f,%f,%f”,&s1,&s2,&s3);aver=(s1+s2+s3)/3;printf(“aver=%7.2f”,aver);輸入學(xué)生2的三門課成績,并計(jì)算平均值后輸出要對50個(gè)學(xué)生進(jìn)行相同操作重復(fù)50次大多數(shù)的應(yīng)用程序都會(huì)包含循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)和順序結(jié)構(gòu)、選擇結(jié)構(gòu)是結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu),它們是各種復(fù)雜程序的基本構(gòu)造單元。5.2用while語句實(shí)現(xiàn)循環(huán)全班有50個(gè)學(xué)生,統(tǒng)計(jì)各學(xué)生三門
3、課的平均成績。i=1i≤50輸入一個(gè)學(xué)生成績求一個(gè)學(xué)生平均成績輸出一個(gè)學(xué)生平均成績i增1YN用while循環(huán)結(jié)構(gòu)實(shí)現(xiàn)while(i<=50){scanf……;aver=……;printf……;i++;}while語句的一般形式如下:while(表達(dá)式)語句循環(huán)體AYp1N循環(huán)結(jié)構(gòu)--①當(dāng)型循環(huán)結(jié)構(gòu)A當(dāng)p1成立傳統(tǒng)的流程圖表示算法用N-S流程圖表示算法while語句的一般形式如下:while(表達(dá)式)語句“真”時(shí)執(zhí)行循環(huán)體語句“假”時(shí)不執(zhí)行循環(huán)條件表達(dá)式while循環(huán)的特點(diǎn)是:先判斷條件表達(dá)式,后執(zhí)行循環(huán)體語句例5.1求1+2+3+…+100,即
4、解題思路:這是累加問題,需要先后將100個(gè)數(shù)相加要重復(fù)100次加法運(yùn)算,可用循環(huán)實(shí)現(xiàn)后一個(gè)數(shù)是前一個(gè)數(shù)加1而得加完上一個(gè)數(shù)i后,使i加1可得到下一個(gè)數(shù)#includeintmain(){inti=1,sum=0;while(i<=100){sum=sum+i;i++;}printf("sum=%d",sum);return0;}復(fù)合語句不能少#includeintmain(){inti=1,sum=0;while(i<=100){sum=sum+i;i++;}printf("sum=%d",sum);
5、return0;}不能丟,否則循環(huán)永不結(jié)束5.3用do---while語句實(shí)現(xiàn)循環(huán)do---while語句的特點(diǎn):先無條件地執(zhí)行循環(huán)體,然后判斷循環(huán)條件是否成立do---while語句的一般形式為:do語句while(表達(dá)式);表達(dá)式Y(jié)N循環(huán)體語句AYp2N循環(huán)結(jié)構(gòu)--②直到型循環(huán)結(jié)構(gòu)傳統(tǒng)的流程圖表示算法用N-S流程圖表示算法A直到p2成立5.3用do---while語句實(shí)現(xiàn)循環(huán)例5.2用do…while語句求:1+2+3+…+100,即5.3用do---while語句實(shí)現(xiàn)循環(huán)解題思路:i≤100YNsum=sum+ii=i+1sum=0i=1
6、i=1;sum=0;do{sum=sum+i;i++;}while(i<=100);#includeintmain(){inti=1,sum=0;do{sum=sum+i;i++;}while(i<=100);printf("sum=%d",sum);return0;}例5.3while和do---while循環(huán)的比較。inti,sum=0;printf(“i=?”);scanf(“%d”,&i);while(i<=10){sum=sum+i;i++;}printf(“sum=%d",sum);inti,sum=0;p
7、rintf(“i=?”);scanf(“%d”,&i);do{sum=sum+i;i++;}while(i<=10);printf(“sum=%d",sum);當(dāng)while后面的表達(dá)式的第一次的值為“真”時(shí),兩種循環(huán)得到的結(jié)果相同;否則不相同5.4用for語句實(shí)現(xiàn)循環(huán)for語句不僅可以用于循環(huán)次數(shù)已經(jīng)確定的情況,還可以用于循環(huán)次數(shù)不確定而只給出循環(huán)結(jié)束條件的情況for語句完全可以代替while語句printf("%d",i);i++i<=100i=15.4用for語句實(shí)現(xiàn)循環(huán)for(i=1;i<=100;i++){printf("%d",i
8、);}i≤100YNi=i+1i=1輸出i5.4用for語句實(shí)現(xiàn)循環(huán)for語句的一般形式為for(表達(dá)式1;表達(dá)式2;表達(dá)式3)語句設(shè)置初始條件,只執(zhí)