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 ループ
C++ フローチャート

フローチャートの説明:

  1. do while ループの開始。
  2. do while ループの本体。
  3. 評価されるテスト式または条件。
  4. テスト式が真の場合、 C++ コンパイラは do while ループの本体を実行しました。
  5. テスト式が偽の場合、 C++ コンパイラはループ本体の後のステートメントを実行します。
  6. ループ本体の後に続くステートメント。

#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;
}

出力:

Do-while ループ

コードのスクリーンショットは次のとおりです。

Do-while ループ

コードの説明:

  1. コードに iostream ヘッダー ファイルを含めます。 これにより、コンソールからの読み取りとコンソールへの書き込みが可能になります。
  2. std 名前空間を含めて、そのクラスと関数を呼び出さずに使用できるようにします。
  3. プログラムのロジックを追加する main() 関数を呼び出します。 { は、main() 関数の本体の開始を示します。
  4. コメント。 C++ コンパイラはこれをスキップします。
  5. 整変数 x を宣言し、値 1 を割り当てます。
  6. do-while ループを作成します。 { はループ本体の開始をマークします。
  7. 変数xの値を他のテキストと一緒にコンソールに表示します。endlは C++ 終了行を意味するキーワード。
  8. 反復ごとに x の値を 1 ずつ増やします。
  9. ループ本体の終わり。 ループ本体の最後にテスト式が追加されました。 x の値が 5 未満かどうかをテストします。
  10. プログラムが正常に実行される場合、main() 関数は値を返す必要があります。
  11. 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;
}

出力:

Do-while ループ

コードのスクリーンショットは次のとおりです。

Do-while ループ

コードの説明:

  1. コードに iostream ヘッダー ファイルを含めます。 これにより、コンソールからの読み取りとコンソールへの書き込みが可能になります。
  2. std 名前空間を含めて、そのクラスと関数を呼び出さずに使用できるようにします。
  3. プログラムのロジックを追加する main() 関数を呼び出します。
  4. { は、main() 関数の本体の開始を示します。
  5. 0 つの整数変数 num と sum を宣言します。 変数 sum は XNUMX に初期化されています。
  6. do-while ループを作成します。 { はループ本体の開始をマークします。
  7. コンソールに「数字を入力してください:」というテキストを表示します。
  8. コンソールからユーザー入力を読み取り、値を変数 num に保存します。 cin (コンソール入力) は、ユーザー入力を読み取る関数です。
  9. num の値を sum の値に加算し、結果を変数 sum に格納します。
  10. } はループ本体の終了を示します。ループ本体の最後にテスト式が追加されました。これは、ユーザーが入力した値が 0 でないかどうかをテストします。!= は等しくない演算子です。ユーザーが 0 を入力すると、ループは終了します。
  11. 変数 sum の値を他のテキストと一緒にコンソールに表示します。
  12. プログラムが正常に実行される場合、main() 関数は値を返す必要があります。
  13. 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);
}

出力:

ネストされた Do While ループ

コードのスクリーンショットは次のとおりです。

ネストされた Do While ループ

コードの説明:

  1. コードに iostream ヘッダー ファイルを含めます。 これにより、コンソールからの読み取りとコンソールへの書き込みが可能になります。
  2. std 名前空間を含めて、そのクラスと関数を呼び出さずに使用できるようにします。
  3. プログラムのロジックを追加する main() 関数を呼び出します。 { は、main() 関数の本体の開始を示します。
  4. 整数変数 a を宣言し、値 1 を割り当てます。
  5. 外側の do-while ループを作成します。 { は外側のループ本体の開始をマークします。
  6. 整数変数 b を宣言し、値 1 を割り当てます。
  7. 内部の do-while ループを作成します。 { は、内側のループ本体の開始をマークします。
  8. 変数 a の値をコンソールに出力します。 「\n」は、マウス カーソルを次の行に移動する改行文字です。
  9. 反復ごとに b の値を 1 ずつ増やします。
  10. 内側のループ本体の終わり。 ループ本体の最後にテスト式が追加されました。 b の値が 5 以下かどうかをテストします。
  11. 反復ごとに a の値を 1 ずつ増やします。
  12. 外側のループ本体の終わり。 ループ本体の最後にテスト式が追加されました。 a の値が 3 以下であるかどうかをテストします。
  13. main() 関数の本体の終わり。

製品概要

  • do-while ループはコードのセクションを数回実行します。
  • 反復回数が固定されていない場合に使用する必要があります。
  • do-while ループでは、ループ本体がテスト式の前に来ます。
  • テスト式が false になった場合でも、ループ本体は少なくとも XNUMX 回実行されます。
  • このループは、反復回数が固定されていない場合に使用する必要があります。
  • Do while ループは、条件が true であれば何度でも実行できます。
  • 条件は反復ごとに XNUMX 回評価されます。
  • 条件の評価の結果によって、実行するアクションが決まります。
  • 条件が true の場合、ループは本体を実行します。
  • ループの実行は、条件が false と評価されるとすぐに停止します。
  • do while ループ本体はすでに実行されているため、結果を返す必要があります。