需要多次執行同一塊**,迴圈語句允許我們多次執行乙個語句或者乙個語句組。說白了就是重複某件事到某個條件達成。
while迴圈
直到迴圈,直到某個條件不成立,迴圈結束
while
(condition)
在這裡,statement(s) 可以是乙個單獨的語句,也可以是幾個語句組成的**塊。condition 可以是任意的表示式,當為任意非零值時都為真。當條件為真時執行迴圈。
當條件為假時,程式流將繼續執行緊接著迴圈的下一條語句。
for迴圈
for
( init; condition; increment )
下面是 for 迴圈的控制流:
1、init 會首先被執行,且只會執行一次。這一步允許您宣告並初始化任何迴圈控制變數。您也可以不在這裡寫任何語句,只要有乙個分號出現即可。
2、接下來,會判斷 condition。如果為真,則執行迴圈主體。如果為假,則不執行迴圈主體,且控制流會跳轉到緊接著 for 迴圈的下一條語句。
3、在執行完 for 迴圈主體後,控制流會跳回上面的 increment 語句。該語句允許您更新迴圈控制變數。該語句可以留空,只要在條件後有乙個分號出現即可。
4、條件再次被判斷。如果為真,則執行迴圈,這個過程會不斷重複(迴圈主體,然後增加步值,再然後重新判斷條件)。在條件變為假時,for 迴圈終止。
do while 迴圈
do
while
( condition )
;
請注意,條件表示式出現在迴圈的尾部,所以迴圈中的 statement(s) 會在條件被測試之前至少執行一次。
如果條件為真,控制流會跳轉回上面的 do,然後重新執行迴圈中的 statement(s)。這個過程會不斷重複,直到給定條件變為假為止。
巢狀迴圈
關於巢狀迴圈有一點值得注意,您可以在任何型別的迴圈內巢狀其他任何型別的迴圈。比如,乙個 for 迴圈可以巢狀在乙個 while 迴圈內,反之亦然。
迴圈控制語句
迴圈控制語句更改執行的正常序列。當執行離開乙個範圍時,所有在該範圍中建立的自動物件都會被銷毀。
break語句終止 loop 或 switch 語句,程式流將繼續執行緊接著 loop 或 switch 的下一條語句。
continue 語句引起迴圈跳過主體的剩餘部分,立即重新開始測試條件。
c++ 中的 continue 語句有點像 break 語句。但它不是強迫終止,continue 會跳過當前迴圈中的**,強迫開始下一次迴圈。
對於 for 迴圈,continue 語句會導致執行條件測試和迴圈增量部分。對於 while 和 do…while 迴圈,continue 語句會導致程式控制回到條件測試上。
goto 語句將控制轉移到被標記的語句。但是不建議在程式中使用 goto 語句。
無限迴圈
如果條件永遠不為假,則迴圈將變成無限迴圈。for 迴圈在傳統意義上可用於實現無限迴圈。由於構成迴圈的三個表示式中任何乙個都不是必需的
例項:
#include
using
namespace std;
int main (
)return0;
}
當條件表示式不存在時,它被假設為真。
注意:可以按 ctrl + c 鍵終止乙個無限迴圈。
C 讀書筆記
1.內建函式 inline必須在呼叫前進行完整定義,語 define相同,但是消除了不安全性 例 inline float circle float r 2,函式原型 語法形式 返回型別 函式名 參數列 1 函式原型的參數列中不包含引數的名字,而只包含型別 2 函式定義由函式說明部分和函式體構成 3...
C 讀書筆記
c陷阱和缺陷 1.賦值符優先順序比邏輯比較低,賦值表示式的結果為賦值後的結果 2.編譯器掃瞄符號使用貪心法,盡量選擇最長字元的符號串,如a 理解為a 而不是a 3.為相容老版本編譯器,不同符號之間最好加空格,如a 1可能理解為a 1,應該改為a 1 4.老版本編譯器,8進製數以0開始,後面可以加超過...
c 讀書筆記
再看一本叫做 stl lectures 的書,裡面有一段 讓我學習了 include includeusing namespace std template const t max const t x,const t y int main 我說這段 讓我學習,不是說它寫的多好 因為這段 在g 4.8...