C語言

當前位置 /首頁/計算機/C語言/列表

C語言三種迴圈語句

三種基本的迴圈語句: for語句、while語句和do-while語句。

C語言三種迴圈語句

一、迴圈語句

(一)、for迴圈 它的一般形式為:

for(<初始化>;<條件表過式>;<增量>)

語句;

初始化總是一個賦值語句,它用來給迴圈控制變數賦初值;條件表示式是一個關係表示式,它決定什麼時候退出迴圈;增量定義迴圈控制變數每迴圈一次後按什麼方式變化。這三個部分之間用;分開。

例如:

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

語句;

上例中先給i賦初值1,判斷i是否小於等於10,若是則執行語句,之後值增加1。再重新判斷,直到條件為假,即i>10時,結束迴圈。

注意:

(1)迴圈中語句可以為語句體,但要用{和}將參加迴圈的語句括起來。

(2)迴圈中的'初始化、條件表示式和增量都是選擇項,即可以預設,但;不能預設。省略了初始化,表示不對迴圈控制

變數賦初值。省略了條件表示式,則不做其它處理時便成為無窮迴圈。省略了增量,則不對迴圈控制變數進行操作,這時可在語句體中加入修改迴圈控制變數的語句。

(3)迴圈可以有多層巢狀。

例如:

for(;;) 語句;

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

for(j=5;;) 語句;

這些for迴圈語句都是正確的。

main()

{

int i,j;

printf(i j );

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

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

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

}

輸出結果為:

i j

0 0

0 1

0 2

1 0

1 1

1 2

用for迴圈求1+2+……+100的和:

main()

{

int sn=0,i;

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

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

printf(%d ,sn);

}

從程式可以看出,使用迴圈語句可以大大簡化程式碼。

(二)、while迴圈 它的一般形式為:

while(條件)

語句;

while迴圈表示當條件為真時,便執行語句。直到條件為假才結束迴圈。並繼續執行迴圈程式外的後續語句。 例如:

#include stdio.h

main()

{

char c;

c=''; /*初始化c*/

while(c!=' ') /*回車結束迴圈*/

c=getche(); /*帶回顯的從鍵盤接收字元*/

}

上例中,while迴圈是以檢查c是否為回車符開始,因其事先被初始化為空,所以條件為真,進入迴圈等待鍵盤輸入字元;一旦輸入回車,則c=' ',條件為假,迴圈便告結束。與for迴圈一樣,while迴圈總是在迴圈的頭部檢驗條件,這就意味著迴圈可能什麼也不執行就退出。

注意:

(1).在while迴圈體內也允許空語句。

例如:

while((c=getche())!=' ');

這個迴圈直到鍵入回車為止。

(2).可以有多層迴圈巢狀。

(3).語句可以是語句體, 此時必須用{和}括起來。

用while迴圈求1+2+……+100的和:

main()

{

int sn=0,i=0;

while(++i<=100)

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

printf(%d ,sn);

}

(三)、do--while迴圈 它的一般格式為:

do

{

語句塊;

}

while(條件);

這個迴圈與while迴圈的不同在於:它先執行迴圈中的語句,然後再判斷條件是否為真,如果為真則繼續迴圈;如果為假,則終止迴圈。因此,do-while迴圈至少要執行一次迴圈語句。 同樣當有許多語句參加迴圈時,要用{和}把它們括起來。

用do--while迴圈求1+2+……+100的和:

main()

{

int sn=0,i=1;

do

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

while(++i<=100);

TAG標籤:語言 語句 #