2022年計(jì)算機(jī)二級(jí)C語(yǔ)言入門(mén)教程:循環(huán)語(yǔ)句和循環(huán)函數(shù)_第1頁(yè)
2022年計(jì)算機(jī)二級(jí)C語(yǔ)言入門(mén)教程:循環(huán)語(yǔ)句和循環(huán)函數(shù)_第2頁(yè)
2022年計(jì)算機(jī)二級(jí)C語(yǔ)言入門(mén)教程:循環(huán)語(yǔ)句和循環(huán)函數(shù)_第3頁(yè)
2022年計(jì)算機(jī)二級(jí)C語(yǔ)言入門(mén)教程:循環(huán)語(yǔ)句和循環(huán)函數(shù)_第4頁(yè)
2022年計(jì)算機(jī)二級(jí)C語(yǔ)言入門(mén)教程:循環(huán)語(yǔ)句和循環(huán)函數(shù)_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

2022年計(jì)算機(jī)二級(jí)C語(yǔ)言入門(mén)教程:循環(huán)語(yǔ)句和循環(huán)函數(shù)第五章循環(huán)語(yǔ)句和循環(huán)函數(shù)

TurboC2.0供應(yīng)三種根本的循環(huán)語(yǔ)句:for語(yǔ)句、while語(yǔ)句和do-while語(yǔ)句。

一、循環(huán)語(yǔ)句

(一)、for循環(huán)它的一般形式為:

for(;;)

語(yǔ)句;

初始化總是一個(gè)賦值語(yǔ)句,它用來(lái)給循環(huán)掌握變量賦初值;條件表達(dá)式是一個(gè)關(guān)系表達(dá)式,它打算什么時(shí)候退出循環(huán);增量定義循環(huán)掌握變量每循環(huán)一次后按什么方式變化。這三個(gè)局部之間用;分開(kāi)。

例如:

