for文について

最終更新日:2004-06-29.

今回は、for文についてちょっと。

・for文

同じ処理を繰り返すような場合、for文を使うと処理が楽で
ソースも見やすくできます。

例えば、int型の変数iがあるとします。
そして、0から9までの数字を画面に表示させてみましょう。

for文の引数は三つあります。
第1は変数の初期値、第2は条件、第3は値の変化となっています。

int i;

for ( i=0; i
printf("%d\n", i);
}

上記は、まずint型の変数iを宣言しています。
for文ではiの初期値を0とし、条件ではiが9以下のときに
ブロック内の処理を実行し、iの値を1ずつ増やすようにしています。

ブロック内の文が一つのときは { } を省略できます。

また、このfor()文を複数組み合わせることもできます。

例えば、かけ算九九などをするような場合、
int型の変数i, jについて、それぞれ値を1から9まで変化させる
というようなこともできます。

int i, j;

for ( i=1; i
for ( j=1; j
printf("%d*%d=%d\n", i, j, i*j);
}
}

また、このfor文内である条件に一致したときに繰り返し処理を
抜けることや、再び処理をループの先頭にうつすこともできます。
処理を抜けるときはbreakを使い、処理をループの先頭にうつすときは
continueを使います。

例えば、上記のかけ算九九において、答えが10以下の物だけを
行うとします。

int i, j, k;

for ( i=1; i
for ( j=1; j
k=i*j;
if( k>10 )
break;
printf("%d*%d=%d\n", i, j, i*j);
}
}

では、ソースにしてみましょう。
+------------------------------------------------------------+
/* filename=no025-1.c */
/* include */
#include <stdio.h>
/* main */
int main( )
{
int i, j, k;
/* 繰り返し */
for ( i=1; i<=9; i++ ) {
for ( j=1; j<=9; j++ ) {
k=i*j;
/* 条件 */
if( k>10 )
break;
printf("%d*%d=%d\n", i, j, k);
}
}
return 0;/* 終了 */
}
+------------------------------------------------------------+

上記をコンパイルして実行すると、以下のように表示されました。
1*1=1
1*2=2
1*3=3
1*4=4
1*5=5
1*6=6
1*7=7
1*8=8
1*9=9
2*1=2
2*2=4
2*3=6
2*4=8
2*5=10
3*1=3
3*2=6
3*3=9
4*1=4
4*2=8
5*1=5
5*2=10
6*1=6
7*1=7
8*1=8
9*1=9

戻る