国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

C語(yǔ)言循環(huán)語(yǔ)句的分析與應(yīng)用

2011-12-31 06:51:24鄭英姿
城市建設(shè)理論研究 2011年28期
關(guān)鍵詞:初值省略表達(dá)式

鄭英姿

摘要:目前,在很多高校, 對(duì)于計(jì)算機(jī)專業(yè)來(lái)說(shuō),《C語(yǔ)言》是一門非常重要的專業(yè)基礎(chǔ)課程,學(xué)習(xí)它的好壞,直接關(guān)系到后續(xù)課程的學(xué)習(xí)效果。C語(yǔ)言都被列為程序設(shè)計(jì)的入門語(yǔ)言,也是很多計(jì)算機(jī)專業(yè)學(xué)生學(xué)好《數(shù)據(jù)結(jié)構(gòu)》、《c++程序設(shè)計(jì)》等專業(yè)課的前提條件。而循環(huán)語(yǔ)句又是C語(yǔ)言學(xué)習(xí)中的一個(gè)重點(diǎn)與難點(diǎn)。根據(jù)本人的體會(huì),淺談一下C語(yǔ)言循環(huán)語(yǔ)句的格式、執(zhí)行過(guò)程以及在學(xué)習(xí)、生活中的一些應(yīng)用。

關(guān)鍵字:while語(yǔ)句;do……While語(yǔ)句;for語(yǔ)句

一、引言

C語(yǔ)言是目前最受歡迎的語(yǔ)言之一,它具有強(qiáng)大的功能,語(yǔ)言簡(jiǎn)潔,結(jié)構(gòu)緊湊,使用方便、靈活。在解決實(shí)際問(wèn)題的過(guò)程中,常常會(huì)遇到一些需要重復(fù)處理的問(wèn)題,循環(huán)結(jié)構(gòu)可用來(lái)處理需要重復(fù)處理的問(wèn)題。在C語(yǔ)言中,有三種類型的循環(huán)語(yǔ)句: while語(yǔ)句、do……While語(yǔ)句和for語(yǔ)句。前兩個(gè)是條件循環(huán),即根據(jù)條件是否為真來(lái)判斷是否繼續(xù)循環(huán),后一個(gè)是計(jì)數(shù)循環(huán),即根據(jù)設(shè)定的循環(huán)次數(shù)來(lái)執(zhí)行循環(huán)。

一個(gè)完整的循環(huán)結(jié)構(gòu)一般由四部分組成:循環(huán)變量的初始化、循環(huán)控制條件、循環(huán)體、循環(huán)變量的增值,其中,循環(huán)變量的初始化是指在進(jìn)入循環(huán)前,給循環(huán)變量賦初值,否則首次進(jìn)入循環(huán)時(shí),無(wú)法確定循環(huán)控制條件是否成立;循環(huán)控制條件是重復(fù)執(zhí)行循環(huán)體所需的條件,即當(dāng)條件成立時(shí)執(zhí)行循環(huán)體,否則結(jié)束循環(huán);循環(huán)體是需要重復(fù)執(zhí)行的操作序列;循環(huán)變量是決定循環(huán)條件是否成立的變量;循環(huán)變量的增值反映了循環(huán)變量的改變規(guī)律,它使循環(huán)變量的值向著使循環(huán)結(jié)束的方向改變。

二、三種循環(huán)語(yǔ)句的格式及執(zhí)行過(guò)程

1、While 語(yǔ)句格式及執(zhí)行過(guò)程

while( 表達(dá)式)

循環(huán)體語(yǔ)句

while語(yǔ)句的執(zhí)行過(guò)程為:① 計(jì)算while后條件表達(dá)式的值。② 若表達(dá)式的值為真,則執(zhí)行循環(huán)體語(yǔ)句,然后判斷條件是否為真;如果為真,繼續(xù)循環(huán),如果為假,退出循環(huán),即結(jié)束while語(yǔ)句。

在使用while語(yǔ)句時(shí),應(yīng)注意以下幾個(gè)問(wèn)題:①循環(huán)體語(yǔ)句可以是簡(jiǎn)單語(yǔ)句、復(fù)合語(yǔ)句或空語(yǔ)句。當(dāng)循環(huán)體是一組語(yǔ)句時(shí),必須用花括號(hào)括起來(lái),組成復(fù)合語(yǔ)句。②while語(yǔ)句中的循環(huán)條件表達(dá)式可以是任何類型的表達(dá)式。③循環(huán)體內(nèi)一定要有使表達(dá)式的值變?yōu)?(假)的操作,否則循環(huán)將無(wú)限進(jìn)行。④while語(yǔ)句的特點(diǎn)是“先判斷,后執(zhí)行”,如果循環(huán)條件表達(dá)式的值一開(kāi)始就為0,則循環(huán)體語(yǔ)句一次也不執(zhí)行。

