C++ do…while ループの例
do-while ループとは何ですか?
do-whileループは、 C++ プログラムを複数回実行します。do-while ループでは、テスト式がループの最後に追加されます。ループ本体はテスト式の前にあります。そのため、最初のテストでテスト式が false と評価された場合でも、ループ本体は 1 回実行する必要があります。
do-while ループをいつ使用するか?
do-while ループは、反復回数が固定されておらず、ループを少なくとも XNUMX 回実行する必要がある場合に使用する必要があります。 の C++ コンパイラ 条件を評価する前に、ループ本体を最初に実行します。 つまり、ループは結果を返さなければなりません。 これは、テスト条件が最初の評価で false と評価された場合でも当てはまります。 ループ本体はすでに実行されているため、結果を返す必要があります。
構文
基本的な構文は C++ do while ループは次のようになります。
do{ //code }while(condition);
条件はテスト式です。 ループを実行するには true でなければなりません。 { と } は do while ループの本体をマークします。 条件の前に来ます。 したがって、条件の前に実行されます。
do-while ループはどのように機能するのでしょうか?
フローチャートの説明:
- do while ループの開始。
- do while ループの本体。
- 評価されるテスト式または条件。
- テスト式が真の場合、 C++ コンパイラは do while ループの本体を実行しました。
- テスト式が偽の場合、 C++ コンパイラはループ本体の後のステートメントを実行します。
- ループ本体の後に続くステートメント。
例
#include <iostream> using namespace std; int main() { // Local variable int x = 1; do { cout << "X is: " << x << endl; x = x + 1; } while (x < 5); return 0; }
出力:
コードのスクリーンショットは次のとおりです。
コードの説明:
- コードに iostream ヘッダー ファイルを含めます。 これにより、コンソールからの読み取りとコンソールへの書き込みが可能になります。
- std 名前空間を含めて、そのクラスと関数を呼び出さずに使用できるようにします。
- プログラムのロジックを追加する main() 関数を呼び出します。 { は、main() 関数の本体の開始を示します。
- コメント。 C++ コンパイラはこれをスキップします。
- 整変数 x を宣言し、値 1 を割り当てます。
- do-while ループを作成します。 { はループ本体の開始をマークします。
- 変数xの値を他のテキストと一緒にコンソールに表示します。endlは C++ 終了行を意味するキーワード。
- 反復ごとに x の値を 1 ずつ増やします。
- ループ本体の終わり。 ループ本体の最後にテスト式が追加されました。 x の値が 5 未満かどうかをテストします。
- プログラムが正常に実行される場合、main() 関数は値を返す必要があります。
- main() 関数の本体の終わり。
例
#include <iostream> using namespace std; int main() { int num, sum = 0; do { cout << "Enter a number: "; cin >> num; sum += num; } while (num != 0); cout << "Sum is " << sum; return 0; }
出力:
コードのスクリーンショットは次のとおりです。
コードの説明:
- コードに iostream ヘッダー ファイルを含めます。 これにより、コンソールからの読み取りとコンソールへの書き込みが可能になります。
- std 名前空間を含めて、そのクラスと関数を呼び出さずに使用できるようにします。
- プログラムのロジックを追加する main() 関数を呼び出します。
- { は、main() 関数の本体の開始を示します。
- 0 つの整数変数 num と sum を宣言します。 変数 sum は XNUMX に初期化されています。
- do-while ループを作成します。 { はループ本体の開始をマークします。
- コンソールに「数字を入力してください:」というテキストを表示します。
- コンソールからユーザー入力を読み取り、値を変数 num に保存します。 cin (コンソール入力) は、ユーザー入力を読み取る関数です。
- num の値を sum の値に加算し、結果を変数 sum に格納します。
- } はループ本体の終了を示します。ループ本体の最後にテスト式が追加されました。これは、ユーザーが入力した値が 0 でないかどうかをテストします。!= は等しくない演算子です。ユーザーが 0 を入力すると、ループは終了します。
- 変数 sum の値を他のテキストと一緒にコンソールに表示します。
- プログラムが正常に実行される場合、main() 関数は値を返す必要があります。
- main() 関数の本体の終わり。
ネストされた Do While ループ
In C++1 つの do-while ループを別の do-whole ループ内に作成することが可能です。これにより、ネストされた do-while ループが生成されます。
構文
do{ statement(s) do{ statement(s) }while(condition); statement(s) }while(condition);
最初の do ステートメントは、外側の do-while ループの do 部分を示します。
XNUMX 番目の do ステートメントは、内側の do-while ループの do 部分を示します。
最初の while ステートメントは、内側のループのテスト条件を示します。
XNUMX 番目の while ステートメントは、外側のループのテスト条件を示します。
ネストされた Do While ループの仕組み
ネストされた do while ループは次のように動作します。
ステップ1: 初期化は最初に XNUMX 回実行されます。
ステップ2: ステートメント (do) は XNUMX 回実行されます。
ステップ3: テスト式はフロー制御による評価です。
ステップ4: true の場合、内側のループが実行されます。
ステップ5: 更新ステートメントが更新されます。
ステップ6: プロセスはテスト式が false になるまで繰り返し実行されます。
ステップ7: テスト式が false になると、内側のループが終了し、制御が外側のループにジャンプします。
ステップ8: テスト条件が再度評価されます。
ステップ9: true の場合、ステートメントが実行されて false が返されます。
ステップ10: ループの実行が停止し、制御はループ後のステートメントにジャンプします。
例:
#include <iostream> using namespace std; int main() { int a = 1; do { int b = 1; do { cout << a << "\n"; b++; } while (b <= 3); a++; } while (a <= 3); }
出力:
コードのスクリーンショットは次のとおりです。
コードの説明:
- コードに iostream ヘッダー ファイルを含めます。 これにより、コンソールからの読み取りとコンソールへの書き込みが可能になります。
- std 名前空間を含めて、そのクラスと関数を呼び出さずに使用できるようにします。
- プログラムのロジックを追加する main() 関数を呼び出します。 { は、main() 関数の本体の開始を示します。
- 整数変数 a を宣言し、値 1 を割り当てます。
- 外側の do-while ループを作成します。 { は外側のループ本体の開始をマークします。
- 整数変数 b を宣言し、値 1 を割り当てます。
- 内部の do-while ループを作成します。 { は、内側のループ本体の開始をマークします。
- 変数 a の値をコンソールに出力します。 「\n」は、マウス カーソルを次の行に移動する改行文字です。
- 反復ごとに b の値を 1 ずつ増やします。
- 内側のループ本体の終わり。 ループ本体の最後にテスト式が追加されました。 b の値が 5 以下かどうかをテストします。
- 反復ごとに a の値を 1 ずつ増やします。
- 外側のループ本体の終わり。 ループ本体の最後にテスト式が追加されました。 a の値が 3 以下であるかどうかをテストします。
- main() 関数の本体の終わり。
製品概要
- do-while ループはコードのセクションを数回実行します。
- 反復回数が固定されていない場合に使用する必要があります。
- do-while ループでは、ループ本体がテスト式の前に来ます。
- テスト式が false になった場合でも、ループ本体は少なくとも XNUMX 回実行されます。
- このループは、反復回数が固定されていない場合に使用する必要があります。
- Do while ループは、条件が true であれば何度でも実行できます。
- 条件は反復ごとに XNUMX 回評価されます。
- 条件の評価の結果によって、実行するアクションが決まります。
- 条件が true の場合、ループは本体を実行します。
- ループの実行は、条件が false と評価されるとすぐに停止します。
- do while ループ本体はすでに実行されているため、結果を返す必要があります。