第 5 章 循環結構程序設計
5.1 為什么需要循環控制
循環結構一般用於處理重復操作的問題。
循環結構和順序結構、選擇結構是結構化程序設計的 3 中基本結構。
5.2 用 while 語句實現循環
while 語句的一般形式如下:
while (表達式)
語句
其中的“語句”就是循環體。執行循環體的次數是由循環條件控制的,循環條件就是括號中的“表達式”,也稱為循環條件表達式。
while 語句的特點是先判斷循環條件。若成立,則執行循環體語句。
while 循環語句的執行順序是先判別循環條件。當表達式的值為真(非 0)時,執行循環體語句。直到表達式的值為假(0),循環結束。
5.3 用 do···while 語句實現循環
C 語言還提供了 do···while 語句來實現循環。
do···while 語句的一般形式是
do
語句
while (表達式)
do···while 語句的特點是先執行循環體,再檢查循環條件是否成立。若成立,再執行循環體。
do···while 循環語句的執行順序是先執行一次特定的循環體語句,然后判別循環條件表達式。當表達式的值為真(非 0)時,繼續執行循環體語句。直到表達式的值為假(0),循環結束。
5.4 用 for 語句實現循環
C 語言還提供了靈活的 for 語句實現循環結構。
for 語句可以用於循環次數確定的情況,還可以用於循環次數不確定只有循環結束條件的情況。
for 語句的一般形式為:
for (表達式 1 : 表達式 2 : 表達式 3)
語句
- 表達式 1:設置初始條件,只執行一次。可以為零個、一個或多個變量設置初值。
- 表達式 2:循環條件表達式,用來判定是否繼續循環。在每次執行循環體前先執行此表達式,決定是否繼續執行循環。
- 表達式 3:作為循環的調整,例如使循環變量增值,在執行完循環體后才執行的。
for 語句的執行順序為:
- 求解表達式 1。
- 求解表達式 2。若此條件表達式的值為真,則執行 for 語句中的循環體,然后執行第 3 步。若為假,轉到第 5 步。
- 求解表達式 3。
- 轉回第 2 步繼續執行。
- 循環結束,跳出 for 循環。
for 語句的一般形式改寫為 while 循環形式:
表達式 1
while (表達式 2)
{
語句
表達式 3
}
5.5 循環的嵌套
一個循環體內又包含另一個完整的循環結構,稱為循環的嵌套。
3 種循環(while 循環、do···while 循環和 for 循環)可以相互嵌套。
5.6 幾種循環的比較
- 3 種循環都可以用來處理同一問題。
- 3 種循環都可以用 break 語句跳出循環,用 continue 語句結束本次循環。
5.7 改變循環執行的狀態
可以用 break 語句和 continue 語句來實現提前結束循環。
5.7.1 用 break 語句提前終止循環
break 可以使流程從 switch 結構中跳出,還可以用來從循環體內跳出循環,提前結束循環。
break 語句只能用於循環語句和 switch 語句之中,不能單獨使用。
5.7.2 用 continue 語句提前結束本次循環
用 continue 語句可以提前結束本次循環,而接着執行下次循環。
5.7.3 break 語句和 continue 語句的區別
continue 語句只結束本次循環,而不是終止整個循環的執行。
break 語句則是結束整個循環過程,不再判斷執行循環的條件是否成立。