ある条件が成り立っている場合のみ、ループをする処理を書く。
#include <stdio.h>
int main(void)
{
int i = 10;
while (i >= 0) {
printf("iは今%dです。\n", i);
i--;
}
}
上の例で言うと、「i >= 0」の条件が成り立っている間は、{}の中の処理が走ることになる。
for文との違いはカウンタがあるかないかが大きな違いとなる。
繰り返す回数がわからない場合に使うことが多い。
条件の真偽に関わらず、必ず一回処理を実行してから判定を行うループは「do while文」といい、次のように書く。
#include <stdio.h>
int main(void)
{
int b = 10;
do {
printf("bは今%dです。\n", b);
b--;
} while (b >= 0);
}
ループを途中で中断するには、「break」を使い、処理を終わらせることができる。
次の例はループ途中の5回目の処理で終わらせる場合の書き方。
#include <stdio.h>
int main(void)
{
int i = 10;
while (i >= 0) {
if (i == 5) {
break;
}
printf("iは今%dです。\n", i);
i--;
}
}
ループ処理の途中で、その回の処理を中断し、次の回の処理の最初から実行させる方法は「continue」を使う。
#include <stdio.h>
int main(void)
{
int i = 10;
while (i >= 0) {
printf("iは今%dです。(1つめの出力)\n", i);
if (i == 5) {
i--;
continue;
}
printf("iは今%dです。(2つめの出力)\n", i);
i--;
}
}