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