C++ for ループ
C++ for ループ
このチュートリアルでは、いくつかの例を使用して、C++ for ループとその動作について学習します。
コンピュータ プログラミングでは、コード ブロックを繰り返すためにループが使用されます。
たとえば、メッセージを 100 回表示したいとします。次に、print ステートメントを 100 回書く代わりに、ループを使用できます。
これは単純な例にすぎません。ループを効果的に使用することで、プログラムの効率と洗練度を大幅に高めることができます。
C++ には 3 種類のループがあります。
for
ループwhile
ループdo...while
ループ
このチュートリアルは C++ for
に焦点を当てています ループ。他のタイプのループについては、今後のチュートリアルで学習します。
C++ for ループ
for ループの構文は次のとおりです。
for (initialization; condition; update) {
// body of-loop
}
ここで、
initialization
- 変数を初期化し、一度だけ実行しますcondition
-true
の場合 、for
の本体 ループが実行される
false
の場合 、for ループが終了しますupdate
- 初期化された変数の値を更新し、再度条件をチェックします
conditions
について詳しく知るには 、C++ 関係演算子と論理演算子に関するチュートリアルをご覧ください。
C++ の for ループのフローチャート
<図>例 1:1 から 5 までの数字の出力
#include <iostream>
using namespace std;
int main() {
for (int i = 1; i <= 5; ++i) {
cout << i << " ";
}
return 0;
}
出力
1 2 3 4 5
このプログラムの仕組みは次のとおりです
反復 | 変数 | i <=5 | アクション |
---|---|---|---|
1位 | i = 1 | true | <サンプル>1サンプル> 印刷されます。 i 2 に増加 . |
2位 | i = 2 | true |
2
印刷されます。 i 3 に増加 . |
3位 | i = 3 | true | <サンプル>3サンプル> 印刷されます。 i 4 に増加 . |
4位 | i = 4 | true |
4
印刷されます。 i 5 に増加 . |
5位 | i = 5 | true |
5
印刷されます。 i 6 に増加 . |
6位 | i = 6 | false | ループが終了しました |
例 2:テキストを 5 回表示する
// C++ Program to display a text 5 times
#include <iostream>
using namespace std;
int main() {
for (int i = 1; i <= 5; ++i) {
cout << "Hello World! " << endl;
}
return 0;
}
出力
Hello World! Hello World! Hello World! Hello World! Hello World!
このプログラムの仕組みは次のとおりです
反復 | 変数 | i <=5 | アクション |
---|---|---|---|
1位 | i = 1 | true |
Hello World!
印刷され、i 2 に増加 . |
2位 | i = 2 | true |
Hello World!
i が出力されます 3 に増加 . |
3位 | i = 3 | true |
Hello World!
i が出力されます 4 に増加 . |
4位 | i = 4 | true |
Hello World!
i が出力されます 5 に増加 . |
5位 | i = 5 | true |
Hello World!
i が出力されます 6 に増加 . |
6位 | i = 6 | false | ループが終了しました |
例 3:最初の n 個の自然数の和を求める
// C++ program to find the sum of first n natural numbers
// positive integers such as 1,2,3,...n are known as natural numbers
#include <iostream>
using namespace std;
int main() {
int num, sum;
sum = 0;
cout << "Enter a positive integer: ";
cin >> num;
for (int i = 1; i <= num; ++i) {
sum += i;
}
cout << "Sum = " << sum << endl;
return 0;
}
出力
Enter a positive integer: 10 Sum = 55
上記の例では、2 つの変数 num があります。 そして合計 . 合計 変数には 0 が割り当てられます と num 変数には、ユーザーによって提供された値が割り当てられます。
for
を使用していることに注意してください ループ。
for(int i = 1; i <= num; ++i)
ここで、
int i = 1
:i を初期化します 変数i <= num
:i の間、ループを実行します num 以下です++i
:i を増やします 各反復で 1 ずつ変数
私が 11
になります 、condition
false
です そして合計 0 + 1 + 2 + ... + 10
と等しくなります .
範囲ベースの for ループ
C++11 では、新しい範囲ベースの for
配列などのコレクションを操作するためにループが導入されました とベクトル .その構文は次のとおりです:
for (variable : collection) {
// body of loop
}
ここでは、コレクションのすべての値に対して 、 for ループが実行され、値が variable に割り当てられます .
例 4:範囲ベースの for ループ
#include <iostream>
using namespace std;
int main() {
int num_array[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
for (int n : num_array) {
cout << n << " ";
}
return 0;
}
出力
1 2 3 4 5 6 7 8 9 10
上記のプログラムでは、int
を宣言して初期化しました。 num_array という名前の配列 . 10 項目あります。
ここでは、範囲ベースの for
を使用しました ループして配列内のすべての項目にアクセスします。
C++ 無限 for ループ
condition
の場合 for
で ループは常に true
です 、永久に実行されます(メモリがいっぱいになるまで)。たとえば、
// infinite for loop
for(int i = 1; i > 0; i++) {
// block of code
}
上記のプログラムでは、 condition
常に true
です これにより、コードが無限に実行されます。
詳細については、次の例をご覧ください:
- 自然数の和を計算する C++ プログラム
- 階乗を見つける C++ プログラム
- 九九を生成する C++ プログラム
次のチュートリアルでは、while
について学びます。 と do...while
ループ。
C言語