正文 第17章 循環結構程序設計1(1 / 2)

C語言是結構化程序設計語言,而循環結構是結構化程序設計的基本結構之一。實際上,在許多現實問題中循環結構都必不可少。比如求數列之和(或數列之積)、大批量地輸入輸出(或特殊處理)等。其特點是:在給定條件成立時,反複執行某程序段,直到條件不成立為止。給定的條件稱為循環條件,反複執行的程序段稱為循環體。C語言提供了多種循環語句,可以組成各種不同形式的循環結構。

while語句由四個部分組成:循環變量初始化,循環條件,循環體,改變循環變量的值。

while語句的語義是:計算循環條件表達式的值,當值為真(非0)時,執行循環體語句。

while循環結構while語句的一般形式為:

while(表達式)語句;

例如,下麵的代碼就是一個while循環。

sum=0;

i=1;/*循環變量初始化*/

while(i

100為止。如果沒有循環體中的“i=i+1”,則i的值始終不改變,循環就永遠不會停止。

do-while語句的一般形式為:

do

循環體

while(條件表達式);

當程序執行流程到達do後,立即執行循環體語句,然後再對條件表達式進行判斷。若條件表達式的值為真(非0),則重複循環,否則退出。

該循環結構使循環體至少執行一次。

[例62]要從鍵盤輸入中得到一個範圍為1~10的數,下麵是利用do-while寫出的完整的程序。

voidmain()

intnum;

do

printf("Enteranumberbetween1and10:\n");

scanf("%d",&num);

if(num10)

printf("Thisnumberisnotbetween1and10.\n");

}while(num10);

printf("Youentereda%d",num);

運行結果為:

Enteranumberbetween1and10:

12

Thisnumberisnotbetween1and10.

Enteranumberbetween1and10:

6

Youentereda6

該程序讀入一個1~10之間的數,滿足條件後就越過循環,輸出讀入的數值。

do-while循環結構do-while循環至少執行一次,因為直到程序到達循環體的尾部遇到while時,才知道循環條件是什麼。如果循環條件仍然成立,程序再回轉到do-while循環的頂部,繼續循環。