程序員都會遇到需要多次執(zhí)行同一代碼段的情況。一般情況下,代碼會順序執(zhí)行:函數(shù)中的第一句代碼首先會被執(zhí)行,后面的語句依次執(zhí)行。
編程語言往往可以提供多種控制結構來實現(xiàn)更復雜的程序執(zhí)行流程。
循環(huán)語句以執(zhí)行單個語句或一組語句。下面是大部分編程語言中循環(huán)語句的一般模式:
http://wiki.jikexueyuan.com/project/cplusplus/images/loop_architecture.jpg" alt="" />
C++ 語言支持下方的循環(huán)類型來滿足循環(huán)的需求。點擊鏈接查看詳細情況。
| 循環(huán)類型 | 描述 |
|---|---|
| while 循環(huán) | 當給定條件為 true 時,執(zhí)行循環(huán)體。在每次執(zhí)行循環(huán)體前都檢查條件是否為 true。 |
| for 循環(huán) | 按照條件執(zhí)行循環(huán)體,可以簡化循環(huán)體的結構 |
| switch 語句 | 一個 switch 語句允許一個變量針對多個不同的值分別進行驗證是否滿足條件。 |
| do…while 循環(huán) | 與 loop 循環(huán)類似,不同的是在循環(huán)體后檢查條件 |
| 嵌套循環(huán) | 可以嵌套 for 或 loop 循環(huán)來多次執(zhí)行循環(huán)體 |
循環(huán)控制語句可以改變原有循環(huán)執(zhí)行順序。當循環(huán)體執(zhí)行結束后,其范圍內(nèi)定義的對象都會被銷毀。
C++ 語言支持下方的循環(huán)控制語句。點擊鏈接查看詳細情況。
| 循環(huán)語句 | 描述 |
|---|---|
| break | 終止當前 loop 或 switch 代碼塊,并且跳出后執(zhí)行后續(xù)代碼。 |
| continue | 跳出當前循環(huán)體,檢測循環(huán)執(zhí)行條件 |
| goto | 跳轉到指定的代碼標簽處,不建議在程序中大量使用該功能。 |
如果循環(huán)條件無法變?yōu)?false 的話,那么該訓話那就是無窮循環(huán)。for 循環(huán)就是實現(xiàn)無窮循環(huán)。for 循環(huán)條件中的三個表達式并不是必須的,所以只要將條件判斷語句置空就可以實現(xiàn)無窮循環(huán)。
#include <iostream>
using namespace std;
int main ()
{
for( ; ; )
{
printf("This loop will run forever.\n");
}
return 0;
}
當條件判斷語句置空后,就默認是 true. 程序員也可以保留初始化和遞增表達式,但是 C++ 工程師一般都是使用 for(;;)來表達無窮循環(huán)。
注意:可以通過 Ctrl + C 的方式來終止無窮循環(huán)。