while と do while はどちらも C 言語のループ文です。それらの主な違いは、ループ本体の実行順序にあります。

while ループはまずループ条件をチェックし、条件が真の場合にのみループ本体を実行します。したがって、条件が最初から偽である場合、ループ本体は決して実行されません。また、条件が真の間はループがずっと実行され続けます。

while: あなたは私にお金を借りている。私が道を歩いていると、前に一人いる。まずこの人があなたかどうかをはっきり確認し、違えば殴らない。

do while: あなたは私にお金を借りている。私が道を歩いていると、前に一人いる。この人があなたかどうかに関係なく、まず殴ってから話す。

以下は while ループの実例プログラムです:

実例

#include <stdio.h>

int main() {
    int i = 0;
    while (i < 5) {
        printf("i = %d\n", i);
        i++;
    }
    return 0;
}

出力結果は次のとおりです:

i = 0
i = 1
i = 2
i = 3
i = 4

do while ループと while ループの主な違いは、ループ本体を実行する順序にあります。do while ループはまずループ本体を実行し、その後ループ条件をチェックします。したがって、条件が最初から偽であっても、ループ本体は少なくとも 1 回は実行されます。

以下は do while ループの実例プログラムです:

実例

#include <stdio.h>

int main() {
    int i = 0;
    do {
        printf("i = %d\n", i);
        i++;
    } while (i < 5);
    return 0;
}

出力結果は次のとおりです:

i = 0
i = 1
i = 2
i = 3
i = 4

わかるように、i の初期値が 0 であっても、do while ループはループ本体を 5 回実行しました。なぜなら、それらは先にループ本体を実行し、その後ループ条件をチェックするからです。

全体的に、while ループはループの前に条件をチェックする場合に適しており、do while ループは条件が成立するかどうかに関係なく、ループ本体を少なくとも 1 回実行する場合に適しています。

参考記事: