資源描述:
《《C語(yǔ)言函數(shù)循環(huán)》PPT課件》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、C程序流程設(shè)計(jì)程序的三種基本結(jié)構(gòu)選擇型程序設(shè)計(jì)循環(huán)型程序設(shè)計(jì)輔助控制語(yǔ)句結(jié)構(gòu)化程序設(shè)計(jì)基本思想:任何程序都可以用三種基本結(jié)構(gòu)表示,限制使用無(wú)條件轉(zhuǎn)移語(yǔ)句(goto)結(jié)構(gòu)化程序:由三種基本結(jié)構(gòu)反復(fù)嵌套構(gòu)成的程序優(yōu)點(diǎn):結(jié)構(gòu)清晰,易讀,提高程序設(shè)計(jì)質(zhì)量和效率三種基本結(jié)構(gòu)順序結(jié)構(gòu)ABAB流程圖N-S圖程序的三種基本結(jié)構(gòu)PAB真假PBA真假kA1A2AiAnk=k2k=k1k=knk=ki......選擇結(jié)構(gòu)二分支多分支當(dāng)型循環(huán)結(jié)構(gòu)直到型循環(huán)結(jié)構(gòu)PA假真當(dāng)P為真AAP真假A直到P為真循環(huán)結(jié)構(gòu)概述C語(yǔ)言可實(shí)現(xiàn)循環(huán)的語(yǔ)句:用goto和if構(gòu)成循環(huán)whil
2、e語(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ǔ)句;循環(huán)型程序設(shè)計(jì)功能:無(wú)條件轉(zhuǎn)移語(yǔ)句說(shuō)明:不能用整數(shù)作標(biāo)號(hào)只能出現(xiàn)在goto所在函數(shù)內(nèi),且唯一只能加在可執(zhí)行語(yǔ)句前面限制使用goto語(yǔ)句循環(huán)型程序設(shè)計(jì)#includemain(){inti,sum=0;i=1;loop:if(i<=100){sum+=i;i++;gotoloop;}printf("%d",sum);}例用if和goto語(yǔ)句構(gòu)成循環(huán)一般形式:while(表達(dá)式)循環(huán)體語(yǔ)句;執(zhí)行流程
3、:expr循環(huán)體假(0)真(非0)whilewhile語(yǔ)句用while循環(huán)求#includemain(){inti,sum=0;i=1;while(i<=100){sum=sum+i;i++;}printf("%d",sum);}例子do循環(huán)體語(yǔ)句;while(表達(dá)式);執(zhí)行流程:do循環(huán)體expr假(0)真(非0)whiledo~while語(yǔ)句一般形式:特點(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)do~while語(yǔ)句特點(diǎn)
4、和說(shuō)明一般形式:for([expr1];[expr2];[expr3])循環(huán)體語(yǔ)句;執(zhí)行流程:expr2循環(huán)體假(0)真(非0)forexpr1expr3for語(yǔ)句for(循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量增值){循環(huán)體語(yǔ)句;}說(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語(yǔ)句一般應(yīng)用形式例:#includemain(){inti=0;for(i=0;i<1
5、0;i++)putchar(‘a(chǎn)’+i);}運(yùn)行結(jié)果:abcdefghij例:#includemain(){inti=0;for(;i<10;i++)putchar(‘a(chǎn)’+i);}例:#includemain(){inti=0;for(;i<10;)putchar(‘a(chǎn)’+(i++));}例:#includemain(){inti=0;for(;i<10;putchar(‘a(chǎn)’+i),i++);}三種循環(huán)可互相嵌套,層數(shù)不限外層循環(huán)可包含兩個(gè)以上內(nèi)循環(huán),但不能相互交叉嵌套循環(huán)的執(zhí)行流程
6、(1)while(){……while(){……}…...}(2)do{……do{……}while();…...}while();(3)while(){……do{……}while();…….}(4)for(;;){……do{……}while();……while(){……}…...}循環(huán)的嵌套嵌套循環(huán)的跳轉(zhuǎn)禁止:從外層跳入內(nèi)層跳入同層的另一循環(huán)向上跳轉(zhuǎn)輔助控制語(yǔ)句break語(yǔ)句功能:在循環(huán)語(yǔ)句和switch語(yǔ)句中,終止并跳出循環(huán)體或開關(guān)體說(shuō)明:break只能終止并跳出最近一層的結(jié)構(gòu)break不能用于循環(huán)語(yǔ)句和switch語(yǔ)句之外的任何其它語(yǔ)句之
7、中輔助控制語(yǔ)句(圖解1)expr……break;……假(0)真(非0)whiledo……break;…...expr假(0)真(非0)whileexpr2……break;…...假(0)真(非0)forexpr1expr3switchexpr語(yǔ)句組1break;語(yǔ)句組2break;語(yǔ)句組nbreak;語(yǔ)句組break;…...const1const2constndefaultcase輔助控制語(yǔ)句(圖解2)功能:結(jié)束本次循環(huán),跳過(guò)循環(huán)體中尚未執(zhí)行的語(yǔ)句,進(jìn)行下一次是否執(zhí)行循環(huán)體的判斷僅用于循環(huán)語(yǔ)句中expr……continue;……假(0)真
8、(非0)while真(非0)do……continue;…...expr假(0)whileexpr2……continue;…...假(0)真(非0)forexpr1expr3con