whileループの書き方

C言語で処理のループをするときには for の他に while という命令があります。

while( ループ終了条件 )
{
}

for ループよりも書き方が単純なのが特徴です。
ループ処理開始前の初期化や1ループ終了後の処理がないため、不特定な回数のループや無限ループをするときに利用します。

スポンサーリンク

サンプルプログラム

ソースファイル名:main.c

実行方法

上のソースを書き写して実行してください。
a の値と i の値に注目してください。

終了条件の書き方

while ループの記述は for ループよりも簡単です。
サンプルプログラムでは、

while( a < 10 )

となっていて、この中の、 a < 10 の部分がループ終了条件になります。
条件の記述の仕方は if の時と同じです。
→ 参考:if、条件文

さて、このwhile文の解釈の仕方なのですが、

a が 10 より小さいならループし続けろ"

という意味になります。
for と違い、終了条件に使う変数を初期化することができないので、事前に初期化しておく必要があります。

無限ループの作り方

whileを使って無限ループを作るには、

while( 1 )
{
}

と記載します。
サンプルプログラムの下の方の while ループがそれになります。

条件文に 1 を入れると、

"条件が真なのでずっとループし続けろ"

という意味になります。 逆に、0 を入れ、

while( 0 )

とすると

"条件が偽なのでループを終了しろ"

という意味になります。
これをうまく使い、以下のサンプルプログラムのような条件文を書くこともできます。

このサンプルプログラムでは、変数 a が 0 になるまでループします。
i が 5 以上になったら、a に 0 が代入されるのでループを抜けます。

while文は、条件の書き方次第でとても汎用性が高いループを作ることができます。
無限ループは、ゲーム制作でも使用する箇所が多々あるのでぜひ覚えておきましょう。

スポンサーリンク