繰り返し文を使うには、繰り返しの条件となる式が文を実行するたびに評価されるため、変数などを使って繰り返した回数を記録し、目的の回数だけ文を実行したら、繰り返しから抜け出すように仕掛けなければなりません。そのため、通常は「カウンタ」と呼ばれる整数型の変数を用意します。繰り返し文の処理の中で、カウンタを「インクリメント」、または「デクリメント」して、繰り返すかどうかを決定する条件を調整します。最終的にwhile文の式が0を指すようになり、文を抜け出します。
プログラマの好みにもよりますが、多くのコードではカウンタ変数には i というような簡単な名前を付けています。ただし、より明確な意味のある名前を付けるべきだという意見もあります。本稿内のコードは小さなサンプルなので簡単な変数名を付けますが、重要なプロジェクトのコードは、意味のある名前にした方が無難かもしれません。
サンプル02
#include <stdio.h>
int main(void)
{
int i = 0;
while (i < 10)
{
printf("i = %d\n", i);
i++;
}
return 0;
}
実行結果
サンプル02は、整数型の変数 i を用意し、これを使ってwhile文で複合文が何回実行されたのかを数えます。while文の繰り返し対象に指定されている複合文の中ではprintf()関数を使って i 変数の現在の値を出力しています。最後に、i 変数の値をインクリメントすることで、文を実行するたびに値が増えていくように仕掛けています。while文の制御式には i 変数の値が10より小さければ継続するように、関係演算子 < を使っています。よって、i の値が10になった時点でwhile文の制御から抜け出します。