for文とはループの中でも、特定の回数だけ繰り返し実行をしたいと言うようなループを、効率的に記述することができるものです。
for文の文法
for文は以下の書式で記述することができます。
1 2 3 4 5 |
for (init; condition; update) { statement; } |
for文のループ処理の流れは、以下のようになります。
1. for文のかっこ()の中にinitが最初に、かつ一度だけ実行されます。このステップでは、for文のループで使われる変数の宣言や初期化を行うことができます。
2. conditionが評価されます。評価がtrueなので、for文の中身が実行されることになります。falseだった場合には、for文の中身は実行されずループを抜けることになります。
例えばconditionが「1」だったら、C言語では当然「true」と評価されることになるので、for文の中身が実行されることになります。
3. for文のループの中身が実行された後には、 updateが実行されます。updateではconditionで使われる変数に対して、インクリメントやデクリメントの処理をすることによって、ループを制御することができます。
4. 再びconditionが評価されます。conditionがfalseになるまで、2・3が繰り返されます。
サンプルコード
for文のサンプルコードは以下のようになります。
0が代入された変数aが10より小さい場合に、for文の中身が実行されるコードです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#include <stdio.h> int main() { int a; /* for statement */ for (a = 0; a < 10; a++) { printf("a: %d\n", a); } return 0; } |
上記のコードをコンパイルし実行すると、以下のような結果になります。
1 2 3 4 5 6 7 8 9 10 11 12 |
a: 0 a: 1 a: 2 a: 3 a: 4 a: 5 a: 6 a: 7 a: 8 a: 9 |