資源描述:
《C語(yǔ)言循環(huán)結(jié)構(gòu)ppt課件.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第六章循環(huán)控制UML和需求建模主要內(nèi)容6.1概述6.2goto語(yǔ)句以及用goto語(yǔ)句構(gòu)成循環(huán)6.3用while語(yǔ)句實(shí)現(xiàn)循環(huán)6.4用do-while語(yǔ)句實(shí)現(xiàn)循環(huán)6.5用for語(yǔ)句實(shí)現(xiàn)循環(huán)6.6循環(huán)的嵌套6.7幾種循環(huán)的比較6.8break語(yǔ)句continue和語(yǔ)句6.9程序舉例UML和需求建模6.1概述什么是循環(huán)?為什么要使用循環(huán)?問(wèn)題1:?jiǎn)栴}2:求學(xué)生平均成績(jī)循環(huán)生活中的例子:擊鼓傳花:大家坐成一個(gè)圈,鼓聲響起的時(shí)候?qū)⒒ㄊ樞蚪坏较乱粋€(gè)人的手里,依次向下傳遞,當(dāng)鼓聲突然中斷時(shí)停止傳花,花束落在誰(shuí)的手里
2、便成為輸家4×100米接力賽跑:第1個(gè)人跑完100米后將接力棒傳給第2個(gè)人,第2個(gè)人再跑100米,然后是第3個(gè)人,直到第4個(gè)人跑完最后一個(gè)100米共同點(diǎn):都要完成相同的任務(wù):量變的重復(fù)內(nèi)容都有結(jié)束條件:發(fā)生質(zhì)變的界限6.2goto語(yǔ)句以及用goto語(yǔ)句構(gòu)成循環(huán)goto語(yǔ)句——無(wú)條件轉(zhuǎn)向語(yǔ)句goto語(yǔ)句標(biāo)號(hào);語(yǔ)句標(biāo)號(hào)用標(biāo)識(shí)符表示,例如:gotolabel_1;合法;goto123;不合法.【例6.1】用goto語(yǔ)句和if語(yǔ)句構(gòu)成循環(huán),計(jì)算sum=1+2+3+……+100。main(){inti,sum=
3、0;i=1;loop:if(i<=100){sum=sum+i;i++;gotoloop;}printf("%d",sum);}6.2goto語(yǔ)句以及用goto語(yǔ)句構(gòu)成循環(huán)濫用goto語(yǔ)句將使程序流程無(wú)規(guī)律、可讀性差.不建議使用goto語(yǔ)句。一般來(lái)說(shuō),可以有兩種用途:(1)與if語(yǔ)句一起構(gòu)成循環(huán)結(jié)構(gòu);(2)從循環(huán)體中跳轉(zhuǎn)到循環(huán)體外。6.3用while語(yǔ)句實(shí)現(xiàn)循環(huán)while語(yǔ)句用來(lái)實(shí)現(xiàn)“當(dāng)型”循環(huán)結(jié)構(gòu)。一般形式:while(表達(dá)式)語(yǔ)句執(zhí)行過(guò)程:計(jì)算表達(dá)式值,若該值為非0時(shí),則執(zhí)行while語(yǔ)句中的內(nèi)
4、嵌語(yǔ)句。然后重復(fù)上述步驟,直到表達(dá)式值為假(為0),則執(zhí)行while語(yǔ)句的下一條語(yǔ)句。其特點(diǎn)是:先判斷表達(dá)式,后執(zhí)行語(yǔ)句。循環(huán)體語(yǔ)句6.3用while語(yǔ)句實(shí)現(xiàn)循環(huán)注意:循環(huán)體如果包含一個(gè)以上的語(yǔ)句,應(yīng)該用花括弧括起來(lái),以復(fù)合語(yǔ)句形式出現(xiàn)。在循環(huán)體中應(yīng)有使循環(huán)趨向于結(jié)束的語(yǔ)句。1.計(jì)算sum=1+2+3+……+100第5章循環(huán)程序設(shè)計(jì)1.計(jì)算sum=1+2+3+……+100循環(huán)體循環(huán)控制條件循環(huán)控制變量循環(huán)的初始化#includevoidmain(){inti=1,sum=0;while
5、(i<=100){sum=sum+i;i++;}printf(“Sum=%d”,sum);}第5章循環(huán)程序設(shè)計(jì)2.計(jì)算sum=2+4+6+……+100循環(huán)體循環(huán)控制條件循環(huán)控制變量循環(huán)的初始化#includevoidmain(){inti=2,sum=0;while(i<=100){sum=sum+i;i+=2;}printf(“Sum=%d”,sum);}2.計(jì)算sum=2+4+6+……+100循環(huán)體循環(huán)控制條件循環(huán)控制變量循環(huán)的初始化#includevoi
6、dmain(){inti=2,sum=0;while(i<=100){sum=sum+i;i+=2;}printf(“Sum=%d”,sum);}6.4do-while語(yǔ)句do-while語(yǔ)句的特點(diǎn):先執(zhí)行循環(huán)體,然后判斷循環(huán)條件是否成立。一般形式:do循環(huán)體語(yǔ)句while(表達(dá)式);執(zhí)行過(guò)程:先執(zhí)行一次指定的循環(huán)體語(yǔ)句,然后判別表達(dá)式,當(dāng)表達(dá)式的值為非零(“真”)時(shí),返回重新執(zhí)行循環(huán)體語(yǔ)句,如此反復(fù),直到表達(dá)式的值等于0為止,此時(shí)循環(huán)結(jié)束。6.4用do-while語(yǔ)句實(shí)現(xiàn)循環(huán)while語(yǔ)句和用do
7、-while語(yǔ)句的比較:二者是完全等價(jià)的。do-while語(yǔ)句有可能一次也不執(zhí)行循環(huán)體。循環(huán)的變化:sum=1+2+3+……+100#includevoidmain(){inti=1,sum=0;while(i<=100){sum=sum+i;i++;}printf(“Sum=%d”,sum);}#includevoidmain(){inti=1,sum=0;do{sum=sum+i;i++;}while(i<=100);printf(“Sum=%d”,sum
8、);}順序打印1-10的階乘,即1!,2!,…,10!本題的關(guān)鍵是求階乘數(shù)學(xué)上,n!=1·2·3·…·(n-1)·n外循環(huán)內(nèi)循環(huán)對(duì)比程序:(更優(yōu))#includevoidmain(){inti=1;floatf=1;while(i<=10){f=f*i;printf("%2d!=%.0f",i,f);i++;}}思考一下:8-10的階乘#includevoidmain(){inti=1,j;float