目次:
- IF
- 次のコマンドは、booleanExpressionを評価します。これがtrueと評価された場合、制御は式に渡されます。ブロックの最後に、制御はbooleanExpressionに戻ってプロセスを繰り返します。
- 次のコマンドは式を実行します。その後、booleanExpressionを評価します。これがtrueと評価された場合、制御はループの先頭に戻り、処理が繰り返されます。
- 次のコマンドは、式または変数の宣言でもよいinitCommandを実行します。次に、boolExpressionを評価します。これがtrueと評価された場合、制御は式1に渡されます。 boolExpressionがfalseの場合、制御はforループの閉じた中括弧の後の最初の文に移ります。式が完了すると、制御はloopExpressionに含まれる式に渡されてから、boolExpressionに戻って処理が繰り返されます。 initCommandが新しい変数を宣言すると、制御がループの外側に渡るとすぐに有効範囲外になります。
- <! <宣言:list> {式;}
- switch(integerExpression){case val1:expressions1;ブレーク;ケースval2:expressions2;ブレーク; [default:expressionsN;]}
- ブレークは、いずれかのループコマンドの閉じたブレースの後ろの最初のステートメントに制御を渡します。これにより、ループがすぐに終了します。たとえば、次の例では、ファイルが終わるまでの文字を読み込みます。
ビデオ: C言語によるProgramming実習Part5.5_ pointer 2024
DummiesカンニングシートのC ++部分
以下のC ++構造は、プログラムの制御フローを指示します。あなたが経験豊富なプログラマーなら、これらの構造の機能は他の言語に慣れています。
IF
次のコマンドは、booleanExpressionを評価します。真と評価された場合、制御は式1に渡されます。そうでない場合、制御はオプション式2に渡されます。
<! if(booleanExpression){expressions1;} [else {expressions2;}]WHILE
次のコマンドは、booleanExpressionを評価します。これがtrueと評価された場合、制御は式に渡されます。ブロックの最後に、制御はbooleanExpressionに戻ってプロセスを繰り返します。
while(booleanExpression){expressions;}
DO … WHILE
次のコマンドは式を実行します。その後、booleanExpressionを評価します。これがtrueと評価された場合、制御はループの先頭に戻り、処理が繰り返されます。
<! - 2 - >
do {式;} while(booleanExpression);FOR
次のコマンドは、式または変数の宣言でもよいinitCommandを実行します。次に、boolExpressionを評価します。これがtrueと評価された場合、制御は式1に渡されます。 boolExpressionがfalseの場合、制御はforループの閉じた中括弧の後の最初の文に移ります。式が完了すると、制御はloopExpressionに含まれる式に渡されてから、boolExpressionに戻って処理が繰り返されます。 initCommandが新しい変数を宣言すると、制御がループの外側に渡るとすぐに有効範囲外になります。
2011年の標準では、forループの第2の形式が導入されています。「for each」と呼ばれることもあります。他の言語で見られるforeachとの類似点のこの形式では、宣言で宣言された変数は、listの最初のメンバーの値をとり、式ブロックを実行します。完了すると、宣言された変数はlistの2番目の値をとり、式を再度実行します。このプロセスはlist内の各値に対して繰り返されます。
<! <宣言:list> {式;}
SWITCH
次のコマンドは、integerExpressionを評価し、結果をリストされた各ケースと比較します。値が定数の整数値val1、val2などのいずれかと等しいと判明した場合、制御は対応する式のセットに渡され、制御がブレークに遭遇するまで続きます。expressionがいずれかの値と等しくない場合、制御はdefaultの後にexpressionsNに渡されます。<! - 3 - >
switch(integerExpression){case val1:expressions1;ブレーク;ケースval2:expressions2;ブレーク; [default:expressionsN;]}
BREAK、CONTINUE、GOTO
continueは、いずれかのループ制御の閉じた括弧の最後に制御を渡します。これにより、ループは次の繰り返しで続行されます。例えば、次のループは、1から20までの素数を処理します。for(int i = 0; i <20; i ++){//数値が素数でない場合if … if(!isPrime(i)){ / …次の値にスキップする; continue}処理を続ける}
ブレークは、いずれかのループコマンドの閉じたブレースの後ろの最初のステートメントに制御を渡します。これにより、ループがすぐに終了します。たとえば、次の例では、ファイルが終わるまでの文字を読み込みます。
while(true){//入力オブジェクトからの行の読み込み>> line; //ループ処理を終了する} //行を処理する}
A goto(/) labelは、指定されたラベルに制御を渡します。上記のブレークの例は、次のように書かれています。
<! - 1 - >
while(true){//入力オブジェクトの入力から行を読み込む>> line; //失敗した場合、またはファイルの終わりが発生した場合if(cin。eof()|| cin。fail()){// …ループを終了するexitLabel;} //行を処理する} exitLabel://制御はここに続く