2、do……While 語(yǔ)句格式及執(zhí)行過(guò)程

do

{ 語(yǔ)句 }while(表達(dá)式);

其中,表達(dá)式是循環(huán)控制條件,語(yǔ)句是循環(huán)體,可以是簡(jiǎn)單語(yǔ)句、復(fù)合語(yǔ)句或空語(yǔ)句。通常用復(fù)合語(yǔ)句,使得結(jié)構(gòu)更清楚。特別注意:該語(yǔ)句while(表達(dá)式)后加分號(hào)。

do_while語(yǔ)句的特點(diǎn)是“先執(zhí)行循環(huán)體,后判斷循環(huán)條件”,當(dāng)條件成立時(shí)繼續(xù)執(zhí)行循環(huán)體,條件不成立時(shí)結(jié)束循環(huán)。因此,do_while循環(huán)常用來(lái)實(shí)現(xiàn)類似“直到型”循環(huán)的“當(dāng)型”循環(huán)結(jié)構(gòu)。

for 語(yǔ)句格式及執(zhí)行過(guò)程

for 語(yǔ)句較前兩種循環(huán)語(yǔ)句更簡(jiǎn)潔、更靈活,不僅用于計(jì)數(shù)型循環(huán),而且可以用于條件型循環(huán),特別是處理循環(huán)次數(shù)確定的問(wèn)題。

for(表達(dá)式1;表達(dá)式2;表達(dá)式3)

循環(huán)體語(yǔ)句

其中,表達(dá)式1為賦初值表達(dá)式,表達(dá)式2為條件表達(dá)式,表達(dá)式3為循環(huán)變量增值表達(dá)式

該語(yǔ)句執(zhí)行過(guò)程: ①先對(duì)表達(dá)式1賦初值; ②判別表達(dá)式2是否滿足給定條件,若其值為真,滿足循環(huán)條件,則執(zhí)行循環(huán)體內(nèi)語(yǔ)句,然后執(zhí)行表達(dá)式3,進(jìn)入第二次循環(huán),再判別表達(dá)式2,如此反復(fù),直到判斷表達(dá)式2的值為假,不滿足條件,就終止for循環(huán),執(zhí)行循環(huán)體外語(yǔ)句。

使用for循環(huán)時(shí),for語(yǔ)句的表達(dá)式可以部分或全部省略,但兩個(gè)“;”是不可以省略。①省略表達(dá)式1,這時(shí)沒(méi)有了給循環(huán)變量賦初值的操作,則應(yīng)該在for語(yǔ)句之前給循環(huán)變量賦初值。②省略表達(dá)式2,相當(dāng)于缺少條件判斷,循環(huán)無(wú)限進(jìn)行。③省略表達(dá)式3,則可以把循環(huán)變量的修改部分放到循環(huán)體中進(jìn)行。④3個(gè)表達(dá)式全部省略,則for(;;)相當(dāng)于while(1)。

三、break和continue語(yǔ)句

在C語(yǔ)言中,為了使循環(huán)控制更加靈活,C語(yǔ)言允許在特定條件成立時(shí),使用break或continue語(yǔ)句跳過(guò)循環(huán)體其余語(yǔ)句,轉(zhuǎn)向循環(huán)條件的判定語(yǔ)句。

1、break語(yǔ)句

break語(yǔ)句的一般形式為:break;

break語(yǔ)句有兩個(gè)作用:用于switch語(yǔ)句時(shí),退出switch語(yǔ)句,程序轉(zhuǎn)至switch語(yǔ)句下面的語(yǔ)句;用于循環(huán)語(yǔ)句時(shí),退出包含它的循環(huán)體,程序轉(zhuǎn)至循環(huán)體下面的語(yǔ)句。

2、continue語(yǔ)句

continue語(yǔ)句的一般形式為:continue;

continue語(yǔ)句作用是:結(jié)束本次循環(huán),跳過(guò)循環(huán)體中尚未執(zhí)行的語(yǔ)句,接著進(jìn)行下一次是否執(zhí)行循環(huán)的判斷。在while語(yǔ)句、do……While語(yǔ)句中,continue語(yǔ)句把程序控制轉(zhuǎn)到while后面的表達(dá)式處,在for語(yǔ)句中,continue語(yǔ)句把程序控制轉(zhuǎn)到表達(dá)式3處。

