= 処理を繰り返すということ = これまで、条件に応じて処理を分岐させるという事をやってきました。<
> 次に、もう一つ重要な「同じ処理を繰り返す」という処理の書き方について勉強して行きましょう。<
> <
> 同じ事を繰り返すというのは、人間にとってはすごく苦痛なことです。こういうことはコンピュータにやらせるのが一番速いし正確なのです。<
> そういう意味で、繰り返しは一番コンピュータに向いている作業といえるでしょう。 = for文 = 繰り返しを実現するほうほうとして、まずfor文を覚えましょう。 {{{#!highlight c for (初期設定式; 条件式; 再設定式 ){ 〜〜 } }}} for文はこのような構造になっています。名前とかはどうでもいいので、とりあえず括弧の中に3つ式があるのだということを覚えてください。<
> ではfor文が実際どのように実行されるのかを順を追って説明します。 1. for文に差し掛かると、まず初期設定式(一番左の式)が実行される。 2. 続いて条件式(真ん中の式)をみて、真かどうか調べる。 3. 条件式が偽ならfor文は終了。 4. 条件式が真ならfor文の中身を順番に実行。 5. 中身の実行が終わったら、再設定式(一番右の式)を実行。 6. 2に戻る。 こうやって条件式が真の間は実行され続けるので、繰り返しができるわけです。<
> では実際の例を見てみましょう。 {{{#!highlight c int i; for (i=0; i<10; i++ ){ printf("繰り返し\n"); } }}} さて上のプログラムが実行されると、どうなるでしょうか。<
> 答えは、なかのprintfが10回実行される、です。<
> なぜそうなるのか、さっきのfor文の動作手順に従って考えてみると良いと思います。<
> この例のように、for分は'''決まった回数の繰り返しをやる'''のにすごく便利です。<
> さて、この例では繰り返しの回数を数える役割の変数として'''i'''というのを使いました。別にこの名前にしなければ死ぬとかいうわけではないんですが、<
> むかしからこの役割の変数にはiという名前をつけるのが当たり前のようです。<
> 他の人に読んでもらいやすいプログラムにするためにも、iを使うようにしましょう。<
> もう一つ変数が必要なときは、jを使うといいです。そっからk, l……と増やしていけます。 == forの入れ子 == ifの時と同じように、forも入れ子に出来ます。 == 演習 == 1から順番に2倍、2倍としていって、それぞれの答えを出力するプログラムを作りなさい。ただし10000を超えた時点でプログラムが終了するように作りなさい。 {{{ 1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 }}} 次のプログラムを実行するとどのような出力が得られるか。計算機上で実行せずに考えなさい。 {{{#!highlight c #include int main(void){ int i, j; for (i=1; i<=9; i++){ for (j=1; j<=9; j++){ printf("%d ", i*j); } printf("\n"); } return 0; } }}}