For ループ (パート2)
CoddyのC++ジャーニー「基礎」セクションの一部 — レッスン 47/74。
forループの条件の興味深いバリエーションをいくつか見てみましょう
逆方向にカウントする:
for (int i = 10; i >= 0; i--) {
std::cout << i << " ";
}
// 出力: 10 9 8 7 6 5 4 3 2 1 0より大きな数値(i = 10)から開始し、条件として i >= 0 を使用し、i-- を使ってカウンターを減らしていることに注目してください。
数値を飛ばしたいですか?その場合は、増分/減分の値を変更するだけです:
// 2ずつカウントアップ
for (int i = 0; i <= 10; i+=2) {
std::cout << i << " ";
}
// 出力: 0 2 4 6 8 10// 2ずつカウントダウン
for (int i = 10; i >= 0; i-=2) {
std::cout << i << " ";
}
// 出力: 10 8 6 4 2 0ループ制御の中で複数の変数を使用することもできます:
for (int i = 0, j = 10; i <= 10; i++, j--) {
std::cout << "i = " << i << " " << "j = " << j << " ";
}
// 出力: i = 0 j = 10
// i = 1 j = 9
// i = 2 j = 8
// など...この例では、i と j という2つのカウンター変数があり、それぞれ 0 と 10 に初期化されています。各反復において、i は 1 ずつ増加し、j は 1 ずつ減少します。このループは、i が 10 以下である限り継続します。
チートシート
forループは、大きな数値から開始し、条件に >= を使用し、デクリメント(値を減らす)を行うことで、逆方向にカウントすることができます。
for (int i = 10; i >= 0; i--) {
std::cout << i << " ";
}
// Output: 10 9 8 7 6 5 4 3 2 1 0増分または減分の値を変更することで、数値を飛ばしてカウントすることができます。
// 2ずつカウントアップ
for (int i = 0; i <= 10; i+=2) {
std::cout << i << " ";
}
// Output: 0 2 4 6 8 10
// 2ずつカウントダウン
for (int i = 10; i >= 0; i-=2) {
std::cout << i << " ";
}
// Output: 10 8 6 4 2 0ループ制御に複数の変数を使用することもできます。
for (int i = 0, j = 10; i <= 10; i++, j--) {
std::cout << "i = " << i << " " << "j = " << j << " ";
}自分で試してみよう
このレッスンにはコードチャレンジは含まれていません。
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。