C++の基礎5:繰り返し処理

ここでは、C++プログラムにおいて重要な機能である繰り返し処理について解説します。

概要

編集

繰り返し処理とは、特定の条件が満たされるまで、または指定された回数だけ同じ処理を繰り返し実行するための機能です。ループとも呼ばれ、プログラムの効率を高め、冗長なコードの記述を避けるために利用されます。

for文

編集

最も一般的な繰り返し処理の方法はfor文です。for文を使うと、指定した回数だけ特定の処理を繰り返し実行することができます。

次に、for文を使用した簡単なプログラムを示します。このプログラムでは、1から5までの数字を出力します。

// for文の例
#include<iostream>

auto main() -> int {
    for (int i{1}; i <= 5; ++i) {
        std::cout << i << std::endl;
    }

    return 0;
}

このプログラムを実行すると、1から5までの数字が順番に表示されます。

while文

編集

while文は、指定した条件が真である限り、繰り返し処理を実行するために使用されます。条件が初めて偽になるとループを終了します。

次に、while文を使った例を示します。このプログラムでは、変数xが0になるまで減少させ、その値を出力します。

// while文の例
#include<iostream>

auto main() -> int {
    int x{5};

    while (x > 0) {
        std::cout << x << std::endl;
        --x;
    }

    return 0;
}

このプログラムを実行すると、5から1までの数字が順番に表示されます。

do-while文

編集

do-while文は、少なくとも一度はループ内の処理を実行したい場合に使用されます。do-while文では、ループの処理を実行した後に条件が評価され、条件が真であれば再び処理が繰り返されます。

次に、do-while文を使った例を示します。このプログラムでは、最初にxの値を出力し、その後xを減少させ、条件が真である限り続けます。

// do-while文の例
#include<iostream>

auto main() -> int {
    int x{5};

    do {
        std::cout << x << std::endl;
        --x;
    } while (x > 0);

    return 0;
}

このプログラムを実行すると、5から1までの数字が順番に表示されます。

break文とcontinue文

編集

ループの制御をより柔軟にするために、break文continue文を使用することができます。break文はループを即座に終了させ、continue文は残りのループ処理をスキップして次の反復に移ります。

次に、break文とcontinue文を使った例を示します。このプログラムでは、iが3の場合にループを終了し、それ以外の場合にはiをスキップします。

// break文とcontinue文の例
#include<iostream>

auto main() -> int {
    for (int i{1}; i <= 5; ++i) {
        if (i == 3) {
            break; // ループを終了
        }
        if (i % 2 == 0) {
            continue; // 次の反復へスキップ
        }
        std::cout << i << std::endl;
    }

    return 0;
}

このプログラムを実行すると、1だけが表示されます(iが2の場合はスキップされ、iが3の場合はループが終了します)。

まとめ

編集

繰り返し処理は、プログラムの効率を高めるための基本的な機能です。for文、while文、do-while文を適切に使い分けることで、複雑な処理を簡潔に表現することができます。さらに、break文やcontinue文を活用することで、より柔軟なループ制御が可能になります。