6−2.for文

定められた回数だけ反復制御を行います。

(1)基本的な for文

(形式)
for (初期化式; 継続条件式; 再初期化式) {
	文;
}
  • 文は複合文も可。
  • 複数行の文の場合には { } で囲み複合文に。

    単文の場合には{ }は省略可能。

  • 再初期化式の後に「;」は入れてはいけない。
(フローチャート)
(例)
  • 初期化式は通常の代入文を記述。
  • 継続条件式はこの式が真の間、ループを続けるという意味。

    「〜の間」であって、「〜まで」ではないので注意。

  • 再初期化式には「i++」ばかりではなく、 「i--」や「i = i + 2」などいろいろな値をとることが可能。
  • ループ変数(使用例では i)は int型以外にも char型や double型なども可能。

【for文のいろいろなパターン】

複合文の例
int i;
int sum = 0;
long mul = 1;

for(i = 1; i <= 10; i++) {

	sum = sum + i;
	mul = mul * i;
}
配列の添字をカウントアップする例
int i;
int data1[10], data2[10];

for(i = 0; i < 10; i++) {

	data1[i] = i;
	data2[i] = data1[i] * 2;
}
10 から 20 まで 2刻み
int i;
int sum = 0;
long mul = 1;

for(i = 10; i <= 20; i = i+2) {

	sum = sum + i;
	mul = mul * i;
}
20 から 10 まで -2刻み
int i;
sum = 0;
long mul = 1;

for(i = 20; i >= 10; i = i-2) {

	sum = sum + i;
	mul = mul * i;
}
ループ変数が浮動小数点数の例
double x, y;

for(x = 0.0; x < 10.0; x = x+0.1)
	y = 3.8 * x;

※浮動小数点数をループ変数に用いると誤差が生じます。
 なるべくループ変数は整数型にしましょう。
ループ変数が文字の例
char ch;

for(ch = 'A'; ch <= 'Z'; ch++) {

	printf("%c", ch);
}
printf("\n");
サンプル 演習

(2)for文の二重ループ

forループの中に forループが入る形です。

(形式)
for (初期化式1; 継続条件式1; 再初期化式1) {
	文1;
	for (初期化式2; 継続条件式2; 再初期化式2) {
		文2;
	}
}
  • forループ1 の中で forループ2 が繰り返されることに注意。

    つまり、forループ1 の 1回の処理に対して、forループ2 は最後まで回りきる。

(フローチャート)
(使用例)

星(*)10個を 5回表示する例

(実行結果)
**********
**********
**********
**********
**********
演習
◆◆前ページ  ▲TOP▲  次ページ◆◆

banner
「初心者のためのポイント学習C言語」
Copyright(c) 2000-2004 TOMOJI All Rights Reserved