1. 導入:if文でプログラムに「判断力」を持たせよう
C++の学習を始めると、必ずぶつかるのが「条件によって処理を変えたい」という場面です。例えば、「テストの点数が60点以上なら合格、未満なら不合格」という処理をプログラムで書くにはどうすればいいでしょうか。ここで登場するのがif文です。if文を使いこなすことで、プログラムは単なる命令の羅列から、状況に応じて自分で判断を下す賢いツールへと進化します。
2. 基礎知識:条件分岐の仕組み
if文は、指定した「条件式」の結果が「真(true)」である場合にのみ、指定した処理を実行する制御構造です。
C++では、条件式の結果は「真(true)」か「偽(false)」のどちらかになります。
・true:条件が満たされている状態(数値では0以外)
・false:条件が満たされていない状態(数値では0)
この仕組みを理解するために、まずは「比較演算子」を覚えておきましょう。
・a >= b:aがb以上
・a <= b:aがb以下
・a == b:aとbが等しい(イコール2つであることに注意!)
・a != b:aとbが等しくない
3. 実装:if文の書き方
if文の基本構造は以下の通りです。
if (条件式) {
// 条件がtrueの時に実行される処理
}
もし「条件を満たさない場合も何か処理をしたい」という場合は、elseを組み合わせます。
if (条件式) {
// 条件がtrueの時の処理
} else {
// 条件がfalseの時の処理
}
4. サンプルプログラム:点数判定プログラム
以下は、ユーザーが入力した点数に応じて判定結果を表示するプログラムです。コピー&ペーストして、実際に動かしてみてください。
include
int main() {
int score = 75; // 点数を設定
// if文で条件を判定
if (score >= 60) {
// 条件(scoreが60以上)がtrueの場合に実行
std::cout << "合格です!おめでとうございます。" << std::endl;
} else {
// 条件がfalse(60未満)の場合に実行
std::cout << "残念ながら不合格です。再挑戦しましょう。" << std::endl;
}
return 0;
}
5. 応用・注意点:現場でよくあるミスを避けるために
最後に、初心者が陥りやすい注意点を2つお伝えします。
1つ目は、「==」と「=」の混同です。比較を行うときは「==」ですが、変数に値を代入するときは「=」を使います。if (score = 60) と書いてしまうと、比較ではなく「scoreに60を代入する」という処理になり、意図した動作になりません。非常に多いバグなので注意しましょう。
2つ目は、ブロックの範囲です。if文の直後に波括弧 { } を書くのが基本ですが、処理が1行だけなら省略可能です。しかし、後から処理を追加したときにバグの原因になりやすいため、どんなに短い処理でも必ず波括弧 { } を付ける癖をつけましょう。これが、読みやすく保守性の高いコードを書く第一歩です。

コメント