ホーム | ブログ | C++辞典 | サイトマップ | FAQ | 掲示板 | リンク集
メイン・メニュー
プログラミング
その他

for文による繰返し

これまでは、if 文による場合分けはありましたが、基本的には一方向の流れしかないプログラムしか書くことができませんでした。今回解説する for 文を使えば、処理の繰返しを記述することができるようになります。まずは、感覚をつかんでいただくためにも、簡単なソースコードを見てください。

#include <iostream>

int main()
{
  for (int i = 0; i < 5; i = i + 1)
    std::cout << i << std::endl;
  return 0;
}

main 関数の中に書かれているのが for 文です。for 文も if 文と同じように副文を伴います。上の例では、std::cout << i << std::endl; の部分が副文にあたります。もちろん、副文として波括弧 {} でくくった複合文(ブロック)を使うことも可能です。

for の直後にある括弧 () の中には、セミコロン ; で区切られた三つの部分があります。上の例で言えば、一つ目は int i = 0; の部分で、ここには for 文の最初に一回だけ実行する「文」を記述します。つまり、ここで初期化を行うわけです。ここでは、for 文の中で使う i というオブジェクトを宣言し、0 で初期化しています。二つ目は i < 5 の部分です。ここには繰返しの条件を書きます。つまり、i の値が 5 より小さければ、副文の内容を実行するわけです。三つ目は i = i + 1 の部分です。ここは 1 回副文を実行するごとに、その直後に行う処理を書きます。

したがって、上のソースコードの for 文は、次の順序で処理が実行されることになります。

int i = 0;
i < 5;
std::cout << i << std::endl;
i = i + 1;
i < 5;
std::cout << i << std::endl;
i = i + 1;
i < 5;
std::cout << i << std::endl;
i = i + 1;
i < 5;
std::cout << i << std::endl;
i = i + 1;
i < 5;
std::cout << i << std::endl;
i = i + 1;

繰返しのたびに i が 1 ずつ増えていきますので、5 回目では i が 5 になり、i < 5 の条件が「偽」になります。繰返しの条件が満たされなくなると(偽になると)、for 文の処理は終わり、次の文(ここでは return 0; )が実行されることになります。試しに、このソースコードをコンパイル、実行してみてください。次のようになったはずです。

0
1
2
3
4

i が 0 から始まり、繰返しのたびに 1 ずつ増えて、5 より小さい間繰り返されたわけです。

for 文の丸括弧 () の中で指定する「文」、「条件」、「式」には、繰返し回数を数える以外にも、いろいろな処理を行わせることができます。ここでは、まだ詳しくは触れませんが、追々具体例を見ていくことにしましょう。for 文を理解すれば、if 文との組み合わせで、ほとんどのプログラムの流れを制御することができるようになります。

プリンタ出力用画面
前のページ
条件と真理値
コンテンツのトップ 次のページ
基本的な型


 ホーム | プロフィール | メール | ログイン | 管理
Copyright © 2005-2009 by TAKAGI Nobuhisa