資源描述:
《C語(yǔ)言程序設(shè)計(jì) 第2版烏云高娃源程序及習(xí)題答案C語(yǔ)言教學(xué)內(nèi)容PPT第4章.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第4章循環(huán)結(jié)構(gòu)的流程及應(yīng)用學(xué)習(xí)目標(biāo)?使用循環(huán)處理需要反復(fù)執(zhí)行的操作。?循環(huán)結(jié)構(gòu)的流程圖。?循環(huán)與條件的綜合應(yīng)用。學(xué)一學(xué)while語(yǔ)句的一般格式:while(表達(dá)式){語(yǔ)句體;}首先計(jì)算表達(dá)式的值,如果表達(dá)式的值為非0(真),則執(zhí)行循環(huán)體語(yǔ)句,然后重新計(jì)算表達(dá)式的值,并再次判斷值是否為真,如為真,再執(zhí)行循環(huán)體內(nèi)的語(yǔ)句,如此循環(huán)往復(fù);如果表達(dá)式的值為0(假),則退出循環(huán)結(jié)構(gòu)。試一試問題4.1編寫程序計(jì)算1+2+3+……+10,然后輸出結(jié)果。試一試問題4.2計(jì)算一個(gè)住戶一年的煤氣費(fèi)用的總和(每月煤氣費(fèi)由鍵盤輸入)。練一練①如果問題4.1中的累加變?yōu)槔鄢?,即?0!,試
2、編程實(shí)現(xiàn)。提示:求階乘作乘法運(yùn)算結(jié)果可能超過int型的范圍,須定義long類型。②拓展問題4.2,計(jì)算每月煤氣費(fèi)用超過100元的共有幾個(gè)月?試一試問題4.3試編寫一個(gè)小游戲程序,輸入兩個(gè)數(shù)據(jù),如果輸入數(shù)據(jù)之和為5的倍數(shù),那么就算輸了,停止游戲;如果贏了,接著繼續(xù)輸入數(shù)據(jù)。試一試問題4.4運(yùn)行下面的兩段程序,查看結(jié)果有什么不同之處。程序2:#include"stdio.h"voidmain(){inti=0;while(i<10){i++;if(i%3==0){printf("%d",i);continue;}}}程序1:#include"stdio.h"void
3、main(){inti=0;while(i<10){i++;if(i%3==0){printf("%d",i);break;}}}試一試問題4.5編寫程序,計(jì)算滿足:12+22+32+…+n2<1000的最大n值。相關(guān)知識(shí)點(diǎn)1.循環(huán)的3個(gè)要點(diǎn)循環(huán)變量的初始值、循環(huán)條件和循環(huán)變量的增量。2.while語(yǔ)句的一般形式while(表達(dá)式){循環(huán)體語(yǔ)句;}其中表達(dá)式為循環(huán)條件,循環(huán)體語(yǔ)句為要反復(fù)執(zhí)行的操作。3.break語(yǔ)句與continue語(yǔ)句基本格式:Break;或continue;break語(yǔ)句的功能是結(jié)束break所在的層的循環(huán)體語(yǔ)句的執(zhí)行。continue語(yǔ)句
4、的功能是結(jié)束本次循環(huán)中循環(huán)體語(yǔ)句的執(zhí)行,接著進(jìn)行下次循環(huán)條件的判斷,以決定是否執(zhí)行下一次循環(huán)學(xué)一學(xué)do-while語(yǔ)句的一般格式do{語(yǔ)句體;}while(表達(dá)式);先執(zhí)行循環(huán)體語(yǔ)句,再求解表達(dá)式的值,若表達(dá)式的值為非0,則再次執(zhí)行循環(huán)體語(yǔ)句,如此反復(fù),直到表達(dá)式的值為0,結(jié)束循環(huán),并轉(zhuǎn)到下一條語(yǔ)句執(zhí)行試一試問題4.6將問題4.1改為用do-while語(yǔ)句的形式實(shí)現(xiàn)。試一試問題4.7觀察以下兩個(gè)程序運(yùn)行結(jié)果是否相同?程序1:#include"stdio.h"voidmain(){intk,iSum=0;scanf("%d",&k);do{iSum=iSum+k;
5、k++;}while(k<=10);printf("sumis%d",iSum);}程序2:#include"stdio.h"voidmain(){intk,iSum=0;scanf("%d",&k);while(k<=10){iSum=iSum+k;k++;}printf("sumis%d",iSum);}練一練將問題4.2、問題4.3、問題4.5改為用do-while語(yǔ)句實(shí)現(xiàn),并分析程序有什么不同之處?相關(guān)知識(shí)點(diǎn)1.do-while語(yǔ)句一般形式do{循環(huán)體語(yǔ)句;}while(表達(dá)式);do-while語(yǔ)句用來實(shí)現(xiàn)直到型循環(huán),不管條件是否成立,至少執(zhí)行循環(huán)體一
6、次。2.do-while語(yǔ)句與while語(yǔ)句的不同之處①執(zhí)行流程不同。do-while語(yǔ)句先執(zhí)行一次循環(huán)體,再判斷表達(dá)式;而while語(yǔ)句先判斷表達(dá)式,后執(zhí)行循環(huán)體。②執(zhí)行循環(huán)體的次數(shù)可能不同。do-while語(yǔ)句的循環(huán)體至少執(zhí)行一次;而while語(yǔ)句的循環(huán)體可能一次也不執(zhí)行。學(xué)一學(xué)for循環(huán)語(yǔ)句的一般格式for(表達(dá)式1;表達(dá)式2;表達(dá)式3){循環(huán)體語(yǔ)句}常見形式:for(初始表達(dá)式;循環(huán)條件表達(dá)式;變量增值表達(dá)式){循環(huán)體語(yǔ)句;}試一試問題4.8將問題4.1改為用for語(yǔ)句的形式實(shí)現(xiàn)。試一試問題4.9某班同學(xué)上體育課,從1開始報(bào)數(shù),共有38人,老師要求報(bào)數(shù)時(shí)
7、凡是3的倍數(shù)的同學(xué)往前一步走,試編程將這些同學(xué)的序號(hào)打印出來。試一試問題4.10相傳古代印度國(guó)王舍罕要褒獎(jiǎng)他的聰明能干的宰相達(dá)依爾(國(guó)際象棋發(fā)明者),問他需要什么,達(dá)依爾回答說:“國(guó)王只要在國(guó)際象棋的棋盤上第一個(gè)格子放一粒麥子,第二個(gè)格子放上二粒,第三個(gè)格子放四粒,以此類推,每一格的麥子數(shù)是前一格的兩倍,一直放到64格,我就感恩不盡了”。國(guó)王答應(yīng)了,結(jié)果全印度的糧食用完還不夠。國(guó)王很納悶,怎么也算不清這筆賬?,F(xiàn)在我們用C語(yǔ)言編程算一下(1?m3小麥大約為1.42×108粒)。流程圖試一試問題4.11兩個(gè)同學(xué)之間通信,但是不想讓別人知道通信的內(nèi)容,于是相互約定:將
8、a轉(zhuǎn)化為c,b轉(zhuǎn)化為d…