C++におけるwhile文
は、ある条件が成り立つ限り繰り返し処理を行う制御構文です。繰り返しの回数が決まっていない処理や、条件によって継続・終了を切り替えるような場面で頻繁に使用されます。
本記事では、while文
の基本構造から、条件式の書き方による動作の違いまで、初心者にもわかりやすく解説いたします。
目次
サンプルコード:基本的なwhile文の書き方
まずは、while文
を使って5回繰り返し処理を行う簡単な例をご紹介します。
#include <iostream>
using namespace std;
int main()
{
int index = 1;
while (index <= 5) {
cout << index << "回目のループです。" << endl;
index++;
}
cout << "すべてのループが完了しました。" << endl;
return 0;
}
解説
index
を1で初期化し、5以下である間ループを続けます。- 条件が成り立っている間は「〇回目のループです。」というメッセージを出力し、
index
を1ずつ増加させます。 - 条件が
false
になった時点でループを終了し、最後のメッセージを表示します。
条件式のバリエーション
以下に、while文
でよく使われる条件式の例と、それぞれの意味を整理します。
条件式 | 意味・動作 |
---|---|
while (flag) | flag が真(非ゼロ)である限り繰り返す |
while (!flag) | flag が偽(ゼロ)である限り繰り返す |
while (flag != 0) | flag が0以外であれば繰り返す(while(flag) と同じ) |
while (flag == 0) | flag が0の間、繰り返す(while(!flag) と同じ) |
これらは論理演算と条件比較を組み合わせたものであり、状況に応じて使い分けが必要です。
実例:ユーザーが0を入力するまで処理を繰り返す
#include <iostream>
using namespace std;
int main()
{
int input;
cout << "0を入力すると終了します。" << endl;
cin >> input;
while (input != 0) {
cout << "入力された値:" << input << endl;
cin >> input;
}
cout << "終了します。" << endl;
return 0;
}
このように、while文
はユーザー入力などの不確定な回数の繰り返し処理に非常に向いています。
for文との違い
比較項目 | for文 | while文 |
---|---|---|
主な用途 | 回数が明確な繰り返し | 条件に応じた繰り返し |
構文構成 | 初期化・条件・更新が1行にまとまる | 条件のみで制御 |
柔軟性 | 決まった反復処理に適している | 途中で入力や状態が変わる処理に適している |
まとめ
while文
は、条件が成り立つ間だけ処理を繰り返す構文です。- 条件式によって、ループの開始や終了タイミングが変化します。
while (変数)
やwhile (!変数)
といった書き方には、それぞれ意味があるため正確に理解することが大切です。- 入力を待ち続ける処理や、条件が動的に変わる処理において特に有効です。
for文とは違った用途に向いているため、使い分けをしっかりと意識しましょう。