forループの書き方

C言語で処理のループをするときには for という命令を使います。

for( 初期化; ループ終了判定; 値の変化の仕方 )
{
}

注意点としては、"初期化"、"ループ終了判定" の後には命令の終了を表す「;」を使います。
よくあるミスとして、「,」を使ってしまうことがありますので注意してください。
また、"値の変化の仕方" の後には「;」は必要ありません。

スポンサーリンク

サンプルプログラム

ソースファイル名:main.c

実行方法

上のソースを書き写して実行してください。
a の値が繰り返しの回数分足し算されている事に注目してください。
ステップ実行をすれば、その動作を詳しく確認できます。

for は特殊な書き方をする命令

先にも書いたように、for文は、1命令の中に「;」を複数使う特殊な命令です。 ループの書き方をもう一度みてみましょう。

for( 初期化; ループ終了判定; 値の変化の仕方 )
{
}

初期化の書き方

まず、初期化部分で、変数の初期化をします。 サンプルプログラムでは、

i = 0;

としているので、i を 0 に初期化しています。 もし、初期化を何もしないのであれば、

for( ; ループ終了判定; 値の変化の仕方 )
{
}

として、「;」だけの空欄にすることも可能です。

ループ終了判定の書き方

次に、ループ終了判定の書き方です。
こちらは文字通りループを抜ける条件を書きます。
今回は、

i < 5;

としているので、i が 5 より小さいならループを繰り返します。
if の条件文と同じ書き方をすることが多いでしょう。
条件文について忘れた方は以下を参照してください。
→ 条件分岐 if

補足ですが、最初から条件に当てはまらない時は何もせずループを抜けます。
サンプルプログラムのループ終了判定を

for( i = 0; i < 0; i ++ )
{
}

としたら、最初から i は 0 よりも大きいので何もせずにforループを終了することになります。

値の変化の仕方の書き方

値の変化の仕方という部分に書かれた命令は、一回ループを終えた時に実行されます。
サンプルプログラムでは、

a = a + 1;

の一文が終わった後に、

i ++;

が実行されます。
今回のサンプルプログラムでは、ループを一回終えると i に 1 が加算されます。

for( i = 0; i < 0; i += 2 )
{
}

こうすれば、ループを一回終えると、i は 2 づつ加算されます。
ただ、一番多く使うのは、今回ご紹介した。
i ++ または i -- でしょう。
インクリメント、デクリメントを忘れた方は以下を参照してください。
→ インクリメント、デクリメント

forループは書き方が特殊ですが非常に良く必須の命令です。
何回も書いて、ぜひマスターしてください。

スポンサーリンク