C++ do…while ループと例

do-while ループとは何ですか?

do-while ループは、C++ プログラムのセクションを数回繰り返します。 do-while ループでは、ループの最後にテスト式が追加されます。 ループ本体はテスト式の前に来ます。 そのため、最初のテストでテスト式が false と評価された場合でも、ループ本体を XNUMX 回実行する必要があります。

do-while ループをいつ使用するか?

do-while ループは、反復回数が固定されておらず、ループを少なくとも XNUMX 回実行する必要がある場合に使用する必要があります。 の C++コンパイラ 条件を評価する前に、ループ本体を最初に実行します。 つまり、ループは結果を返さなければなりません。 これは、テスト条件が最初の評価で false と評価された場合でも当てはまります。 ループ本体はすでに実行されているため、結果を返す必要があります。

構文

C++ do while ループの基本構文は次のとおりです。

do{    
//code 
}while(condition);  

条件はテスト式です。 ループを実行するには true でなければなりません。 { と } は do while ループの本体をマークします。 条件の前に来ます。 したがって、条件の前に実行されます。

do-while ループはどのように機能するのでしょうか?

Do-while ループ
C++ Do while フローチャート

フローチャートの説明:

  1. do while ループの開始。
  2. do while ループの本体。
  3. 評価されるテスト式または条件。
  4. テスト式が true の場合、C++ コンパイラは do while ループの本体を実行しました。
  5. テスト式が false の場合、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 ループ

C++ では、XNUMX つの do-while ループを別の do-hole ループ内に作成することができます。 これにより、入れ子になった 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 ループ本体はすでに実行されているため、結果を返す必要があります。