工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> C言語

C++ do-while文:構文、実践例、ネストしたループ

do-while文とは

do-while文は、コードブロックを少なくとも1回実行し、指定された条件が真である限り繰り返す制御フロー構造です。標準的なwhile文とは異なり、条件はループ本体の後で評価されるため、条件の初期値に関わらず1回は必ず実行されます。

do-while文を使うべき場面

構文

do {
    // code
} while (condition);

ループ本体がwhile条件より前に来るため、コンパイラはまず本体を実行し、その後条件をチェックして再度イテレーションするかどうかを決定します。

動作の仕組み

while文とdo-while文の比較フローチャート

フローチャートのステップ:

  1. ループを開始
  2. ループ本体を実行
  3. 条件を評価
  4. trueならステップ2に戻る
  5. falseならループを抜け、後続の文へ

例1:do-while文でのカウント

#include <iostream>
using namespace std;
int main() {
    int x = 1;
    do {
        cout << "X is: " << x << endl;
        ++x;
    } while (x < 5);
    return 0;
}

出力:

カウント出力:1〜4

条件x < 5がxが5に達した時点でfalseになるため、1から4まで出力されます。

例2:0が入力されるまで数値を合計

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

出力:

合計計算の実行例

この例では、ユーザーが0を入力するまでループが継続し、少なくとも1つの数値が処理されることが保証されます。

ネストしたdo-whileループ

do-while文を別のdo-while文の中に配置するとネスト構造になり、グリッドの出力や複合計算など多次元のイテレーションに有用です。

構文

do {
    // outer body
    do {
        // inner body
    } while (inner_condition);
} while (outer_condition);

動作の仕組み

実行は以下のように進行します:

  1. 外側の変数を初期化
  2. 外側のループ本体に入る
  3. 内側のループ本体に入る
  4. 各内側イテレーション後、inner_conditionを評価して内側ループ継続を判断
  5. 内側ループ終了後、外側変数を更新しouter_conditionを評価して外側ループ継続を判断

例

#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);
    return 0;
}

出力:

ネストループの出力例

重要なポイント

C言語

  1. 複素数を用いたAC電圧加算の解説
  2. C++ forループ完全ガイド:ステップバイステップでマスター
  3. C++ポインタをマスター:概念、例、実践的応用
  4. C++ char型をマスター:宣言、ASCII、変換テクニック
  5. C++演算子オーバーロード:コード例付き実践ガイド
  6. C++構造体を実例で徹底解説
  7. C++のstd::listをマスターする:構文、関数、実践例
  8. C++関数を実例で徹底解説:基本から応用まで
  9. C#コレクション実践チュートリアル:実例で学ぶ柔軟なデータ管理
  10. while文 vs do-while文:実践例で明確に比較
  11. Python str.count()マスター:文字と部分文字列のカウント実例集