Turbo C 2.0提供三種基本的循環語句: for語句、while語句和do-while語句。
壹、循環語句
(壹)、for循環 它的壹般形式為:
for(<初始化>;<條件表過式>;<增量>)
語句;
初始化總是壹個賦值語句,它用來給循環控制變量賦初值;條件表達式是壹個關系表達式,它決定什麽時候退出循環;增量定義循環控制變量每循環壹次後按什麽方式變化。這三個部分之間用;分開。
例如:
for(i=1;i<=10;i++)
語句;
上例中先給i賦初值1,判斷i是否小於等於10,若是則執行語句,之後值增加1。再重新判斷,直到條件為假,即i>10時,結束循環。
註意:
(1).for循環中語句可以為語句體,但要用{和}將參加循環的語句括起來。
(2).for循環中的初始化、條件表達式和增量都是選擇項,即可以缺省,但;不能缺省。省略了初始化,表示不對循環控制變量賦初值。省略了條件表達式,則不做其它處理時便成為死循環。省略了增量,則不對循環控制變量進行操作,這時可在語句體中加入修改循環控制變量的語句。
(3).for循環可以有多層嵌套。
例如:
for(;;) 語句;
for(i=1;;i+=2) 語句;
for(j=5;;) 語句;
這些for循環語句都是正確的。
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);
}
輸出結果為:
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\n,sn);
}
從程序可以看出,使用循環語句可以大大簡化代碼。
(二)、while循環 它的壹般形式為:
while(條件)
語句;
while循環表示當條件為真時,便執行語句。直到條件為假才結束循環。並繼續執行循環程序外的後續語句。
例如:
#include stdio.h
main()
{
char c;
c='\0'; /*初始化c*/
while(c!='\n') /*回車結束循環*/
c=getche(); /*帶回顯的從鍵盤接收字符*/
}
上例中,while循環是以檢查c是否為回車符開始,因其事先被初始化為空,所以條件為真,進入循環等待鍵盤輸入字符;壹旦輸入回車,則c='\n',條件為假,循環便告結束。與for循環壹樣,while循環總是在循環的頭部檢驗條件,這就意味著循環可能什麽也不執行就退出。
註意:
(1).在while循環體內也允許空語句。
例如:
while((c=getche())!='\n');
這個循環直到鍵入回車為止。
(2).可以有多層循環嵌套。
(3).語句可以是語句體, 此時必須用{和}括起來。
用while循環求1+2+……+100的和:
main()
{
int sn=0,i=0;
while(++i<=100)
sn+=i; /*求1+2+……+100*/
printf(%d\n,sn);
}
(三)、do--while循環 它的壹般格式為:
do
{
語句塊;
}
while(條件);
這個循環與while循環的不同在於:它先執行循環中的語句,然後再判斷條件是否為真,如果為真則繼續循環;如果為假,則終止循環。因此,do-while循環至少要執行壹次循環語句。
同樣當有許多語句參加循環時,要用{和}把它們括起來。
用do--while循環求1+2+……+100的和:
main()
{
int sn=0,i=1;
do
sn+=i; /*求1+2 ..
訪客只能看到部份內容,免費 加入會員 或由臉書 Google 可以看到全部內容