next up previous contents
Next: 1. for 文の書式 Up: C 言語 Previous: 6. 課題 3

4. 制御構造1 繰り返し(for文)

我々は、毎日朝昼晩と食事をする(もし、してない人がいたら、不健康である)。 食事の内容は日によって違うかもしれないが、毎日食べるという点では、同じことの 繰り返しである。そういう意味では、繰り返しというのは自然の論理として、最も 重要な物であると言えよう。ここでは、プログラムでどのように繰り返しを記述する のかを学ぶ。

 

次のような簡単な繰り返しを例にとって考える。

「画面に10回、おはようを表示する。」

画面に「おはよう」を表示するのは、printf を使えば簡単ですね。で、問題は 10回 printf を実行するという部分です。勿論、printf を10行書いても 良いのですが、これが、100回になると書きたくもないし、見たくもありません。 やはり、10回これをしなさい、という書き方が必要です。 もし、これを幼児にやらせると(その子が数を数えられるとして)、指を折って 数えるでしょう。大人ならば、指を折らずに頭の中で数えるでしょうが、ポイント は、何れにせよ、どこかに今何回目かを覚えていることです。コンピュータも 同じで、何回目かを覚えさせておかなければなりません。また、単に10回 という 数字にしても、10から1づつ引いていくのか、それとも1に1を足していくのか では、結果は同じですが、考え方は大分違います。(そんな考え方はしないという 人がいるかも知れませんが、簡単に言えば、指を折って数えるのと、指を開いて 数えるのと、民族によって違うのは良く知られています。) どちらのやり方も出来たほうが便利なのは言うまでもありません。また、偶数で 10数えるという事が便利な事もあるでしょう。

これらの事を分析してみると、最初の数字は何かということ(初期値といいます)、 どのように増やしていくのか、何時繰り返しを終えるのか、という3つの要素が 繰り返しを記述するためには必要であることが分かります。

c 言語では、以上の3要素を一般的にとらえて、初期化(繰り返しを初める前に 一度だけ実行される部分)、繰り返しの継続検査、増分処理(繰り返しをする度に 実行される)として記述する取り決めとなっている。





Noriyo Kanayama 平成14年11月26日