break和continue的區(qū)別:continue語(yǔ)句只結(jié)束本次循環(huán),而不是終止整個(gè)循環(huán)的執(zhí)行,break語(yǔ)句則是結(jié)束循環(huán),不再進(jìn)行條件判斷。

四、循環(huán)語(yǔ)句的應(yīng)用分析

循環(huán)語(yǔ)句在學(xué)習(xí)、生活中有廣泛的應(yīng)用,我們通過(guò)例題進(jìn)行分析說(shuō)明循環(huán)語(yǔ)句的重要作用。

4.1例如輸入某班一門課的成績(jī)并計(jì)算其平均成績(jī)。(人數(shù)不定,當(dāng)輸入成績(jī)?yōu)?1時(shí)結(jié)束)。

分析:本例的特點(diǎn)是“循環(huán)次數(shù)不確定”,而是已知循環(huán)結(jié)束的條件。循環(huán)的組成:①循環(huán)體:將有效成績(jī)score 加入部分和sum;輸入下一個(gè)成績(jī)score;

②循環(huán)控制條件:score!=-1;③ 循環(huán)變量的改變:用戶輸入;④循環(huán)變量的初值: 鍵盤輸入。

程序如下:

main()

{ float score,sum=0;

int n=0;

printf(" enter a score(-1 for end):");

scanf("%f",&score;);

while(score!=-1)

{ sum+=score;

n++;

printf(" enter a score(-1 for end):");

scanf(“%f”,&score;);

}

printf(" n=%d,aver=%f",n,sum/n);

}

例4.2 百錢買百雞:一百錢,買一百只雞,其中公雞3錢/只、母雞1錢/只、小雞3只/錢,問(wèn)可買公雞、母雞、小雞個(gè)多少只?

分析:使用窮舉法求解。cock 在[0,33]的范圍內(nèi)取值,hen 在[0,100]的范圍內(nèi)取值,chick 在[0,100]的范圍內(nèi)取值,且只能取能被3整除的數(shù)。在以上的范圍內(nèi)找出所有滿足百錢買百雞的組合方式輸出出來(lái)即可。

#include

main()

{

int cock,hen,chick,n=0;

for(cock=0;cock<=33;cock++)

for(hen=0;hen<=100;hen++)

for(chick=0;chick<=100;chick+=3)

if(cock+hen+chick==100&&cock;*3+hen+chick/3==100)

printf("Answer %d:cock %d,hen %d,chick %d! ",++n,cock,hen,chick);

}

五、總結(jié)

絕大多數(shù)情況下,三種語(yǔ)句是通用的,并且代碼的差異不大。循環(huán)次數(shù)確定的程序,且組成循環(huán)的四個(gè)部分完整又簡(jiǎn)潔的情況下,多采用for語(yǔ)句。循環(huán)體的語(yǔ)句至少執(zhí)行一次的情況下,多采用do_while語(yǔ)句。

猜你喜歡
初值省略表達(dá)式
具非定常數(shù)初值的全變差方程解的漸近性
一種適用于平動(dòng)點(diǎn)周期軌道初值計(jì)算的簡(jiǎn)化路徑搜索修正法
一個(gè)混合核Hilbert型積分不等式及其算子范數(shù)表達(dá)式
偏旁省略異體字研究
表達(dá)式轉(zhuǎn)換及求值探析
淺析C語(yǔ)言運(yùn)算符及表達(dá)式的教學(xué)誤區(qū)
三維擬線性波方程的小初值光滑解
中間的省略
詩(shī)選刊(2015年6期)2015-10-26 09:47:13
具有無(wú)窮大初值的二維奇異攝動(dòng)問(wèn)題的漸近解
議C語(yǔ)言中循環(huán)語(yǔ)句
商(2012年11期)2012-07-09 19:07:55
塔城市| 永仁县| 贵南县| 财经| 西安市| 营山县| 法库县| 来凤县| 宜州市| 庆阳市| 青浦区| 胶州市| 都江堰市| 长治市| 化德县| 广丰县| 平邑县| 四平市| 兴安盟| 育儿| 鄂州市| 綦江县| 抚远县| 尖扎县| 靖西县| 惠安县| 宜川县| 昌邑市| 西贡区| 砀山县| 剑川县| 青田县| 麦盖提县| 望江县| 奉节县| 精河县| 朝阳县| 宝应县| 星子县| 绥芬河市| 建昌县|