for(i=1;i10時(shí),完畢循環(huán)。

留意:

(1).for循環(huán)中語(yǔ)句可以為語(yǔ)句體,但要用{和}將參與循環(huán)的語(yǔ)句括起來(lái)。

(2).for循環(huán)中的初始化、條件表達(dá)式和增量都是選擇項(xiàng),即可以缺省,但;不能缺省。省略了初始化,表示不對(duì)循環(huán)掌握變量賦初值。省略了條件表達(dá)式,則不做其它處理時(shí)便成為死循環(huán)。省略了增量,則不對(duì)循環(huán)掌握變量進(jìn)展操作,這時(shí)可在語(yǔ)句體中參加修改循環(huán)掌握變量的語(yǔ)句。

(3).for循環(huán)可以有多層嵌套。

例如:

for(;;)語(yǔ)句;

for(i=1;;i+=2)語(yǔ)句;

for(j=5;;)語(yǔ)句;

這些for循環(huán)語(yǔ)句都是正確的。

main()

{

inti,j;

printf(ij\n);

for(i=0;i<2;i++)

for(j=0;j<3;j++)

printf(%d%d\n,i,j);

}

輸出結(jié)果為:

ij

00

01

02

10

11

12

用for循環(huán)求1+2+……+100的和:

main()

{

intsn=0,i;

for(i=1;i<=100;i++)

sn+=i;/*1+2+……+100*/

printf(%d\n,sn);

}

從程序可以看出,使用循環(huán)語(yǔ)句可以大大簡(jiǎn)化代碼。

(二)、while循環(huán)它的一般形式為:

while(條件)

語(yǔ)句;

while循環(huán)表示當(dāng)條件為真時(shí),便執(zhí)行語(yǔ)句。直到條件為假才完畢循環(huán)。并連續(xù)執(zhí)行循環(huán)程序外的后續(xù)語(yǔ)句。

例如:

#includestdio.h

main()

{

charc;

c=”\0”;/*初始化c*/

while(c!=”\n”)/*回車(chē)完畢循環(huán)*/

c=getche();/*帶回顯的從鍵盤(pán)接收字符*/

}

上例中,while循環(huán)是以檢查c是否為回車(chē)符開(kāi)頭,因其事先被初始化為空,所以條件為真,進(jìn)入循環(huán)等待鍵盤(pán)輸入字符;一旦輸入回車(chē),則c=”\n”,條件為假,循環(huán)便告完畢。與for循環(huán)一樣,while循環(huán)總是在循環(huán)的頭部檢驗(yàn)條件,這就意味著循環(huán)可能什么也不執(zhí)行就退出。

留意:

(1).在while循環(huán)體內(nèi)也允許空語(yǔ)句。

例如:

while((c=getche())!=”\n”);

這個(gè)循環(huán)直到鍵入回車(chē)為止。

(2).可以有多層循環(huán)嵌套。

(3).語(yǔ)句可以是語(yǔ)句體,此時(shí)必需用{和}括起來(lái)。

用while循環(huán)求1+2+……+100的和:

main()

{

intsn=0,i=0;

while(++i<=100)

sn+=i;/*求1+2+……+100*/

printf(%d\n,sn);

}

(三)、do--while循環(huán)它的一般格式為:

do

{

語(yǔ)句塊;

}

while(條件);

這個(gè)循環(huán)與while循環(huán)的不同在于:它先執(zhí)行循環(huán)中的語(yǔ)句,然后再推斷條件是否為真,假如為真則連續(xù)循環(huán);假如為假,則終止循環(huán)。因此,do-while循環(huán)至少要執(zhí)行一次循環(huán)語(yǔ)句。

同樣當(dāng)有很多語(yǔ)句參與循環(huán)時(shí),要用{和}把它們括起來(lái)。

用do--while循環(huán)求1+2+……+100的和:

main()

{

intsn=0,i=1;

do

sn+=i;/*求1+2+……+100*/

while(++i<=100);

printf(%d\n,sn);

}

從上面三個(gè)程序看出,使用for,while和do--while求解同樣的問(wèn)題,根本思路都差不多,只是在第一次計(jì)算時(shí),留意初值。

二、循環(huán)掌握

(一)、break語(yǔ)句

break語(yǔ)句通常用在循環(huán)語(yǔ)句和開(kāi)關(guān)語(yǔ)句中。當(dāng)break用于開(kāi)關(guān)語(yǔ)句switch中時(shí),可使程序跳出switch而執(zhí)行switch以后的語(yǔ)句;假如沒(méi)有break語(yǔ)句,則將成為一個(gè)死循環(huán)而無(wú)法退出。break在switch中的用法已在前面介紹開(kāi)關(guān)語(yǔ)句時(shí)的例子中遇到,這里不再舉例。

當(dāng)break語(yǔ)句用于do-while、for、while循環(huán)語(yǔ)句中時(shí),可使程序終止循環(huán)而執(zhí)行循環(huán)后面的語(yǔ)句,通常break語(yǔ)句總是與if語(yǔ)句聯(lián)在一起。即滿(mǎn)意條件時(shí)便跳出循環(huán)。

例如:

main()

{

intsn=0,i;

for(i=1;i<=100;i++)

{

if(i==51)break;/*假如i等于51,則跳出循環(huán)*/

sn+=i;/*1+2+……+50*/

}

printf(%d\n,sn);

}

可以看出,最終的結(jié)果是1+2+……+50。由于在i等于51的時(shí)候,就跳出循環(huán)了。自己寫(xiě)寫(xiě)怎樣在while和do--while循環(huán)中增加break語(yǔ)句。

留意:

1.break語(yǔ)句對(duì)if-else的條件語(yǔ)句不起作用。

2.在多層循環(huán)中,一個(gè)break語(yǔ)句只向外跳一層。

例如:

main()

{

inti,j;

printf(ij\n);

for(i=0;i<2;i++)

for(j=0;j<3;j++)

{

if(j==2)break;

printf(%d%d\n,i,j);

}

}

輸出結(jié)果為:

ij

00

01

10

11

當(dāng)i==0,j==2時(shí),執(zhí)行break語(yǔ)句,跳出到外層的循環(huán),i變?yōu)?。

(二)、continue語(yǔ)句

continue語(yǔ)句的作用是跳過(guò)循環(huán)本中剩余的語(yǔ)句而強(qiáng)行執(zhí)行下一次循環(huán)。

continue語(yǔ)句只用在for、while、do-while等循環(huán)體中,常與if條件語(yǔ)句一起使用,用來(lái)加速循環(huán)。

例如:

main()

{

intsn=0,i;

for(i=1;i<=100;i++)

{

if(i==51)continue;/*假如i等于51,則完畢本次循環(huán)*/

sn+=i;/*1+2+……+50+52+……+100*/

}

printf(%d\n,sn);

}

從程序中可以看出,continue語(yǔ)句只是當(dāng)前的值沒(méi)有執(zhí)行,也就是說(shuō)當(dāng)前的值跳過(guò)去了,接著執(zhí)行下次循環(huán)。

main()

{

in

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論