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文

- C言語入門 記事一覧

おまけ

IPv6基礎検定

YouTubeチャンネルやってます!