C++ for文を徹底解説:構文、実行フロー、実践例
for文とは
for文は、コードブロックを所定の回数繰り返す制御構造です。各イテレーションの前に条件を評価し、条件がtrueならループ本体を実行、falseなら即座にループを終了します。
このチュートリアルで学ぶ内容:
- for文の核心概念
- for文の内部実行フロー
- 他の構造よりfor文を選ぶべき場面
- 公式構文
- 2つの具体例
for文の実行フロー
実行フローは以下の図で視覚化できます。
ステップバイステップ:
- コンパイラはループ開始時に初期化を1回だけ評価
- 条件をチェック
- trueならループ本体を実行、その後増分式でループ変数を更新
- ステップ2に戻る。条件がfalseになるまで継続
- falseになった時点でループを抜け、ループ本体以降の処理へ
注意:条件は毎イテレーション後に再評価されるため、ループ変数を毎サイクル変更できます。
for文を使うべき場面
- イテレーション回数が事前にわかっている場合
- ループカウンタとその更新ロジックを厳密に制御したい場合
for文の構文
for (initialization; condition; increment) {
// statements
}
各部分の役割:
- 初期化:1回だけ実行;ループカウンタを宣言・設定
- 条件:各イテレーション前に評価;
falseならループ終了 - 増分:ループ本体実行後に実行;カウンタを更新
- 本体は条件が
trueのときのみ実行
例1:基本的なカウント
#include <iostream>
using namespace std;
int main() {
for (int x = 0; x < 5; x = x + 1) {
cout << "X is: " << x << endl;
}
return 0;
}
出力:
コード解説:
<iostream>をインクルードしてコンソールI/Oを利用std名前空間を使用して利便性を確保main()をエントリーポイントとして定義xを0で初期化;x < 5の間ループ;各サイクルでxをインクリメントxの現在値を出力- 成功を示す0を返却
例2:階乗の計算
#include <iostream>
using namespace std;
int main() {
int x, num, factorial = 1;
cout << "Type positive number: ";
cin >> num;
for (x = 1; x <= num; ++x) {
factorial *= x;
}
cout << "Factorial of " << num << " = " << factorial;
return 0;
}
出力:
このプログラムのキーポイント:
- ユーザーに正の整数入力を促す
factorialを1で初期化- 1から
numまでループし、各イテレーションでfactorialにループカウンタを乗算 - 結果を表示
まとめ
- for文はコードブロックを決められた回数繰り返す
- 条件が
trueの間継続 - 初期化でループカウンタを宣言・設定
- 条件がループ本体の実行を制御
- 増分は省略可能;更新不要ならセミコロンのみで可
C言語
- C# for ループをマスターする:構文、フロー、実践例
- C++演算子を徹底解説:種類、例、サンプルプログラム付き
- C++ do-while文:構文、実践例、ネストしたループ
- C++ switch文をマスター:構文、使い方、実践例
- C++動的配列の確保をマスター:コード例付き実践ガイド
- C++ポインタをマスター:概念、例、実践的応用
- C++演算子オーバーロード:コード例付き実践ガイド
- C++構造体を実例で徹底解説
- C++ std::map完全ガイド:連想配列の実践的活用とコード例
- C++のstd::listをマスターする:構文、関数、実践例
- C++ structとclassの違い:構文、特徴、使い分けのベストプラクティス