07:繰り返し処理

はじめに

この章では、同じ処理を繰り返すための for 文と while 文について学びます。ループ処理を使うことで、同じ処理を何度も効率よく実行できます。C言語と書き方は変わりません。


C++における変数宣言のタイミングについて

C言語では、関数の先頭ですべての変数を宣言する というルールがありました。これは古いC言語仕様の制約です。

一方、C++では、必要になったタイミングで変数を宣言 することができます。これにより、

というメリットがあります。

例:C++らしい書き方

#include <iostream>
using namespace std;

int main() {
    cout << "繰り返す回数を入力:";
    int times;
    cin >> times;

    for (int i = 1; i <= times; i++) {
        cout << i << "回目の処理" << endl;
    }

    return 0;
}

for 文の中で変数 i を宣言しているのがポイントです。 これにより、i はループの中だけで使われる変数として限定され、 他の部分に影響しません。


for文の基本

#include <iostream>
using namespace std;

int main() {
    for (int i = 1; i <= 5; i++) {
        cout << i << "回目の処理" << endl;
    }
    return 0;
}

解説


while文の基本

#include <iostream>
using namespace std;

int main() {
    int count = 1;
    while (count <= 5) {
        cout << count << "回目の処理" << endl;
        count++;
    }
    return 0;
}

解説


do-while文の特徴

#include <iostream>
using namespace std;

int main() {
    int count = 1;
    do {
        cout << count << "回目の処理" << endl;
        count++;
    } while (count <= 5);
    return 0;
}

解説


理解度チェック

問題1(07_for_loop.cpp)

1から5までの数字を表示するfor文の出力を考えてください。

#include <iostream>
using namespace std;

int main() {
    for (int i = 1; i <= 5; i++) {
        cout << i << endl;
    }
    return 0;
}
正解・解説を見る
1
2
3
4
5

演習問題

問題2(07_sum_1_to_n.cpp)

1からnまでの合計を求めて表示するプログラムを書きなさい。

解答例を見る
// 07_sum_1_to_n.cpp
#include <iostream>
using namespace std;

int main() {
    int n, sum = 0;
    cout << "nの値を入力してください:";
    cin >> n;

    for (int i = 1; i <= n; i++) {
        sum += i;
    }

    cout << "合計: " << sum << endl;
    return 0;
}

まとめ