for文は、同じ処理を繰り返し実行したい場合に使用します。
C言語において、for文は頻繁に使用しますので、必ず抑えておきましょう。
目次
for文とは?
for文は、処理を繰り返して実行したい時に使用します。
例えば、「hoge」という文字列を「5回」標準出力するプログラムを考えてみましょう。
#include <stdio.h> void main(void) { printf("hoge\n"); printf("hoge\n"); printf("hoge\n"); printf("hoge\n"); printf("hoge\n"); }
これでも期待通りの動作は得られます。
が、『printf(“hoge\n”);』という部分が連続していて少し不格好です。
こういった場合に、for文を使用します。
for文の書き方
for ([初期化式]; [継続条件]; [変化式]) { /* ☆ここに繰り返したい処理を実装 */ }
『 [ ] 』で囲ってある部分は、省略が可能です。
ただし、継続条件を省略した場合、☆の処理を無限に繰り返しますので、注意が必要です。
初期化式
変数の宣言・初期化を実行することができます。
この処理は、for文を実行する際に、1度だけ実行されます。
継続条件
ここで評価された値がTRUE(0以外)の場合に☆の処理を実行します。
条件については、比較演算子を用いることが一般的です。
※比較演算子について詳しくはこちらをご覧ください。
変化式
変数の変化(増減)処理をここで実行することができます。
一般的には、「終了条件を満たす閾値まで変数を加算させる」といった用途で使用されます。
for文の使い方
「hoge」という文字列を「5回」標準出力するプログラムについて、for文を用いて実装してみましょう。
#include <stdio.h> void main(void) { int i = 0; for (i = 0; i < 5; i++) { printf("hoge\n"); } }
といったコードになります。
では、for文に渡した値について、詳しく見ていきましょう。
初期化式[i = 0]
変数「i」を0で初期化しています。
後に記載しますが、継続条件(5回まで)を判断するための変数として使用しています。
継続条件[i < 5]
変数「i」が5未満の場合、「printf("hoge\n");」を実行します。
iは、変化式でインクリメントされるため、0~4までの値を取ります。
※5の場合、継続条件を満たさないため、for文が終了します。
よって、iが「0, 1, 2, 3, 4」の時にprint文が実行されることになります。
変化式[i++]
変数「i」をインクリメントしています。
インクリメントとは、「加算」という意味で、iに1を加算した値を代入しています。
よって、iの値は以下のように遷移しています。
1回目:iは0
2回目:iは1
3回目:iは2
4回目:iは3
5回目:iは4
6回目の継続判定にて、iが5(5未満を満たさない)となるため、for文は終了します。
演習
演習①
以下の文字列を5回出力してください
C言語サイコー!
演習②
1~10までの整数を昇順で標準出力してください
演習③
かけ算九九の表を標準出力してください
※出力例
1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
・
・
・
9 18 27 36 45 54 63 72 81