C言語入門:for文の中での条件分岐
繰り返しを行うfor文の基本的な使い方は前述しましたが、ここではfor文を理解するためにもう少し例を出して説明したいと思います。 ここでは、サンプルコードの結果は書いていません。 実際に手元にサンプルコードをコピー ⇒ コンパイル ⇒ 実行してみてください。
サンプル1
まずは、for文とif文の組み合わせです。 前述した例は単純なfor文で、単にprintfを繰り返すものでした。 実際にプログラムを書いていると、for文の中で条件分岐をしたくなると思います。
下記サンプルはaが5より小さい間は「a」とprintfして、それ以外だと「b」とprintfします。
#include <stdio.h>
int
main()
{
int a;
for (a = 0; a < 10; a++) {
if (a < 5) {
printf("a\n");
} else {
printf("b\n");
}
}
}
サンプル2
次はfor文の中にfor文を入れます。
下記サンプルでは10回繰り返すfor文の中に5回繰り返すfor文があります。 実行してみてどのような結果になるか試してみてください。
#include <stdio.h>
int
main()
{
int a;
int b;
for (a = 0; a < 10; a++) {
printf("a");
for (b = 0; b < 5; b++) {
printf("b");
}
printf("\n");
}
}
サンプル3
次もfor文の中にfor文を入れます。 ただし、サンプル2と多少違っています。
下記サンプルでは10回繰り返すfor文の中さらにfor文があります。 内部にある方のfor文が繰り返される回数はだんだん増えていきます。 実行してみてどのような結果になるか試してみてください。
#include <stdio.h>
int
main()
{
int a;
int b;
for (a = 0; a < 10; a++) {
printf("a");
for (b = 0; b < a; b++) {
printf("b");
}
printf("\n");
}
}
最後に
for文をif文やfor文と組み合わせることにより、色々と出来ることの幅が広がります。 ここで挙げたサンプル以外にも思いつきで色々試すと段々慣れてくると思いますのでがんばってください。
おまけ