404 Not Found

404 Not Found


nginx

ループ構造

コンピュータの真の力は、繰り返しにある。同じコードを100回書く代わりに、ループを1回書いて、それを100回実行させる。ループとは、まさにそのためにあるのだ。


1. forループ

繰り返す回数が分かっている場合は、for を使用してください。

CPP
for (int i = 1; i <= 5; i++) {
 std::cout << i << " ";
}
// Output: 1 2 3 4 5

forループの3つの構成要素:

パート 目的
初期化 int i = 1; 開始時に1回実行される
条件 i <= 5; 各反復の前に確認
更新 i++ 各反復処理の後に実行される

(1) ▶ サンプル:1:1 から 10 までを出力する(難易度 ⭐)

CPP
#include iostream

int main() {
 for (int i = 1; i <= 10; i++) {
 std::cout << i << " ";
 }
 std::cout << std::endl;
 return 0;
}
▶ 試してみよう

2. whileループ

回数はわからないが、条件はわかっている場合は、while を使用してください。

CPP
int i = 1;
while (i <= 5) {
 std::cout << i << " ";
 i++;
}

(1) ▶ サンプル:2:カウントダウン(難易度 ⭐)

CPP
#include iostream

int main() {
 int count = 10;
 while (count > 0) {
 std::cout << count << "... ";
 count--;
 }
 std::cout << "Liftoff!" << std::endl;
 return 0;
}
▶ 試してみよう

3. do-whileループ

コードを少なくとも1回は実行する必要がある場合は、do-while を使用してください。

CPP
int num;
do {
 std::cout << "Enter a positive number: ";
 std::cin >> num;
} while (num <= 0);
💡 ヒント: メニューや入力の妥当性チェックに最適です。まずコードが実行され、その後、条件がチェックされます。



4. break と continue

記述 効果
break ループを直ちに終了する
continue 現在の反復処理の残りをスキップし、次の反復処理に進む
CPP
for (int i = 1; i <= 10; i++) {
 if (i == 5) continue; // Skip 5
 if (i == 8) break; // Stop at 8
 std::cout << i << " ";
}
// Output: 1 2 3 4 6 7


5. ネストされたループ

ループ内のループ。外側のループが1回実行されるごとに、内側のループはそのすべての反復を完了する。

▶ サンプル 3: 九九を印刷する(難易度 ⭐⭐)

CPP
#include iostream
#include iomanip

int main() {
 for (int i = 1; i <= 9; i++) {
 for (int j = 1; j <= i; j++) {
 std::cout << j << "x" << i << "=" << std::setw(2) << i * j << " ";
 }
 std::cout << std::endl;
 }
 return 0;
}
▶ 試してみよう

❓ よくある質問

Q forループの一部を省略することはできますか?
A はい。for (; i <= 10; i++) は初期化を省略し、for (;;) は無限ループを生成します(while(true) と同様です)。ただし、これにより可読性が低下するため、使用は控えめにしましょう。
Q whileとforは互いに置き換えられますか?
A はい。どのforループもwhileループに書き換えることができ、その逆も同様です。回数が分かっている場合はforを、条件が分かっている場合はwhileを使用してください。
Q ネストされたループにおいて、break および continue はどのように動作しますか?
A break は最も内側のループのみを終了させます。continue は最も内側のループの現在の反復のみをスキップします。代わりにラベル付きループを使用してください。

📖 まとめ


📝 練習問題

  1. 初心者(難易度 ⭐): 1から100までのすべての偶数を出力するプログラムを作成してください。

  2. 中級(難易度 ⭐⭐): ユーザーが指定した n までのすべての数の和を計算するプログラムを作成してください。

  3. 上級(難易度 ⭐⭐⭐): アスタリスクでダイヤモンドの模様を出力するプログラムを作成してください。ユーザーが高さを入力すると、プログラムは左右対称のダイヤモンドを出力します。

Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%