《第6章 C控制語(yǔ)句:循環(huán)》由會(huì)員分享,可在線閱讀,更多相關(guān)《第6章 C控制語(yǔ)句:循環(huán)(34頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,第,6,章,C,控制語(yǔ)句:循環(huán),for,do,while,C,語(yǔ)言的循環(huán)語(yǔ)句,while,for,dowhile,循環(huán)的本質(zhì),循環(huán)就是當(dāng)某個(gè)條件,(,循環(huán)條件,),為真時(shí),計(jì)算機(jī)重復(fù)執(zhí)行的一組語(yǔ)句。,兩種循環(huán),計(jì)數(shù)器控制循環(huán),預(yù)先知道循環(huán)次數(shù),標(biāo)志控制循環(huán),預(yù)先不知道循環(huán)次數(shù),計(jì)數(shù)器控制循環(huán),計(jì)數(shù)器控制循環(huán)需要,(,1,)一個(gè)控制變量(循環(huán)計(jì)數(shù)器),(,2,)控制變量的初始值,(,3,)每次通過(guò)循環(huán)時(shí),修改(增加或減少)控制變量的值。,(,4,)測(cè)試控制變量,判斷循環(huán)是否應(yīng)該繼續(xù),計(jì)數(shù)器控制循環(huán),#inc
2、lude,int main(),int i=1;,while(i=10),printf(%dn,i);,+i;,return 0;,#include,int main(),int i=0;,while(+i=10),printf(%dn,i);,return 0;,i,:,循環(huán)控制變量,提示:,因?yàn)楦↑c(diǎn)數(shù)可能只是近似值,所以不要用浮點(diǎn)數(shù),(float,和,double),作為循環(huán)控制變量,使用整數(shù)作為循環(huán)控制變量,盡量避免超過(guò)三層的控制語(yǔ)句嵌套。,簡(jiǎn)單的說(shuō),盡量避免操作三重的循環(huán)。,注意代碼編寫(xiě)規(guī)范,特別是注意代碼的縮進(jìn),6.5 for,循環(huán)語(yǔ)句,#include,int main(),int
3、 i=1;,while(i=10),printf(%dn,i);,i+;,return 0;,#include,int main(),int i;,for(i=1;i=10;i+),printf(%dn,i);,return 0;,for,循環(huán)語(yǔ)句的格式,for(,表達(dá)式,1,;表達(dá)式,2,;表達(dá)式,3,),循環(huán)體;,表達(dá)式,1,:給循環(huán)控制變量賦初值,表達(dá)式,2,:循環(huán)條件,表達(dá)式,3,:改變循環(huán)控制變量的值,for,循環(huán)語(yǔ)句,for,語(yǔ)句的流程圖,注意:,for(,表達(dá)式,1,;表達(dá)式,2,;表達(dá)式,3,),循環(huán)體;,表達(dá)式,1,只會(huì)執(zhí)行一次。,問(wèn)題:,求,2100,之間所有偶數(shù)的和,問(wèn)題
4、,6.12,:,使用,for,循環(huán)產(chǎn)生一個(gè)立方表,數(shù)學(xué)函數(shù),#include,double,pow(double,x,double y),求,x,的,y,次方,for,語(yǔ)句:注意事項(xiàng)與經(jīng)驗(yàn),(,1,)初始化、循環(huán)條件何遞增都能夠包含算術(shù)表達(dá)式。,例如:假定,x=2,y=10,語(yǔ)句,for(j=x;m=4*x*y;j+=y/x),和語(yǔ)句,for(j=2;j=80;j+=5),等價(jià),(,2,)控制變量的值可以遞增,也可以遞減,(,3,)表達(dá)式一 只執(zhí)行一次。,使用,for,語(yǔ)句示例,把控制變量的值從,1,改變到,100,,每次遞增,1,。,把控制變量的值從,100,改變到,1,,每次遞增,-1,(
5、也就是遞減,1,),使用步長(zhǎng)為,7,把控制變量的值從,7,改變到,77,使用步長(zhǎng)為,2,把控制變量的值從,20,改變到,2,按照,2,、,5,、,8,、,11,、,14,、,17,、,20,這樣的值的順序改變控制變量的長(zhǎng)度。,按照,99,、,88,、,77,、,66,、,55,、,44,、,33,、,22,、,11,、,0,這樣值的順序改變控制變量的值,6.6,更多賦值語(yǔ)句,+=,-=,*=,/=,%=,6.7,逗號(hào)運(yùn)算符,逗號(hào)運(yùn)算符從左向右運(yùn)算,整個(gè)表達(dá)式的值是最右邊一個(gè)表達(dá)式的值,6.8 do/while,循環(huán)語(yǔ)句,do,循環(huán)體,while(,表達(dá)式,);,while(,表達(dá)式,),循環(huán)體
6、,while,語(yǔ)句先測(cè)試循環(huán)條件,再執(zhí)行循環(huán)體,do/while,語(yǔ)句先執(zhí)行循環(huán)體,再測(cè)試循環(huán)條件,問(wèn)題:,顯示,1,10,之間的所有整數(shù),do/while,循環(huán)的流程圖,true,false,action(s),condition,6.9,選擇哪種循環(huán),C,語(yǔ)言的三種循環(huán)語(yǔ)句是可以互相轉(zhuǎn)換的,一般來(lái)說(shuō),計(jì)數(shù)器控制循環(huán)使用,for,語(yǔ)句,標(biāo)志控制循環(huán)使用,while,語(yǔ)句,問(wèn)題,求,(,精確到小數(shù)點(diǎn)后第,5,位,),問(wèn)題,從鍵盤(pán)輸入一個(gè)大于,2,的整數(shù),判斷這個(gè)數(shù)是不是素?cái)?shù)。,(,素?cái)?shù)是指除了,1,和它自身之外,不能被任何數(shù)整除的數(shù),),7.6,循環(huán)輔助手段:,break,和,continue
7、,4.7 switch,多重選擇語(yǔ)句,switch(,表達(dá)式),case,常量,1,:,case,常量,2,:,case,常量,3,:,case,常量,4,:,.,default:,switch/case,流程圖,true,false,.,.,.,case a,case a action(s),break,case b,case b action(s),break,false,false,case z,case z action(s),break,true,true,default action(s),問(wèn)題:,寫(xiě)一個(gè)程序,輸入以,a,b,c,d,e,為等級(jí)的學(xué)生成績(jī)。統(tǒng)計(jì)其中各個(gè)分?jǐn)?shù)的人數(shù)個(gè)數(shù)
8、。輸入以,EOF,結(jié)束。,EOF:,在,stdio.h,頭文件中定義的符號(hào)整形常量。它具有一個(gè)整型值。其值在各個(gè)系統(tǒng)中不一樣。通常是,-1,。,ANSI,標(biāo)準(zhǔn)僅規(guī)定,,EOF,是負(fù)的整型值。,在,Unix,、,Linux,系統(tǒng)中,,EOF,通過(guò)鍵入組合鍵,輸入。,在,Windows,系統(tǒng)中,,EOF,通過(guò)鍵入組合鍵,輸入。,break,default,程序中對(duì) 換行符、制表符、空格符 的處理,case n:,case t:,case :break;,注意:,switch,語(yǔ)句只能夠用于測(cè)試常量整型表達(dá)式,也就是字符常量和整型常量的任意組合,這個(gè)組合的值是常量整數(shù)值。,4.9 break,和,continue,語(yǔ)句,break,和,continue,語(yǔ)句用于改變控制流。,break,用于,while,、,for,、,do/while,、,switch,語(yǔ)句。,break,語(yǔ)句造成程序從循環(huán)語(yǔ)句或,switch,語(yǔ)句中退出,執(zhí)行該語(yǔ)句后的第一條語(yǔ)句。,continue,語(yǔ)句用于,while,、,for,、,do/while,語(yǔ)句。,continue,語(yǔ)句的作用是跳過(guò)語(yǔ)句體中剩下的語(yǔ)句,并執(zhí)行循環(huán)的下一次迭代。,注意:,使用,continue,語(yǔ)句時(shí),注意不要跳過(guò)改變 控制變量 的語(yǔ)句!,