C++のforループとcontinue文について

C++のforループの基本

C++のforループは、特定の条件が満たされるまで一連の命令を繰り返し実行する制御フロー構造です。基本的な構文は以下のようになります。

for (初期化; 条件; 更新) {
    // ループ内で実行する命令
}
  • 初期化:ループが始まる前に一度だけ実行される式です。通常はループカウンタの初期値を設定します。
  • 条件:各イテレーションの開始前に評価される式です。この条件が真である限り、ループは続行されます。
  • 更新:ループの各イテレーションの終わりに実行される式です。通常はループカウンタの更新を行います。

例えば、0から9までの数字を出力するforループは次のようになります。

for (int i = 0; i < 10; i++) {
    std::cout << i << std::endl;
}

このループは、iが0から始まり、iが10未満である間、iを出力し、各イテレーションの終わりでiを1増やすという動作をします。iが10になると、条件が偽と評価され、ループは終了します。このように、forループは一定の条件下で反復的な操作を行う際に非常に便利です。

C++のcontinue文の概要

C++のcontinue文は、ループの現在のイテレーションを中断し、次のイテレーションに直接進むための制御フロー文です。continue文は、forループ、whileループ、do-whileループの内部で使用することができます。

基本的な構文は以下のようになります。

for (初期化; 条件; 更新) {
    if (何らかの条件) {
        continue;
    }
    // ループ内で実行する命令
}

上記の例では、何らかの条件が真である場合、continue文が実行され、その結果、ループの残りの部分(// ループ内で実行する命令)がスキップされ、直接更新部分に移行します。

例えば、以下のコードは、0から9までの数字を出力しますが、5をスキップします。

for (int i = 0; i < 10; i++) {
    if (i == 5) {
        continue;
    }
    std::cout << i << std::endl;
}

このループは、iが0から始まり、iが10未満である間、iを出力します。ただし、iが5のときは、continue文が実行され、そのイテレーションの残りの部分がスキップされます。その結果、出力は5を除く0から9までの数字になります。このように、continue文は特定の条件下でループの一部をスキップする際に便利です。

continue文の使用例

C++のcontinue文の使用例を以下に示します。この例では、1から10までの数値を出力しますが、3の倍数をスキップします。

for (int i = 1; i <= 10; i++) {
    if (i % 3 == 0) {
        continue;
    }
    std::cout << i << std::endl;
}

このコードを実行すると、以下のような出力が得られます。

1
2
4
5
7
8
10

この例では、i % 3 == 0iが3の倍数である)という条件が真の場合、continue文が実行され、その結果、そのイテレーションの残りの部分(この場合、std::cout << i << std::endl;)がスキップされます。そのため、出力は3の倍数を除いた1から10までの数値になります。

このように、continue文は特定の条件を満たすイテレーションをスキップするために使用することができます。これは、特定の条件を満たすデータをフィルタリングする際などに便利です。ただし、continue文を適切に使用しないと、プログラムのフローが複雑になり、バグの原因となる可能性があるため、注意が必要です。また、continue文はループの中でのみ使用でき、switch文の中では使用できないことも覚えておきましょう。

forループとcontinue文の組み合わせ

C++のforループとcontinue文を組み合わせることで、特定の条件を満たすイテレーションをスキップすることができます。以下に具体的な使用例を示します。

この例では、1から10までの数値を出力しますが、3の倍数をスキップします。

for (int i = 1; i <= 10; i++) {
    if (i % 3 == 0) {
        continue;
    }
    std::cout << i << std::endl;
}

このコードを実行すると、以下のような出力が得られます。

1
2
4
5
7
8
10

この例では、i % 3 == 0iが3の倍数である)という条件が真の場合、continue文が実行され、その結果、そのイテレーションの残りの部分(この場合、std::cout << i << std::endl;)がスキップされます。そのため、出力は3の倍数を除いた1から10までの数値になります。

このように、forループとcontinue文を組み合わせることで、特定の条件を満たすイテレーションを効率的にスキップすることができます。これは、特定の条件を満たすデータをフィルタリングする際などに便利です。ただし、continue文を適切に使用しないと、プログラムのフローが複雑になり、バグの原因となる可能性があるため、注意が必要です。また、continue文はループの中でのみ使用でき、switch文の中では使用できないことも覚えておきましょう。このような知識を持つことで、C++のforループとcontinue文をより効果的に使用することができます。この記事があなたのC++の学習に役立つことを願っています。それでは、Happy Coding! 🚀

投稿者 dodo

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です