C++入門到精通之循環(huán)語句的使用教程
有的時(shí)候,可能需要多次執(zhí)行同一塊代碼。一般情況下,語句是順序執(zhí)行的:函數(shù)中的第一個(gè)語句先執(zhí)行,接著是第二個(gè)語句,依此類推。
編程語言提供了允許更為復(fù)雜的執(zhí)行路徑的多種控制結(jié)構(gòu)。
循環(huán)語句允許我們多次執(zhí)行一個(gè)語句或語句組。
一、循環(huán)的類型
1.while循環(huán)
當(dāng)給定條件為真時(shí),重復(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í)行一個(gè)語句序列,簡化管理循環(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í)行離開一個(gè)范圍時(shí),所有在該范圍中創(chuàng)建的自動對象都會被銷毀。
1.break語句
終止 loop 或 switch 語句,程序流將繼續(xù)執(zhí)行緊接著 loop 或 switch 的下一條語句。
1.1用法
當(dāng) break 語句出現(xiàn)在一個(gè)循環(huán)內(nèi)時(shí),循環(huán)會立即終止,且程序流將繼續(xù)執(zhí)行緊接著循環(huán)的下一條語句。
它可用于終止 switch 語句中的一個(gè) 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 語句有點(diǎn)像 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)意義上可用于實(shí)現(xiàn)無限循環(huán)。由于構(gòu)成循環(huán)的三個(gè)表達(dá)式中任何一個(gè)都不是必需的,您可以將某些條件表達(dá)式留空來構(gòu)成一個(gè)無限循環(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í)現(xiàn)簡單人機(jī)對弈井字棋
這篇文章主要為大家詳細(xì)介紹了C++控制臺實(shí)現(xiàn)簡單人機(jī)對弈井字棋,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05
C/C++實(shí)現(xiàn)矩陣的轉(zhuǎn)置(示例代碼)
C/C++實(shí)現(xiàn)矩陣的轉(zhuǎn)置(示例代碼)需要的朋友可以過來參考下,希望對大家有所幫助2013-10-10
C++ 中const對象與const成員函數(shù)的實(shí)例詳解
這篇文章主要介紹了C++ 中const對象與const成員函數(shù)的實(shí)例詳解的相關(guān)資料,希望通過本文能讓大家徹底掌握該如何使用,需要的朋友可以參考下2017-08-08
C++實(shí)現(xiàn)LeetCode(126.詞語階梯之二)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(126.詞語階梯之二),本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07
C++實(shí)現(xiàn)LeetCode(189.旋轉(zhuǎn)數(shù)組)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(189.旋轉(zhuǎn)數(shù)組),本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07
C語言分別實(shí)現(xiàn)棧和隊(duì)列詳解流程
棧和隊(duì)列,嚴(yán)格意義上來說,也屬于線性表,因?yàn)樗鼈円捕加糜诖鎯壿嬯P(guān)系為 "一對一" 的數(shù)據(jù),但由于它們比較特殊,因此將其單獨(dú)作為一章,做重點(diǎn)講解2022-04-04

