循環(huán)語(yǔ)句和循環(huán)函數(shù)
Turbo C 2.0提供三種基本的循環(huán)語(yǔ)句: for語(yǔ)句、while語(yǔ)句和do-while語(yǔ)句。
一、循環(huán)語(yǔ)句
(一)、for循環(huán) 它的一般形式為:
for(<初始化>;<條件表過式>;<增量>)
語(yǔ)句;
初始化總是一個(gè)賦值語(yǔ)句,它用來給循環(huán)控制變量賦初值;條件表達(dá)式是一個(gè)關(guān)系表達(dá)式,它決定什么時(shí)候退出循環(huán);增量定義循環(huán)控制變量每循環(huán)一次后按什么方式變化。這三個(gè)部分之間用;分開。
例如:
for(i=1;i<=10;i++)
語(yǔ)句;
上例中先給i賦初值1,判斷i是否小于等于10,若是則執(zhí)行語(yǔ)句,之后值增加1。再重新判斷,直到條件為假,即i>10時(shí),結(jié)束循環(huán)。
注意:
(1).for循環(huán)中語(yǔ)句可以為語(yǔ)句體,但要用{和}將參加循環(huán)的語(yǔ)句括起來。
(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()
{
int i,j;
printf(i j\n);
for(i=0;i<2;i++)
for(j=0;j<3;j++)
printf(%d %d\n,i,j);
}
輸出結(jié)果為:
i j
0 0
0 1
0 2
1 0
1 1
1 2
用for循環(huán)求1+2+……+100的和:
main()
{
int sn=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ǔ)句。直到條件為假才結(jié)束循環(huán)。并繼續(xù)執(zhí)行循環(huán)程序外的后續(xù)語(yǔ)句。
例如:
#include stdio.h
main()
{
char c;
c='\0'; /*初始化c*/
while(c!='\n') /*回車結(jié)束循環(huán)*/
c=getche(); /*帶回顯的從鍵盤接收字符*/
}
上例中,while循環(huán)是以檢查c是否為回車符開始,因其事先被初始化為空,所以條件為真,進(jìn)入循環(huán)等待鍵盤輸入字符;一旦輸入回車,則c='\n',條件為假,循環(huán)便告結(jié)束。與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)直到鍵入回車為止。
(2).可以有多層循環(huán)嵌套。
(3).語(yǔ)句可以是語(yǔ)句體, 此時(shí)必須用{和}括起來。
用while循環(huán)求1+2+……+100的和:
main()
{
int sn=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í),要用{和}把它們括起來。
用do--while循環(huán)求1+2+……+100的和:
main()
{
int sn=0,i=1;
do
sn+=i; /*求1+2+……+100*/
while(++i<=100);
printf(%d\n,sn);
}
從上面三個(gè)程序看出,使用for,while和do--while求解同樣的問題,基本思路都差不多,只是在第一次計(jì)算時(shí),注意初值。
2015年全國(guó)職稱計(jì)算機(jī)考試教材(2007模 .. 定價(jià):¥225 優(yōu)惠價(jià):¥213 更多書籍 | |
全國(guó)職稱計(jì)算機(jī)考試速成過關(guān)系列套裝:W .. 定價(jià):¥133 優(yōu)惠價(jià):¥133.0 更多書籍 |