C++ 笔记(11)— 循环(while/for/do while/嵌套循环、break/continue/goto 循环控制语句)
1. while 循環
C++ 中 while 循環的語法:
while(condition)
{statement(s);
}
2. for 循環
2.1 典型 for 循環
C++ 中 for 循環的語法:
for ( init; condition; increment )
{statement(s);
}
下面是 for 循環的控制流:
init會首先被執行,且只會執行一次。這一步允許您聲明并初始化任何循環控制變量。您也可以不在這里寫任何語句,只要有一個分號出現即可。- 接下來,會判斷
condition。如果為真,則執行循環主體。如果為假,則不執行循環主體,且控制流會跳轉到緊接著for循環的下一條語句。 - 在執行完
for循環主體后,控制流會跳回上面的increment語句。該語句允許您更新循環控制變量。該語句可以留空,只要在條件后有一個分號出現即可。 - 條件再次被判斷。如果為真,則執行循環,這個過程會不斷重復(循環主體,然后增加步值,再然后重新判斷條件)。在條件變為假時,
for循環終止。
2.2 C++11 新 for 循環
C++11 引入了一種新的 for 循環,讓對一系列值(如數組包含的值)進行操作的代碼更容易編寫和理解。
基于范圍的 for 循環也使用關鍵字 for :
for (VarType varName : sequence)
{// dosomething
}
通過使用關鍵字 auto 來自動推斷變量的類型,可編寫一個通用的 for 循環,對任何類型的數組 elements 進行處理,從而進一步簡化前面的 for 語句:
for (auto anElement : elements)
{cout << "Array elements are " << anElement << endl;
}
使用示例:
int main()
{int a[] = {0,1,2};for(int i: a){cout << "i is " << i << endl;}cout << "#############"<< endl;for(int &j: a){cout << "j is " << j << endl;}cout << "#############"<< endl;for(auto k: a){cout << "k is " << k << endl;}
}
3. do…while 循環
do...while 循環與 while 循環類似,但是 do...while 循環會確保至少執行一次循環。
C++ 中 do...while 循環的語法:
do
{statement(s);}while( condition );
4. 嵌套循環
4.1 嵌套 for 循環
C++ 中 嵌套 for 循環 語句的語法:
for ( init; condition; increment )
{for ( init; condition; increment ){statement(s);}statement(s); // 可以放置更多的語句
}
4.2 嵌套 while 循環
C++ 中 嵌套 while 循環 語句的語法:
while(condition)
{while(condition){statement(s);}statement(s); // 可以放置更多的語句
}
4.3 嵌套 do … while 循環
C++ 中 嵌套 do...while 循環 語句的語法:
do
{statement(s); // 可以放置更多的語句do{statement(s);}while( condition );}while( condition );
5. 循環控制語句
5.1 break
C++ 中 break 語句有以下兩種用法:
- 當
break語句出現在一個循環內時,循環會立即終止,且程序流將繼續執行緊接著循環的下一條語句。 - 它可用于終止
switch語句中的一個case。
C++ 中 break 語句的語法:
break;
5.2 continue
C++ 中的 continue 語句會跳過當前循環中的代碼,強迫開始下一次循環。
- 對于
for循環,continue語句會導致執行條件測試和循環增量部分。 - 對于
while和do...while循環,continue語句會導致程序控制回到條件測試上。
5.3 goto
goto 語句允許把控制無條件轉移到同一函數內的被標記的語句。
注意:在任何編程語言中,都不建議使用 goto 語句。因為它使得程序的控制流難以跟蹤,使程序難以理解和難以修改。任何使用 goto 語句的程序可以改寫成不需要使用 goto 語句的寫法。
C++ 中 goto 語句的語法:
goto label;
...
label: statement;
在這里, label 是識別被標記語句的標識符,可以是任何除 C++ 關鍵字以外的純文本。標記語句可以是任何語句,放置在標識符和冒號( : )后邊。
goto 語句一個很好的作用是退出深嵌套例程:
for(...) {for(...) {while(...) {if(...) goto stop;...}}
}
stop:
cout << "Error in program.\n";
6. 無限循環
無限 while 循環類似于下面這樣:
while(true)
// while expression fixed to true
{DoSomethingRepeatedly;
}
無限 do...while 循環類似于下面這樣:
do
{DoSomethingRepeatedly;
} while(true);
// do...while expression never evaluates to false
而無限 for 循環類似于下面這樣:
for (;;)
{DoSomethingRepeatedly;
}
總結
以上是生活随笔為你收集整理的C++ 笔记(11)— 循环(while/for/do while/嵌套循环、break/continue/goto 循环控制语句)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 有趣的个性签名女孩子
- 下一篇: 现在的插卡电表有钱可以充值吗(?