程序從上到下執行html
判斷結構要求程序員指定一個或多個要評估或測試的條件,以及條件爲真時要執行的語句(必需的)和條件爲假時要執行的語句(可選的)。java
C++ 編程語言提供瞭如下類型的判斷語句ios
語句 | 描述 |
---|---|
if語句 | 一個 if 語句 由一個布爾表達式後跟一個或多個語句組成。 |
if-else語句 | 一個 if 語句 後可跟一個可選的 else 語句,else 語句在布爾表達式爲假時執行。 |
嵌套if語句 | 您能夠在一個 if 或 else if 語句內使用另外一個 if 或 else if 語句。 |
switch語句 | 一個 switch 語句容許測試一個變量等於多個值時的狀況。 |
嵌套switch語句 | 您能夠在一個 switch 語句內使用另外一個 switch 語句。 |
C++ 中 if 語句的語法:程序員
if(boolean_expression) { // 若是布爾表達式爲真將執行的語句 }
若是布爾表達式爲 true,則 if 語句內的代碼塊將被執行。若是布爾表達式爲 false,則 if 語句結束後的第一組代碼(閉括號後)將被執行。express
C 語言把任何非零和非空的值假定爲 true,把零或 null 假定爲 false。編程
一個 if 語句 後可跟一個可選的 else 語句,else 語句在布爾表達式爲假時執行。數組
C++ 中 if...else 語句的語法:app
if(boolean_expression) { // 若是布爾表達式爲真將執行的語句 } else { // 若是布爾表達式爲假將執行的語句 }
若是布爾表達式爲 true,則執行 if 塊內的代碼。若是布爾表達式爲 false,則執行 else 塊內的代碼。編程語言
在 C++ 中,嵌套 if-else 語句是合法的,這意味着您能夠在一個 if 或 else if 語句內使用另外一個 if 或 else if 語句。函數
C++ 中 嵌套 if 語句的語法:
if( boolean_expression 1) { // 當布爾表達式 1 爲真時執行 if(boolean_expression 2) { // 當布爾表達式 2 爲真時執行 } }
您能夠嵌套 else if...else,方式與嵌套 if 語句類似。
一個 switch 語句容許測試一個變量等於多個值時的狀況。每一個值稱爲一個 case,且被測試的變量會對每一個 switch case 進行檢查。
C++ 中 switch 語句的語法:
switch(expression){ case constant-expression : statement(s); break; // 可選的 case constant-expression : statement(s); break; // 可選的 // 您能夠有任意數量的 case 語句 default : // 可選的 statement(s); }
switch 語句必須遵循下面的規則:
能夠把一個 switch 做爲一個外部 switch 的語句序列的一部分,便可以在一個 switch 語句內使用另外一個 switch 語句。即便內部和外部 switch 的 case 常量包含共同的值,也沒有矛盾。
C++ 中的 switch 語句容許至少 256 個嵌套層次。
C++ 中 嵌套 switch 語句的語法:
switch(ch1) { case 'A': cout << "這個 A 是外部 switch 的一部分"; switch(ch2) { case 'A': cout << "這個 A 是內部 switch 的一部分"; break; case 'B': // 內部 B case 代碼 } break; case 'B': // 外部 B case 代碼 }
注意:? : 運算符
咱們已經在前面的章節中講解了條件運算符?:,能夠用來替代 if...else 語句。它的通常形式以下:
Exp1 ? Exp2 : Exp3;
其中,Exp一、Exp2 和 Exp3 是表達式。請注意,冒號的使用和位置。
? 表達式的值是由 Exp1 決定的。若是 Exp1 爲真,則計算 Exp2 的值,結果即爲整個 ? 表達式的值。若是 Exp1 爲假,則計算 Exp3 的值,結果即爲整個 ? 表達式的值。
有的時候,可能須要屢次執行同一塊代碼。通常狀況下,語句是順序執行的:函數中的第一個語句先執行,接着是第二個語句,依此類推。編程語言提供了容許更爲複雜的執行路徑的多種控制結構。循環語句容許咱們屢次執行一個語句或語句組,下面是大多數編程語言中循環語句的通常形式:
循環類型 | 描述 |
---|---|
while循環 | 當給定條件爲真時,重複語句或語句組。它會在執行循環主體以前測試條件。 |
for循環 | 屢次執行一個語句序列,簡化管理循環變量的代碼。 |
do-while循環 | 除了它是在循環主體結尾測試條件外,其餘與 while 語句相似。 |
嵌套循環 | 您能夠在 while、for 或 do..while 循環內使用一個或多個循環。 |
只要給定的條件爲真,while 循環語句會重複執行一個目標語句。
C++ 中 while 循環的語法:
while(condition) { statement(s); }
在這裏,statement(s) 能夠是一個單獨的語句,也能夠是幾個語句組成的代碼塊。condition 能夠是任意的表達式,當爲任意非零值時都爲真。當條件爲真時執行循環。當條件爲假時,程序流將繼續執行緊接着循環的下一條語句。
for 循環容許您編寫一個執行特定次數的循環的重複控制結構。
C++ 中 for 循環的語法:
for ( init; condition; increment ) { statement(s); }
下面是 for 循環的控制流:
基於範圍的for循環(C++11)
for 語句容許簡單的範圍迭代:
上面for述句的第一部分定義被用來作範圍迭代的變量,就像被聲明在通常for循環的變量同樣,其做用域僅只於循環的範圍。而在":"以後的第二區塊,表明將被迭代的範圍。
實例
上面的程序使用Range for語句遍歷一個字符串,並將全部字符所有變爲大寫,而後輸出結果爲:
SOME STRING
不像 for 和 while 循環,它們是在循環頭部測試循環條件。do...while 循環是在循環的尾部檢查它的條件。
do...while 循環與 while 循環相似,可是 do...while 循環會確保至少執行一次循環。
C++ 中 do...while 循環的語法:
do { statement(s); }while( condition );
請注意,條件表達式出如今循環的尾部,因此循環中的 statement(s) 會在條件被測試以前至少執行一次。
若是條件爲真,控制流會跳轉回上面的 do,而後從新執行循環中的 statement(s)。這個過程會不斷重複,直到給定條件變爲假爲止。
a 的值: 10 a 的值: 11 a 的值: 12 a 的值: 13 a 的值: 14 a 的值: 15 a 的值: 16 a 的值: 17 a 的值: 18 a 的值: 19
一個循環內能夠嵌套另外一個循環。C++ 容許至少 256 個嵌套層次。
C++ 中 嵌套 for 循環 語句的語法:
for ( init; condition; increment ) { for ( init; condition; increment ) { statement(s); } statement(s); // 能夠放置更多的語句 }
C++ 中 嵌套 while 循環 語句的語法:
while(condition) { while(condition) { statement(s); } statement(s); // 能夠放置更多的語句 }
C++ 中 嵌套 do...while 循環 語句的語法:
do { statement(s); // 能夠放置更多的語句 do { statement(s); }while( condition ); }while( condition );
關於嵌套循環有一點值得注意,能夠在任何類型的循環內嵌套其餘任何類型的循環。好比,一個 for 循環能夠嵌套在一個 while 循環內,反之亦然。
循環控制語句更改執行的正常序列。當執行離開一個範圍時,全部在該範圍中建立的自動對象都會被銷燬。
C++ 提供了下列的控制語句。點擊連接查看每一個語句的細節。
控制語句 | 描述 |
---|---|
break語句 | 終止 loop 或 switch 語句,程序流將繼續執行緊接着 loop 或 switch 的下一條語句。 |
continue語句 | 引發循環跳過主體的剩餘部分,當即從新開始測試條件。 |
goto語句 | 將控制轉移到被標記的語句。可是不建議在程序中使用 goto 語句。 |
C++ 中 break 語句有如下兩種用法:
若是您使用的是嵌套循環(即一個循環內嵌套另外一個循環),break 語句會中止執行最內層的循環,而後開始執行該塊以後的下一行代碼。
C++ 中的 continue 語句有點像 break 語句。但它不是強迫終止,continue 會跳過當前循環中的代碼,強迫開始下一次循環。
對於 for 循環,continue 語句會致使執行條件測試和循環增量部分。對於 while 和 do...while 循環,continue 語句會致使程序控制回到條件測試上。
語法
C++ 中 continue 語句的語法:
goto 語句容許把控制無條件轉移到同一函數內的被標記的語句。
注意:在任何編程語言中,都不建議使用 goto 語句。由於它使得程序的控制流難以跟蹤,使程序難以理解和難以修改。任何使用 goto 語句的程序能夠改寫成不須要使用 goto 語句的寫法。
C++ 中 goto 語句的語法:
goto label; .. . label: statement;
在這裏,label 是識別被標記語句的標識符,能夠是任何除 C++ 關鍵字之外的純文本。標記語句能夠是任何語句,放置在標識符和冒號(:)後邊。
若是條件永遠不爲假,則循環將變成無限循環。for 循環在傳統意義上可用於實現無限循環。因爲構成循環的三個表達式中任何一個都不是必需的,您能夠將某些條件表達式留空來構成一個無限循環。
當條件表達式不存在時,它被假設爲真。您也能夠設置一個初始值和增量表達式,可是通常狀況下,C++ 程序員偏向於使用 for(;;) 結構來表示一個無限循環。
注意:按 Ctrl + C 鍵終止一個無限循環。
掃描 關注公衆號 java一號。更重要的是小猿願成爲你編程路上的一個朋友!
文章首發地址: www.javayihao.top
首發公衆號: java一號