資源描述:
《第五章循環(huán)結(jié)構(gòu)程序設(shè)計(jì)解析ppt課件.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、5循環(huán)結(jié)構(gòu)程序設(shè)計(jì)本章提要?計(jì)數(shù)控制的循環(huán)?條件控制的循環(huán)?for語(yǔ)句,while語(yǔ)句,do-while語(yǔ)句?continue語(yǔ)句,break語(yǔ)句?嵌套循環(huán)?結(jié)構(gòu)化程序設(shè)計(jì)的基本思想?程序調(diào)試與排錯(cuò)問(wèn)題的提出在日常生活中或是在程序所處理的問(wèn)題中常常遇到需要重復(fù)處理的問(wèn)題要向計(jì)算機(jī)輸入全班50個(gè)學(xué)生的成績(jī)分別統(tǒng)計(jì)全班50個(gè)學(xué)生的平均成績(jī)求30個(gè)整數(shù)之和教師檢查30個(gè)學(xué)生的成績(jī)是否及格問(wèn)題的提出例如:全班有50個(gè)學(xué)生,統(tǒng)計(jì)各學(xué)生三門課的平均成績(jī)。問(wèn)題的提出scanf(“%f,%f,%f”,&s1,&s2,
2、&s3);aver=(s1+s2+s3)/3;printf(“aver=%7.2f”,aver);輸入學(xué)生1的三門課成績(jī),并計(jì)算平均值后輸出scanf(“%f,%f,%f”,&s1,&s2,&s3);aver=(s1+s2+s3)/3;printf(“aver=%7.2f”,aver);輸入學(xué)生2的三門課成績(jī),并計(jì)算平均值后輸出要對(duì)50個(gè)學(xué)生進(jìn)行相同操作重復(fù)50次scanf(“%f,%f,%f”,&s1,&s2,&s3);aver=(s1+s2+s3)/3;printf(“aver=%7.2f”,av
3、er);輸入學(xué)生1的三門課成績(jī),并計(jì)算平均值后輸出問(wèn)題的提出大多數(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)造單元Example:如何確定程序的輸入和輸出呢?Drawaflowchartforthefollowingproblem:讀入5個(gè)整數(shù),計(jì)算并顯示它們的和.Input:5個(gè)整數(shù)n1,n2,n3,n4,n5Output:n1,n2,n3,n4,n5的和Inputexample:23456Outputexample:20問(wèn)題的提
4、出問(wèn)題的提出Inputn1Inputn2Inputn3inputn4inputn5outputsumsum←n1+n2+n3+n4+n52n1Assumeinputexample:234563n24n35n46n520sumend使用了6個(gè)不同的變量start§5.1循環(huán)控制結(jié)構(gòu)與循環(huán)語(yǔ)句標(biāo)記控制SentinelControlled計(jì)數(shù)控制CounterControlled1,2,3,4,……,4,3,2,1條件控制ConditionControlled如何對(duì)循環(huán)進(jìn)行控制呢?§5.2計(jì)數(shù)控制的循環(huán)南大
5、金陵學(xué)院counter←1,sum←0counter<6sum←sum+nfalsetruecounter++outputsuminputn1countersum01<6true2n0+2222<6true32+3533<6true45+4944<6true59+51455<6true614+62066<6false計(jì)數(shù)控制計(jì)數(shù)器每次增1使用了3個(gè)變量Assumeinputexample:23456startend南大金陵學(xué)院counter←initialValuetestcounterStepnSt
6、epxfalsetrueUpdatecounter循環(huán)體(BodyofLoop)§5.2計(jì)數(shù)控制的循環(huán)當(dāng)型循環(huán)——Conditionistestedfirst計(jì)數(shù)控制——LoopiscontrolledbyacounterSyntaxfor(initialvalue;condition;updatecounter)statement;Orfor(initialvalue;condition;updatecounter){statement;statement;}循環(huán)起始條件循環(huán)結(jié)束條件循環(huán)變量增值復(fù)合
7、語(yǔ)句compoundstatement被當(dāng)作一條語(yǔ)句看待循環(huán)變量控制循環(huán)次數(shù),不要在循環(huán)體內(nèi)改變這個(gè)變量的值南大金陵學(xué)院§5.2計(jì)數(shù)控制的循環(huán)for語(yǔ)句南大金陵學(xué)院§5.2計(jì)數(shù)控制的循環(huán)i←0,sum←0i<5sum←sum+nfalsetruei++outputsuminputninti,sum,n;sum=0;for(i=0;i<5;i++){scanf(“%d”,&n);sum=sum+n;}printf(“%d”,sum);startendfor語(yǔ)句§5.2計(jì)數(shù)控制的循環(huán)for語(yǔ)句Y表達(dá)式2求
8、解表達(dá)式1N語(yǔ)句求解表達(dá)式3for語(yǔ)句的一般形式:for(表達(dá)式1;表達(dá)式2;表達(dá)式3)語(yǔ)句設(shè)置初始條件,只執(zhí)行一次。可以為零個(gè)、一個(gè)或多個(gè)變量設(shè)置初值執(zhí)行§5.2計(jì)數(shù)控制的循環(huán)for語(yǔ)句Y表達(dá)式2求解表達(dá)式1N語(yǔ)句求解表達(dá)式3for語(yǔ)句的一般形式:for(表達(dá)式1;表達(dá)式2;表達(dá)式3)語(yǔ)句循環(huán)條件表達(dá)式,用來(lái)判定是否繼續(xù)循環(huán)。在每次執(zhí)行循環(huán)體前先執(zhí)行此表達(dá)式,決定是否繼續(xù)執(zhí)行循環(huán)§5.2計(jì)數(shù)控制的循環(huán)for語(yǔ)句Y表達(dá)式2求解表達(dá)式1N語(yǔ)句求解表達(dá)式3f