Linux講座にようこそ。このページは「C言語プログラミング入門 - 第6章.繰り返し処理の制御」です。
for文も条件が成立している間、繰り返しの処理を実行しますが、while文と異なりfor文中で繰り返し制御条件を変えることができます。従って、予め繰り返し制御条件が分かっている場合はfor文が適しています。
for文は括弧の中にセミコロンで区切って式を3つ指定します。式はそれぞれ、前処理、繰り返し制御条件、後処理になります。
式1は最初に1回実行するのみです。「式2 → 繰り返し実行する処理 → 式3」を式2の値が真の間繰り返します。
式1、式2、式3は省略可能です。ただし、区切り記号の;(セミコロン)は省略できません。なお、全て省略した場合は永久ループになります。
九九の表を出力します。行と列をカウントする変数を用意し、繰り返しの中で1〜9までカウントアップします。そして、「行 × 列」の計算を行うことで九九の計算を行います。
$ ./ex06_3.prg
九九の表を作成します
1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
$
ここでは繰り返し処理に関連する次の文を説明します。これらの文は処理の流れを強制的に変更しますので、多用すると理解しにくいプログラムになりがちです(特にgoto文)ので、使用は極力控えた方がよいでしょう。
break文は繰り返し(while文、do文、for文)やswitch文から抜け出ます。
continue文は繰り返し(while文、do文、for文)処理を中断し、繰り返し条件のチェックを行います。for文の場合は、式3(後処理)を行った後に繰り返し条件のチェックを行います。
goto文は指定したラベル行に制御を移します。
while文の例題として紹介したプログラムと同じ機能ですが、こちらはbreak文で繰り返しから抜け出しています。
for(; ;)」も同じです。