【C言語】for文のループをbreak文で抜ける方法を解説

この記事では、C言語のプログラミングにおいて、for文のループを中断する方法について解説します。

具体的には、break文を使ってループを途中で終了させる方法や、特定の条件が満たされた場合にループを中断する方法を学びます。

さらに、break文を使った無限ループの終了や、複数のループを一度に中断する方法についても紹介します。

これらの知識を身につけることで、より効果的なプログラミングが可能となります。

目次から探す

for文のループをbreak文で抜ける方法

プログラミングにおいて、for文は繰り返し処理を行うための制御構造の一つです。

しかし、特定の条件が満たされた場合にループを中断したい場合もあります。

そのような場合には、break文を使ってfor文のループを抜けることができます。

以下では、break文を使ったループの中断方法について解説します。

break文を使ったループの中断

break文は、ループ内で条件を判定し、条件が満たされた場合にループを中断するために使用されます。

for文の中でbreak文を使用することで、ループを途中で終了させることができます。

以下は、for文の中でbreak文を使ってループを中断する例です。

#include <stdio.h>
int main() {
    int i;
    for (i = 1; i <= 10; i++) {
        if (i == 5) {
            break; // iが5の時にループを中断
        }
        printf("%d ", i);
    }
    return 0;
}

上記のコードでは、1から10までの数値を順番に表示しますが、iが5の時にbreak文が実行され、ループが中断されます。

そのため、出力結果は 1 2 3 4 となります。

break文を使った特定の条件でのループの中断

また、特定の条件が満たされた場合にループを中断するためにも、break文を使用することができます。

以下の例では、for文の中で変数xの値が10を超えた場合にループを中断するようにしています。

#include <stdio.h>
int main() {
    int x = 1;
    for (;;) {
        if (x > 10) {
            break; // xが10を超えた時にループを中断
        }
        printf("%d ", x);
        x++;
    }
    return 0;
}

上記のコードでは、無限ループが行われますが、xが10を超えた時にbreak文が実行され、ループが中断されます。

そのため、出力結果は 1 2 3 4 5 6 7 8 9 10 となります。

これらの例からわかるように、break文を使うことで、特定の条件が満たされた場合にループを中断することができます。

プログラムの制御を柔軟に行いたい場合には、break文を上手に活用しましょう。

break文は、for文だけでなく、while文do-while文でも使用することができます。

break文を使ったループの応用例

break文は、for文のループを中断するために使用されるだけでなく、さまざまな応用例にも活用することができます。

以下では、break文を使った無限ループの終了と複数のループの中断について解説します。

break文を使った無限ループの終了

無限ループは、条件式が常に真となるため、通常のループでは終了することができません。

しかし、break文を使うことで無限ループを終了させることができます。

#include <stdio.h>
int main() {
    while (1) {
        // 何らかの処理
        if (/* 終了条件 */) {
            break; // 無限ループを終了
        }
    }
    return 0;
}

上記の例では、while文の条件式が常に真となるため、無限ループが発生します。

しかし、if文の終了条件が満たされた場合には、break文が実行され、無限ループが終了します。

break文を使った複数のループの中断

複数のループがネストされている場合、内側のループだけでなく、外側のループも中断したい場合があります。

このような場合には、break文を使って複数のループを中断することができます。

#include <stdio.h>
int main() {
    for (int i = 0; i < 5; i++) {
        for (int j = 0; j < 3; j++) {
            // 何らかの処理
            if (/* 中断条件 */) {
                break; // 内側のループを中断
            }
        }
        if (/* 中断条件 */) {
            break; // 外側のループを中断
        }
    }
    return 0;
}

上記の例では、外側のfor文と内側のfor文がネストされています。

内側のループが中断されると、外側のループも中断されるようになっています。

内側のループの中断には、内側のif文break文を使用し、外側のループの中断には、外側のif文break文を使用しています。

これにより、特定の条件が満たされた場合に、複数のループを一度に中断することができます。

以上が、break文を使ったループの応用例についての解説です。

break文をうまく活用することで、より柔軟なプログラムの制御が可能となります。

目次から探す