C語言 do-while語句
1.do-while循環(huán)的一般形式
do-while循環(huán)同while循環(huán)一樣,也適合于循環(huán)次數(shù)不確定的情況,do-while循環(huán)的特點是先執(zhí)行循環(huán)體,再測試條件是否成立。 do-while循環(huán)的一般形式為:
do
{
循環(huán)語句
}while(表達式);
又分為以下幾種情況:
①表達式為循環(huán)控制條件,通常是關系表達式或邏輯表達式的形式,也可以是任意合法的C語言表達式。
②雖然在do-while循環(huán)中,當循環(huán)語句是一條簡單語句,可以不加大括號,但還是建議不論是單條語句還是多條語句,盡量都以復合語句的形式出現(xiàn),以保證程序的結構清晰。
③循環(huán)語句也可以是空語句,例如:
do
{
;
}while(i<10);
④do-while循環(huán)中while后面的“;”不可以省略。
2.do-while循環(huán)的執(zhí)行過程
do-While循環(huán)的執(zhí)行過程為:先執(zhí)行一次循環(huán)體,遇到循環(huán)條件,計算并判斷循環(huán)表達式是否為非0,如果為非0,繼續(xù)執(zhí)行循環(huán)體,否則結束循環(huán)。do-while循環(huán)的執(zhí)行流程圖如圖所示。
do-while循環(huán)有三個方面需要注意:
①從流程圖中可以看出,do-while循環(huán)中,哪怕從最開始時循環(huán)表達式就不成立,循環(huán)語句也至少被執(zhí)行一次,例如:
int i=21;
do
{
printf ("%d\n",i);
i++;
}while(i<20);
程序中,變量i的初值為21,遇到do-while循環(huán),先執(zhí)行循環(huán)體,輸出i,并使i增1。之后判斷循環(huán)條件i<20是否成立,i的值此時已是22,循環(huán)條件不成立,退出循環(huán)。雖然i的值最開始就不小于20,但也執(zhí)行了一次循環(huán)體。
②和while循環(huán)一樣,do-while循環(huán)也在出現(xiàn)下列情況時退出循環(huán):
?條件表達式不成立(為0)時。
?在循環(huán)體中遇到break語句、return語句時。
③避免程序中出現(xiàn)死循環(huán),循環(huán)體中應該有使循環(huán)趨近于結束的語句,或者設置能夠結束循環(huán)的循環(huán)條件。例如:
int x=0;
do
{
if (x%2==0)
printf ("%d is even number\n",x);
else
printf ("%d is not even number\n",x);
scanf ("%d",&x);
}while(x>0 && x<=100);
程序需要判斷輸入的0?100之間的一組整數(shù),哪個是偶數(shù),哪個奇數(shù)。因循環(huán)體實現(xiàn)的功能是輸入數(shù)據(jù)并判斷奇偶數(shù),要想結束循環(huán),只要輸入一個0?100之外的數(shù)字即可。所以本程序的循環(huán)結束是由用戶自己控制的,輸入一個不符合條件的值即可結束循環(huán)。
點擊加載更多評論>>