★基本制御文(while1)★


繰り返すという命令は数種類ありますが、最初は「while」という命令から始めます。

「while」とは(〜の間)という意味で、Cでは(〜の間、繰り返す)ということになります。

もう少し詳しく書くと、「ある条件が成り立っている間繰り返す」となります。

まずは文法を見てみましょう。


・while文の文法

while (条件) {
    繰り返したい処理
}

「()」丸括弧内の条件が成り立っている間、「{}」中括弧内の処理を繰り返す。

逆の説明をすると、丸カッコ内の条件が成り立たなくなったら、繰り返しを終わります。


ここでの「条件」とは、if文の「条件」と同じです。

これを頭に置いて、サンプルを見てください。


<sample program 028-01>

#include <stdio.h>

int main(void)
{
    while(1) {
        printf( "Hello C World\n");
    }

    return 0;
}

<実行結果>

Hello C World
Hello C World
Hello C World
Hello C World
Hello C World
.
.
.
延々と繰り返し

while文の「条件」は「1」になっています。

if文の時に説明しましたが、「条件」は「0以外であれば成立」します。

while文は「条件が成立している間繰り返す」という命令ですから、この条件は「成立しっぱなし」となります。

不成立になることがありませんから、延々と中括弧内のprintf文を繰り返す訳です。

繰り返し処理のことを「ループ」と言いますので、延々と終わらない繰り返しを「無限ループ」といいます。

実際にプログラムを打って試した場合は、×ボタンを押して実行ウィンドウを閉じるか、「Ctrlキーを押しながらCキーを押す」ことで、プログラムを停止してください。

では、もう一つのサンプルを見てみましょう。


<sample program 028-02>

#include <stdio.h>

int main(void)
{
    while(0) {
        printf( "Hello C World\n");
    }

    return 0;
}

<実行結果>

続行するには何かキーを押してください・・・

このサンプルでは、「条件」が「0」となっています。

while文は条件が不成立の場合繰り返しを行いません

いきなり不成立ですから、中括弧内の処理はまったく行われず、returnの所へ処理が飛びます。

このように、成立している場合は繰り返し、不成立の場合は繰り返さないということが基本です。


次へ

戻る

目次へ