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;
}
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;
}
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 回実行する場合に適しています。
参考記事: