プログラミングにおいて、条件文とループ文は非常に重要な役割を果たします。C++を学ぶ上で、これらの制御構文をマスターすることは、効率的なプログラムの作成に繋がります。本記事では、C++における条件文とループ文の基本的な使い方を紹介し、具体的なサンプルコードとその実行結果を通じて理解を深めていきます。
条件文: if文の基本的な使い方
C++で条件に応じて処理を分岐させたい場合、if文が最も基本的な構文です。if文は、条件が真の場合に指定されたコードブロックを実行します。以下はif文の基本的な構文です。
if (条件) { // 条件が真の場合に実行されるコード }
例えば、ユーザーが入力した数字が正の数かどうかを判定するプログラムは次のように書けます。
#include <iostream> int main() { int number; std::cout << "数字を入力してください: "; std::cin >> number; if (number > 0) { std::cout << number << " は正の数です。" << std::endl; } else if (number == 0) { std::cout << "数字は0です。" << std::endl; } else { std::cout << number << " は負の数です。" << std::endl; } return 0; }
上記のプログラムでは、ユーザーが入力した数字に応じて正の数か、0か、負の数かを判定し、それに応じたメッセージを表示します。
ループ文: for文の基本的な使い方
for文は、指定された回数だけ繰り返し処理を行う場合に使われます。基本的な構文は以下の通りです。
for (初期化; 条件; 更新) { // 繰り返し処理されるコード }
次の例では、1から5までの数字を表示するためのfor文を使用したプログラムです。
#include <iostream> int main() { for (int i = 1; i <= 5; i++) { std::cout << i << " "; } std::cout << std::endl; return 0; }
このプログラムの実行結果は次のようになります。
1 2 3 4 5
for文では、変数iが初期化され、条件が満たされている限りループが実行されます。各ループの後、iが更新され、次のループが開始されます。
ループ文: while文の基本的な使い方
while文は、条件が真である間、繰り返し処理を行います。for文が繰り返し回数を明確に設定できる場合、while文はより柔軟に条件に基づいてループを実行します。基本的な構文は以下の通りです。
while (条件) { // 繰り返し処理されるコード }
次の例では、ユーザーが入力した数字が負の数でない限りループを続けるプログラムです。
#include <iostream> int main() { int number; std::cout << "負の数を入力すると終了します。" << std::endl; while (true) { std::cout << "数字を入力してください: "; std::cin >> number; if (number < 0) { std::cout << "プログラムを終了します。" << std::endl; break; } std::cout << "入力した数字は: " << number << std::endl; } return 0; }
このプログラムは、負の数が入力されるまで数字の入力を繰り返し、負の数が入力された時点でループを終了します。
条件文とループ文の組み合わせ
条件文とループ文は、組み合わせることでより複雑なプログラムを作成できます。以下の例では、偶数のみを表示するプログラムをfor文とif文を組み合わせて作成しています。
#include <iostream> int main() { for (int i = 1; i <= 10; i++) { if (i % 2 == 0) { std::cout << i << " "; } } std::cout << std::endl; return 0; }
このプログラムでは、1から10までの数字の中で偶数のみを表示します。for文で数字を繰り返し処理し、if文で偶数かどうかを判定しています。
まとめ
条件文とループ文は、C++プログラムの基本的な制御構造です。これらを活用することで、柔軟で効率的なプログラムを作成することができます。この記事では、if文、for文、while文の使い方を学び、それらを組み合わせる方法についても解説しました。これらの知識を応用して、さらに複雑なプログラムにも挑戦してみましょう。