- 公開日:2017-10-6 最終更新日:2017-10-4
- プロナビTOP / プログラミング初心者向け技術系ノウハウ・まとめ

プログラミングをする上で欠かせない処理の一つは、指定回数を繰り返す処理。
その中でもfor文は、繰り返し処理として最もよく用いる制御文です。
C言語で繰り返し処理のプログラミングをするのであれば、必ずfor文をマスターしておく必要があります。
とは言え、難しく考える必要はまったくありませんから、ご安心を。
これから紹介するfor文のポイントさえ抑えておけば、簡単にマスターすることができます。
簡単とは言えども、しっかりと理解しなければ使いこなせません。
油断をせず気を引き締めていきましょう。
指定回数を反復して処理させる方法
最もfor文が力を発揮するのは、指定した回数を繰り返し処理させるとき、です。
for文を使って指定回数を反復処理させたいときは、次のように記述します。
1 2 3 4 5 |
``` for (繰り返し初期値 ; 繰り返し継続条件 ; 繰り返し回数の増分) { 繰り返し対象の処理 } |
以下のプログラム1は、繰り返し処理を100回繰り返すサンプルプログラムです。
1 2 3 4 5 6 7 8 9 10 11 12 |
``` // ※プログラム1 #include <stdio.h> main() { int i; for (i=1; i<=100; i++) { printf("i=%d\n", i); } printf("終了\n"); } ``` |
※プログラム1の実行結果
1 2 3 4 5 6 7 8 |
i=1 i=2 i=3 (中略) i=97 i=98 i=100 終了 |
では、上記のプログラム1で使用しているfor文のポイントを解説しますね。
1 2 3 |
``` for (i=0; i<100; i++) ``` |
– 「i=0」は、変数iの値が0からスタートする、という意味です。
– 「i<100」は、変数iが100未満の状態であれば繰り返し処理を継続する、という意味です。
– 「i++」は、一度繰り返し処理を実行すると変数iの値を+1加算する、という意味です。
for文の使い方は、何となく理解できたでしょうか?
このfor文の使い方は、代表的な記述方法ですから、ぜひ今のうちにしっかりと理解しておいてくださいね。
もし使い方にピンとこないようでしたら、数値や条件式を書き換えて、for文の挙動がどのように変化するのか確かめてみてください。
きっと理解が深まると思いますので、試してみる価値があると思います。
繰り返し継続条件の書き方
for文の記述で肝となるのは「繰り返し継続条件」の記述方法です。
プログラム1のfor文を改めて見てください。
1 2 3 |
``` for (i=1; i<=100; i++) ``` |
「i<100」が繰り返し継続条件です。
1から100まで、100回の繰り返しをしたいとき、つい「if (i==1; i==100; i++)」という記述をしてしまいがちです。
でも、「i==100」と記述をしてしまいますと、プログラムは期待とおりに動作しません。
なぜならfor文の繰り返し継続条件は、「条件が成立しているか、していないか」を判断するからです。
もし「i==100」と記述してしまいますと、 変数iが100以外のときは繰り返し条件が不成立、という意味になってしまいます。
つまり、一度も繰り返しをせずにプログラムが終了してしまいます。(参考:プログラム2)
1 2 3 4 5 6 7 8 9 10 11 12 13 |
``` // ※プログラム2 for文の記述誤りの例 ] #include <stdio.h> main() { int i; for (i=1; i==100; i++) { printf("i=%d\n", i); } printf("終了\n"); } ``` |
※プログラム2の実行結果
終了
減算を使った繰り返し処理の記述方法
プログラム1では変数iを+1加算して100回分の繰り返し処理を表現しましたが、変数iを-1減算して100回分の繰り返し処理を記述することもできます。
以下のプログラム3は、変数iを100から1まで、-1ずつ減算することで、100回分の繰り返し処理を表現しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
``` // ※プログラム3 ] #include <stdio.h> main() { int i; for (i=100; i>=1; i--) { printf("i=%d\n", i); } printf("終了\n"); } ``` |
プログラム3の繰り返し継続条件の記述方法に注目してください。
減算で繰り返し処理をする場合、繰り返し継続条件の記述方法が、+1加算をするプログラム1と逆になっています。
この記述を誤ってしまいますと、プログラムが期待とおりに動作しません。
もし繰り返し継続条件の記述で混乱してしまうようでしたら、あえて減算を使った繰り返し処理を使う必要はありません。
このような記述もできる、ということだけ知っておいていただければ、今は十分です。
無限ループの使い方
プログラミングをしていますと、無限にループを繰り返したい、という場合も出てくるかもしれません。
もし無限ループを作りたいときは、for文の「繰り返し初期値」「繰り返し継続条件」「繰り返し回数の増分」の全てを省略してください。
1 2 3 4 5 6 |
``` for (;;) { 繰り返し対象の処理 } ``` |
上記のように記述することで、無限ループのできあがりです。
C言語超入門の第21回まとめ
for文を使った繰り返し処理は、C言語でプログラミングをしていく上で、とても使用頻度が高い処理の一つです。
for文の使い方は決して難しくありませんから、何度か使用していくうちに、自然と身に付いてくるでしょう。
とはいっても、繰り返し継続の条件を誤るとプログラムが期待とおりに動作しませんので、しっかりと基本を頭に入れてほしいところです。
for文を使いこなせるようになりますと、プログラミングの幅が広がります。
ステップ・バイ・ステップ。焦らず一歩ずつ進んでいきましょう。