C++入門到精通之循環(huán)語句的使用教程
有的時候,可能需要多次執(zhí)行同一塊代碼。一般情況下,語句是順序執(zhí)行的:函數(shù)中的第一個語句先執(zhí)行,接著是第二個語句,依此類推。
編程語言提供了允許更為復(fù)雜的執(zhí)行路徑的多種控制結(jié)構(gòu)。
循環(huán)語句允許我們多次執(zhí)行一個語句或語句組。
一、循環(huán)的類型
1.while循環(huán)
當(dāng)給定條件為真時,重復(fù)語句或語句組。它會在執(zhí)行循環(huán)主體之前測試條件。
1.1用法
while(condition) { statement(s); }
例子:
#include <iostream> using namespace std; int main () { int a = 1; while( a < 10 ) { cout << "a 的值:" << a << endl; a++; } return 0; }
輸出:
a 的值:1
a 的值:2
a 的值:3
a 的值:4
a 的值:5
a 的值:6
a 的值:7
a 的值:8
a 的值:9
2.for循環(huán)
多次執(zhí)行一個語句序列,簡化管理循環(huán)變量的代碼。
2.1用法
for ( init; condition; increment ) { statement(s); }
例子:
#include <iostream> using namespace std; int main () { for(int a = 1; a <= 10; a++) { cout << "a 的值:" << a << endl; } return 0; }
輸出:
a 的值:1
a 的值:2
a 的值:3
a 的值:4
a 的值:5
a 的值:6
a 的值:7
a 的值:8
a 的值:9
a 的值:10
3.do…while循環(huán)
除了它是在循環(huán)主體結(jié)尾測試條件外,其他與 while 語句類似。
3.1用法
不像 for 和 while 循環(huán),它們是在循環(huán)頭部測試循環(huán)條件。do…while 循環(huán)是在循環(huán)的尾部檢查它的條件。
do…while 循環(huán)與 while 循環(huán)類似,但是 do…while 循環(huán)會確保至少執(zhí)行一次循環(huán)。
do { statement(s); }while( condition )
例子:
#include <iostream> using namespace std; int main () { int a = 0; do { cout << "a 的值:" << a << endl; a = a + 1; }while( a < 20 ); return 0; }
輸出:
a 的值:0
a 的值:1
a 的值:2
a 的值:3
a 的值:4
a 的值:5
a 的值:6
a 的值:7
a 的值:8
a 的值:9
a 的值:10
a 的值:11
a 的值:12
a 的值:13
a 的值:14
a 的值:15
a 的值:16
a 的值:17
a 的值:18
a 的值:19
二、循環(huán)控制語句
循環(huán)控制語句更改執(zhí)行的正常序列。當(dāng)執(zhí)行離開一個范圍時,所有在該范圍中創(chuàng)建的自動對象都會被銷毀。
1.break語句
終止 loop 或 switch 語句,程序流將繼續(xù)執(zhí)行緊接著 loop 或 switch 的下一條語句。
1.1用法
當(dāng) break 語句出現(xiàn)在一個循環(huán)內(nèi)時,循環(huán)會立即終止,且程序流將繼續(xù)執(zhí)行緊接著循環(huán)的下一條語句。
它可用于終止 switch 語句中的一個 case。
例子:
#include <iostream> using namespace std; int main () { int a = 0; do { cout << "a 的值:" << a << endl; a = a + 1; if(a > 10) { break; } }while( a < 20 ); return 0; }
輸出:
a 的值:0
a 的值:1
a 的值:2
a 的值:3
a 的值:4
a 的值:5
a 的值:6
a 的值:7
a 的值:8
a 的值:9
a 的值:10
2.continue語句
引起循環(huán)跳過主體的剩余部分,立即重新開始測試條件。
C++ 中的 continue 語句有點像 break 語句。但它不是強(qiáng)迫終止,continue 會跳過當(dāng)前循環(huán)中的代碼,強(qiáng)迫開始下一次循環(huán)。
對于 for 循環(huán),continue 語句會導(dǎo)致執(zhí)行條件測試和循環(huán)增量部分。對于 while 和 do…while 循環(huán),continue 語句會導(dǎo)致程序控制回到條件測試上。
例子:
#include <iostream> using namespace std; int main () { for(int a = 1; a <= 10; a++) { if(a == 8) { cout << "這是一次跳過" << endl; continue; } cout << "a 的值:" << a << endl; } return 0; }
輸出:
a 的值:1
a 的值:2
a 的值:3
a 的值:4
a 的值:5
a 的值:6
a 的值:7
這是一次跳過
a 的值:9
a 的值:10
3.goto語句
goto 語句允許把控制無條件轉(zhuǎn)移到同一函數(shù)內(nèi)的被標(biāo)記的語句。
3.1用法
goto label; .. . label: statement;
例子:
#include <iostream> using namespace std; int main () { int tag = 1; LOOP: for(int a = 1; a <= 15; a++) { if (a == 8 && tag == 1) { cout << "這是一次跳過" << endl; tag = 0; goto LOOP; } cout << "a 的值:" << a << endl; } return 0; }
輸出:
a 的值:1
a 的值:2
a 的值:3
a 的值:4
a 的值:5
a 的值:6
a 的值:7
這是一次跳過
a 的值:1
a 的值:2
a 的值:3
a 的值:4
a 的值:5
a 的值:6
a 的值:7
a 的值:8
a 的值:9
a 的值:10
a 的值:11
a 的值:12
a 的值:13
a 的值:14
a 的值:15
三、無限循環(huán)
如果條件永遠(yuǎn)不為假,則循環(huán)將變成無限循環(huán)。for 循環(huán)在傳統(tǒng)意義上可用于實現(xiàn)無限循環(huán)。由于構(gòu)成循環(huán)的三個表達(dá)式中任何一個都不是必需的,您可以將某些條件表達(dá)式留空來構(gòu)成一個無限循環(huán)。
#include <iostream> using namespace std; int main () { for( ; ; ) { cout << "666" << endl; } return 0; }
上面的代碼將會無限循環(huán)的打印666
以上就是C++入門到精通之循環(huán)語句的使用教程的詳細(xì)內(nèi)容,更多關(guān)于C++循環(huán)語句的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
C++類中三大函數(shù)詳解(構(gòu)造、析構(gòu)和拷貝)
c++三大函數(shù)指的是拷貝構(gòu)造、拷貝賦值、析構(gòu)函數(shù),下面這篇文章主要給大家介紹了關(guān)于C++類中三大函數(shù)(構(gòu)造、析構(gòu)和拷貝)的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-03-03一文帶你掌握C++中的移動語義和完美轉(zhuǎn)發(fā)
這篇文章主要為大家詳細(xì)介紹了C++中的移動語義和完美轉(zhuǎn)發(fā)的相關(guān)知識,文中的示例代碼講解詳細(xì),對我們深入掌握C++有一定的幫助,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-12-12