C言語入門:break文

繰り返しを行うfor文やwhile文の説明は行いましたが、ここでは繰り返しを途中にやめるためのbreak文を説明したいと思います。 ここでは、サンプルコードの結果は書いていません。 実際に手元にサンプルコードをコピー ⇒ コンパイル ⇒ 実行してみてください。

break文

break文はforやwhileなどのループ内部で利用します。 break文が実行されると、プログラムはただちにfor文やwhile文を抜けてしまいます。

以下にbreak文を使った例を示します。 まずはfor文内でbreakを利用してみます。


#include <stdio.h>

int
main()
{
 int i;

 for (i = 0; i < 10; i++) {
   printf("before if : %d\n", i);

   if (i > 2) {
     break;
   }

   printf("after if : %d\n", i);
 }

 return 0;
}

上記例では、for文を使って10回の繰り返しをやろうとしています。 for文の繰り返し内には「if (i > 2) 」という条件文があります。 この条件文はiが2より大きい値になるときに真になるので、for文が4回目の繰り返しを行おうとするときに真になります。 (i == 0、i == 1、i == 2、i == 3 ← 3 > 2で4回目です) for文内のif文が真になるとbreakが実行されます。 breakが実行されるとfor文のloopはただちに終了してしまいます。

上記サンプルの挙動を見るためには、printfでどのようなメッセージが表示されるかを観察してみてください。

サンプル2

一つ目の例ではfor文の中にbreakを書きましたが、今度はwhile文の中に書いてみます。


#include <stdio.h>

int
main()
{
 int i;

 i = 0;
 while (1) {
   printf("before if : %d\n", i);

   if (i > 2) {
     break;
   }

   printf("after if : %d\n", i);

   i++;
 }

 return 0;
}


上記例は、サンプル1と全く同じ挙動を示します。 for文とwhile文で同じようにbreakを利用可能であることを理解していただければ幸いです。


次:break文と入れ子のループ

- C言語入門 記事一覧

おまけ