C++のfor文で処理を繰り返すサンプルです。
目次
for文 | for文 / for文のサンプル |
break | ループを途中で終了する(break) |
2重ループ(入れ子)のときにbreakを使用する | |
continue | ループで処理をスキップする(continue) |
2重ループ(入れ子)のときにcontinueを使用する |
for文
for (初期化式; 条件式; 増減式){ 繰り返される箇所 } |
- 処理を繰り返す時に使用します。最初にforを書くのでfor文と呼ばれます。繰り返しはループとも呼ばれます。
- 初期化式は、最初に1回だけ実行されます。
- 使用する変数をカウンター変数またはループ変数といいます。変数名はiやjがよく使用されます。
- 条件式がtrueの間、処理を繰り返します。
- 増減式でカウンター変数/ループ変数の値が変わります。
- 条件がfalseになるとループ処理を終了します。
for文のサンプル
#include <iostream>
using namespace std;
int main() {
for (int i = 0; i < 3; i++) {
cout << i << "\n"; // 0 1 2が出力される
}
return 0;
}
5行目は、初期化式(int i = 0)によりiは0から始まります。
増減式(i++)によりiの値は、1ずつ増えていきます。
条件式(i <3)がtrueの間は処理を繰り返し、iが3になるとfalseになるので終了します。
6行目は、0,1,2が出力されます。
ループを途中で終了する(break)
- for文でbreakを使用するとループ処理から抜けます。(そのブロックから抜けます)
- 「{」(波括弧) から「}」までをブロックといいます。
#include <iostream>
using namespace std;
int main() {
for (int i = 0; i < 3; i++) {
if (i == 1) {
break;
}
cout << "i =" << i << "\n"; // i=0が出力される
}
return 0;
}
7行目のbreakでfor文を抜けます。
9行目は、0のみ出力されます。
2重ループ(入れ子)のときにbreakを使用する
#include <iostream>
using namespace std;
int main() {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
if (j == 0) {
break;
}
cout << "j =" << j << "\n"; //出力なし
}
cout << "i =" << i << "\n"; //i=0 i=1が出力される
}
return 0;
}
5,6行目にfor文があり2重ループ(入れ子)になっています。
8行目のbreakは、内側のfor文のみ抜けます。
ループで処理をスキップする(continue)
- for文でcontinueを使用すると、ループ処理の先頭に戻ります。(ブロックの先頭位置に戻ります)
- 「{」(波括弧) から「}」までをブロックといいます。
#include <iostream>
using namespace std;
int main() {
for (int i = 0; i < 3; i++) {
if (i == 1) {
continue;
}
cout << "i =" << i << "\n"; // i=0 i=2が出力される
}
return 0;
}
7行目のcontinueでループ処理の先頭の5行目に戻ります。
9行目は、0と2が出力されます。
2重ループ(入れ子)のときにcontinueを使用する
#include <iostream>
using namespace std;
int main() {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
if (j == 0) {
continue;
}
cout << "j =" << j << "\n"; // j=1,j=1が出力される
}
cout << "i =" << i << "\n"; // i=0,i=1が出力される
}
return 0;
}
5,6行目にfor文があり2重ループ(入れ子)になっています。
8行目のcontinueは、内側のfor文の先頭の6行目に戻ります
関連の記事
C++ if文 条件分岐を行うサンプル
C++ switch文のサンプル
C++ while文とdo while文のサンプル