do-whileループの書き方

while文には、以下のような書き方をするdo-whileという命令があります。

do
{
  // ここに処理を書く
}while( ループ終了条件 )

while は、ループ処理をする前にループの継続判定をするのですが、do-while はループ処理をした後に、ループの継続判定をします。
つまり、do と while の間のカッコ内に書かれた処理が確実に一回は通過することが保証されるのです。

スポンサーリンク

サンプルプログラム

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

実行方法

上のソースを書き写して実行してください。
while と do-while で a の値の違いを確認しましょう。

do-whileは確実に1回ループする

do-while文のループ終了条件の書き方は、while と同じです。
先にも書きましたが、while と do-while の違いは、ループ終了条件の判定タイミングです。

while は判定をして、条件に合えばループをします。
今回のサンプルプログラムでは、a に 10 を代入した後に

while( a < 10 )

と判定しているので、条件には合わず、何もしないでループを抜けます。
つまり、a ++ は実行されないので a は 10 のままです。

しかし、サンプルプログラムの下のループ分は、do-while文です。
これは、後からループ終了判定をするので、まず最初に a ++ をしてから

while( a < 10 )

の終了判定をします。
結果、a ++ が一回実行されるので、a は 11 となります。

do-while文は、whileほどの使用頻度はありません。
ただ、ループで終了の後判定をしたい状況が出てくることはあるので、そういう時には積極的に使うようにすると無駄のないキレイなプログラムが書けるようになります。

スポンサーリンク