C言語入門:while文
繰り返しを行うfor文の説明は行いましたが、ここでは繰り返しを行うもう一つ方法であるwhile文を説明したいと思います。 ここでは、サンプルコードの結果は書いていません。 実際に手元にサンプルコードをコピー ⇒ コンパイル ⇒ 実行してみてください。
while文
for文は「最初はこうして、条件が満たされるまで繰り返し、繰り返すたびにこうする」という事を書き方でしたが、while文は「()←括弧」内に記述した条件が真である限り繰り返されます。 while文はforと同様に「() ←括弧」と「{}←括弧」により表現されます。 「()」の中が条件文になります。 「{}」の部分が繰り返し行う内容です。
以下にwhile文を使った例を示します。
#include <stdio.h>
int
main()
{
int i;
i = 0;
while (i < 5) {
printf("%d\n", i);
i++;
}
return 0;
}
上記例では、for文を使って「for (i = 0; i < 5; i++)」と全く同じ事をしています。
サンプル2
次は、ちょっと違った使い方をしてみましょう。 次の例では、whileの条件文の中身は「k」という変数のみを見ています。
#include <stdio.h>
int
main()
{
int i, k;
k = 0;
i = 0;
while (k == 0) {
if (i > 3) {
k = 1;
}
printf("%d\n", i);
i++;
}
return 0;
}
「k」という変数は最初は0という値になっています。 上記例では、while文は「k」の値が0であり続ける限り繰り返されます。 上記例では「k」とは別に「i」という変数があります。 「i」は最初は0で、while文が繰り返される度に1ずつ増加していきます。 「i」の値が3になったところで「if (i > 3)」のif文に入り、「k = 1」が行われて変数「k」に1という値が代入されます。 この代入後は「k == 0」ではなくなるのでwhile文の繰り返しは終了します。
サンプル3
サンプル2の例ではwhile文は「k == 0」という条件文で繰り返しを行っていましたが、if文のように変数自体を条件にすることもできます。 下記例では、while文は「k」という変数に0以外の数値が入っている間はずっと繰り返し実行されます。
#include <stdio.h>
int
main()
{
int i, k;
k = 1;
i = 0;
while (k) {
if (i > 3) {
k = 0;
}
printf("%d\n", i);
i++;
}
return 0;
}
次:break文
おまけ