ループのパターン:for、while、do-while
3種類の基本的なループ形式を使い分け、状況に合ったものを選びます。
「ループのパターン:for、while、do-while」はCoddyKit上の無料C++ Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはC++ Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 C++ Academyコースには全4レッスンが含まれています。
forループ
従来のインデックス付きループです。必要な反復回数が分かっている場合に使用してください。
for (int i = 0; i < 10; ++i) {
std::cout << i << " ";
}forループの構成
セミコロンで区切られた3つの部分で構成されます。
- 初期化 — ループの前に1回実行されます
- 条件 — 各反復の前にチェックされます
- 更新 — 各反復の後に実行されます
どの部分も空にできます。
カウントダウン
デクリメントして逆方向に反復します。境界には十分注意してください。
for (int i = 9; i >= 0; --i) {
std::cout << i << " ";
}whileループ
条件が true の間、ループします。反復回数が実行時の状態によって決まる場合に使用してください。
int n = 100;
while (n > 1) {
std::cout << n << " ";
n /= 2;
}do-whileループ
while と似ていますが、本体は少なくとも1回実行されます。条件は最後にチェックされます。入力値の検証に便利です。
int n;
do {
std::cout << "Enter 1-9: ";
std::cin >> n;
} while (n < 1 || n > 9);無限ループ
break までループを実行したい場合があります。慣用的な形式は次のとおりです。
for (;;) { /* ... */ } // C-style
while (true) { /* ... */ } // arguably clearerbreak:早期終了
break は、最も内側のループまたは switch を直ちに終了します。
for (int i = 0; i < n; ++i) {
if (a[i] == target) {
index = i;
break;
}
}continue:次の反復へ進む
continue は、本体の残りを実行せずに次の反復へ進みます。
for (int i = 1; i <= 100; ++i) {
if (i % 2 == 0) continue;
std::cout << i << " "; // print odd numbers
}入れ子のループ
ループは入れ子にできます。内側のループにある break は、その内側のループだけを終了します。分かりやすくするには、フラグを使うか関数に切り出してください。
適切なループの選び方
簡単な指針:
- 回数が分かっている →
for - 条件が変わるまで →
while - 少なくとも1回実行する →
do-while - コンテナーの反復 → 範囲ベースの for(次のレッスン)
オフバイワンエラー
ループで最も大きなバグは、反復回数が1回多すぎたり少なすぎたりすることです。配列をインデックスで操作するときは、size() と < を使うことを優先し、紙に書くかテストで境界を確認してください。
理解度チェック
本体が少なくとも1回は実行されることが保証されているループはどれですか?
まとめ
回数が分かっている場合は for、条件によって決まるループには while、本体を少なくとも1回実行する必要がある場合は do-while を選びます。分かりやすさを保つため、break と continue は控えめに使用してください。
よくある質問
「ループのパターン:for、while、do-while」レッスンは無料ですか?
はい。「ループのパターン:for、while、do-while」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、C++ Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 C++ Academyコースには全4レッスンが含まれています。
「ループのパターン:for、while、do-while」で何を学びますか?
3種類の基本的なループ形式を使い分け、状況に合ったものを選びます。 ブラウザで直接実行するハンズオンコードでC++ Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
C++ Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのC++ Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「ループのパターン:for、while、do-while」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このC++ Academyレッスンでコードを書いて実行できますか?
はい。すべてのC++ Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 分岐:if-else、三項演算子、switch-case
- ループのパターン:for、while、do-while
- コンテナでの範囲ベースforループ
- 早期return、break、continue、goto