有的時候,咱們可能須要屢次執行同一塊代碼。通常狀況下,語句是按順序執行的:函數中的第一個語句先執行,接着是第二個語句,依此類推。html
編程語言提供了更爲複雜執行路徑的多種控制結構。程序員
循環語句容許咱們屢次執行一個語句或語句組,下面是大多數編程語言中循環語句的流程圖:編程
C 語言提供瞭如下幾種循環類型。點擊連接查看每一個類型的細節。編程語言
循環類型 | 描述 |
---|---|
while 循環 | 當給定條件爲真時,重複語句或語句組。它會在執行循環主體以前測試條件。 |
for 循環 | 屢次執行一個語句序列,簡化管理循環變量的代碼。 |
do...while 循環 | 除了它是在循環主體結尾測試條件外,其餘與 while 語句相似。 |
嵌套循環 | 您能夠在 while、for 或 do..while 循環內使用一個或多個循環。 |
循環控制語句改變你代碼的執行順序。經過它你能夠實現代碼的跳轉。函數
C 提供了下列的循環控制語句。點擊連接查看每一個語句的細節。oop
控制語句 | 描述 |
---|---|
break 語句 | 終止循環或 switch 語句,程序流將繼續執行緊接着循環或 switch 的下一條語句。 |
continue 語句 | 告訴一個循環體馬上中止本次循環迭代,從新開始下次循環迭代。 |
goto 語句 | 將控制轉移到被標記的語句。可是不建議在程序中使用 goto 語句。 |
若是條件永遠不爲假,則循環將變成無限循環。for 循環在傳統意義上可用於實現無限循環。因爲構成循環的三個表達式中任何一個都不是必需的,您能夠將某些條件表達式留空來構成一個無限循環。測試
#include <stdio.h>spa
int main ()htm
{ blog
for( ; ; )
{
printf("該循環會永遠執行下去!\n");
}
return 0;
}
當條件表達式不存在時,它被假設爲真。您也能夠設置一個初始值和增量表達式,可是通常狀況下,C 程序員偏向於使用 for(;;) 結構來表示一個無限循環。
注意:您能夠按 Ctrl + C 鍵終止一個無限循環。
只要給定的條件爲真,C 語言中的 while 循環語句會重複執行一個目標語句。
C 語言中 while 循環的語法:
while(condition) { statement(s); }
在這裏,statement(s) 能夠是一個單獨的語句,也能夠是幾個語句組成的代碼塊。
condition 能夠是任意的表達式,當爲任意非零值時都爲 true。當條件爲 true 時執行循環。 當條件爲 false 時,退出循環,程序流將繼續執行緊接着循環的下一條語句。
在這裏,while 循環的關鍵點是循環可能一次都不會執行。當條件爲 false 時,會跳過循環主體,直接執行緊接着 while 循環的下一條語句。
#include <stdio.h> int main () { /* 局部變量定義 */ int a = 10; /* while 循環執行 */ while( a < 20 ) { printf("a 的值: %d\n", a); a++; } return 0; }
當上面的代碼被編譯和執行時,它會產生下列結果:
a 的值: 10 a 的值: 11 a 的值: 12 a 的值: 13 a 的值: 14 a 的值: 15 a 的值: 16 a 的值: 17 a 的值: 18 a 的值: 19