C++には、繰り返し処理を行うための制御構文が複数存在します。その中でdo ~ while文
は、少なくとも1回は必ず処理を実行するという特徴を持ったループ構文です。本記事では、その仕組みと基本的な使い方を、具体的なコードとともに丁寧に解説いたします。
目次
サンプルコード:do ~ while文の基本構造
以下は、do ~ while文
を使って繰り返し処理を行う例です。
#include <iostream>
using namespace std;
int main()
{
int counter = 1;
do {
cout << counter << "回目の処理を実行しています。" << endl;
counter++;
} while (counter <= 5);
cout << "すべての処理が完了しました。" << endl;
return 0;
}
コードの解説
- 最初に変数
counter
を1で初期化します。 do
ブロック内の処理が必ず1回実行され、その後でwhile
の条件が評価されます。counter
が5以下の間は、ループ処理を続けます。- 条件が成り立たなくなった時点でループを抜け、終了メッセージが表示されます。
do ~ while文とwhile文の違い
比較項目 | while文 | do ~ while文 |
---|---|---|
条件の評価タイミング | 最初に条件を評価し、成立すれば実行 | 先に処理を1回実行し、その後条件を評価 |
最低実行回数 | 条件が偽なら一度も実行されない | 必ず1回は実行される |
主な用途 | 回数不定のループ | 入力待ちや確認処理など、最低1回必要な処理 |
実用例:ユーザーが0を入力するまで繰り返す処理
#include <iostream>
using namespace std;
int main()
{
int input;
do {
cout << "0を入力すると終了します。数値を入力してください:" << endl;
cin >> input;
} while (input != 0);
cout << "終了しました。" << endl;
return 0;
}
このように、do ~ while文
は必ず1回は処理を実行したい場合に非常に適しています。
よくあるミスと対策
セミコロンの位置に注意
while
のあとにくるセミコロンは必須です。以下のように記述します。
while (条件); // セミコロンが必要
これを忘れると構文エラーや意図しない動作につながるため、注意が必要です。
まとめ
do ~ while文
は、必ず1回処理を実行してから条件を評価するループ構文です。- 主に「1回目の入力を必ず受け取る処理」などに使用されます。
while文
との違いを理解し、適切な場面で使い分けることが重要です。
C++で実用的なプログラムを書くためには、このような制御構文の使い方を正確に理解しておく必要があります。まずは基本構文から丁寧に学習を進めましょう。