ある条件が成り立っている場合のみ、ループをする処理を書く。
#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--; } }