カテゴリ: C++ 更新日: 2026/03/17

C++のif文を完全解説!条件分岐の基本構文から実践的な書き方まで

if文の基本構文と条件分岐
if文の基本構文と条件分岐

先生と生徒の会話形式で理解しよう

生徒

「先生、C++で『もし〜だったらこの処理をする』という風に、条件によって動きを変えることはできますか?」

先生

「はい、もちろんです!C++では『if文』という構文を使うことで、簡単に条件分岐を作ることができますよ。」

生徒

「条件分岐ができると、どんな良いことがあるんですか?」

先生

「例えば、ゲームで体力が0になったらゲームオーバーにしたり、入力された年齢によって大人か子供か判定したりと、プログラムが状況に合わせて判断できるようになります。」

1. if文とは?プログラムに判断力を与える魔法

1. if文とは?プログラムに判断力を与える魔法
1. if文とは?プログラムに判断力を与える魔法

C++のif文は、プログラム内で条件に応じて処理を分岐させるためのものです。例えば、ある条件が「真(true)」であれば特定の処理を実行し、そうでなければスキップする、といった操作が可能になります。分岐処理を理解することで、プログラムの流れを制御できるようになり、より複雑なアプリケーションを作ることができるようになります。

プログラミング未経験の方には、「もし雨が降っていたら傘を差す」という日常の行動をイメージすると分かりやすいでしょう。この場合の「雨が降っている」が条件であり、「傘を差す」が実行される処理にあたります。このように、ある特定の状況だけで動かしたい処理があるときにif文は大活躍します。

2. if文の基本構文!正しい書き方を覚えよう

2. if文の基本構文!正しい書き方を覚えよう
2. if文の基本構文!正しい書き方を覚えよう

if文の書き方は非常にシンプルです。まず「if」と書き、その後の丸括弧「()」の中に判定したい条件を入れます。そして、その条件が満たされたときに実行したい内容を波括弧「{}」の中に記述します。

ここで出てくる「丸括弧」や「波括弧」は、パソコンのキーボードで入力する記号のことです。プログラミングでは、これらの記号を正確に配置することが非常に重要です。もし記号を一つでも忘れると、コンピューターは「どうすればいいか分からない!」とエラーを出してしまいます。まずは、基本の形をしっかり目に焼き付けましょう。


int score = 90;
if (score >= 80) {
    std::cout << "合格です!おめでとうございます。" << std::endl;
}

このプログラムでは、スコアが80点以上なので、画面に合格のメッセージが表示されます。


合格です!おめでとうございます。

3. 条件を満たさない時の処理「else」の使い方

3. 条件を満たさない時の処理「else」の使い方
3. 条件を満たさない時の処理「else」の使い方

「もし条件に合わなかったら別のことをしたい」という場合には、else(エルス)を使います。elseを直訳すると「さもなければ」という意味になります。if文の波括弧が終わった後にelseを追加することで、「条件に合わなかった場合の専用ルート」を作ることができます。

例えば、宝くじが当たった場合は「豪華な食事をする」、外れた場合は「家でゆっくりする」といった二択の動きをプログラムに教えることができます。これによって、どんな状況でも必ず何かしらのアクションを起こす、丁寧なプログラムになります。


int money = 300;
if (money >= 500) {
    std::cout << "豪華なランチを食べます。" << std::endl;
} else {
    std::cout << "おにぎりを買って帰ります。" << std::endl;
}

おにぎりを買って帰ります。

4. たくさんの条件を分ける「else if」

4. たくさんの条件を分ける「else if」
4. たくさんの条件を分ける「else if」

二択だけでなく、「1位なら金メダル、2位なら銀メダル、3位なら銅メダル、それ以外なら参加賞」のように、たくさんの条件に分けたいときもあります。そんな時に便利なのが else if(エルス・イフ)です。

else ifを使うと、最初のif文がダメだった場合に、次の条件をチェックし、それがダメならさらに次の条件……という風に、順番に判定していくことができます。これを活用すれば、非常に細かく状況を分析して、最適な答えを出すプログラムを構築することが可能になります。


int rank = 2;
if (rank == 1) {
    std::cout << "金メダルです!" << std::endl;
} else if (rank == 2) {
    std::cout << "銀メダルです!" << std::endl;
} else if (rank == 3) {
    std::cout << "銅メダルです!" << std::endl;
} else {
    std::cout << "お疲れ様でした!" << std::endl;
}

銀メダルです!

5. 比較演算子をマスターしよう!記号の役割解説

5. 比較演算子をマスターしよう!記号の役割解説
5. 比較演算子をマスターしよう!記号の役割解説

if文の条件式の中でよく使われるのが「比較演算子(ひかくえんざんし)」という記号です。これは、二つの値を比べるために使われます。パソコンを初めて触る方は、数学で習った記号と少し形が違うものがあるので注意が必要です。

  • == :右と左が等しい(イコールを二つ書くのがポイント!)
  • != :右と左が等しくない
  • > / < :より大きい / より小さい
  • >= / <= :以上 / 以下

特に間違いやすいのが「等しい」を表す == です。一つだけの = は「代入(値を箱に入れること)」という意味になってしまうので、if文の中で使うときは必ず二つ重ねて書くというルールを忘れないでくださいね。この記号を使いこなすことが、条件分岐をマスターする第一歩です。

6. 論理演算子で複雑な条件を作る方法

6. 論理演算子で複雑な条件を作る方法
6. 論理演算子で複雑な条件を作る方法

「テストが80点以上、かつ、出席率が90%以上なら合格」のように、複数の条件を組み合わせたいときは「論理演算子(ろんりえんざんし)」を使います。これは、複数の条件を「かつ(AND)」や「または(OR)」で繋ぐための便利な道具です。

  • && :かつ(両方の条件が満たされたら正解)
  • || :または(どちらか片方でも満たされたら正解)
  • ! :〜ではない(条件をひっくり返す)

これを使えば、単純な比較だけでは作れない、より高度なルールをプログラムに組み込むことができます。例えば「週末、または、祝日なら休園日」といった複雑なスケジュール管理も、この演算子があれば一瞬で判定できるようになります。


int temperature = 25;
bool is_sunny = true;

if (temperature >= 20 && is_sunny) {
    std::cout << "絶好のピクニック日和です!" << std::endl;
}

「気温が20度以上」という条件と「晴れている」という二つの条件を同時に満たした場合だけ、メッセージが表示されます。


絶好のピクニック日和です!

7. 入れ子構造「ネスト」でより深い分岐を作る

7. 入れ子構造「ネスト」でより深い分岐を作る
7. 入れ子構造「ネスト」でより深い分岐を作る

if文の中に、さらにif文を入れることを「ネスト(入れ子)」と呼びます。これは、ある大きな条件をクリアした後に、さらに細かい条件で調べたいときに使います。

例えば、まず「会員かどうか」をチェックし、もし会員だったら次に「ポイントが貯まっているか」を確認する、といった二段構えの仕組みです。ネストを使いすぎるとコードが読みづらくなってしまうこともあるので、整理整頓を心がけるのが「綺麗なプログラム」を書くコツです。インデント(行の始まりにスペースを入れること)をしっかり行うことで、どこからどこまでが一つのグループなのかが見やすくなります。

8. C++における「真」と「偽」の正体

8. C++における「真」と「偽」の正体
8. C++における「真」と「偽」の正体

プログラミングでは、条件が合っている状態を「真(しん)」、合っていない状態を「偽(ぎ)」と呼びます。C++の内部では、これを「true(トゥルー)」と「false(フォルス)」という言葉で扱っています。

実は、C++では数字の「0」が「偽」として扱われ、それ以外の数字(1や100など)はすべて「真」として扱われるという面白い特徴があります。ですから、if (1) と書くと、条件は常に正しいと判断されて中身が実行されます。パソコン初心者のうちは少し不思議に感じるかもしれませんが、「0以外はOK!」と覚えておくと、後々非常に役立つ知識になりますよ。

9. if文を使う時のよくあるミスと対策

9. if文を使う時のよくあるミスと対策
9. if文を使う時のよくあるミスと対策

if文の学習で初心者が必ずと言っていいほどハマるポイントがいくつかあります。まず一つ目は、先ほども触れた「=== の書き間違い」です。二つ目は、文の終わりに付けるセミコロン「;」の場所です。通常の命令には末尾に「;」を付けますが、if文の if (条件) の直後には付けてはいけません。

もし if (条件); と書いてしまうと、せっかくの条件分岐がそこで終わってしまい、下の波括弧の中身が条件に関わらず常に動いてしまうことになります。このような小さなミスは、プロのプログラマでも時々やってしまうものです。もし思った通りに動かないときは、まずは記号やセミコロンの場所をじっくり確認してみましょう。

10. 実践!if文を使った簡単なサンプルアプリ

10. 実践!if文を使った簡単なサンプルアプリ
10. 実践!if文を使った簡単なサンプルアプリ

最後に、これまで学んだことを活かして、入力された気温に合わせて服装のアドバイスをするプログラムを作ってみましょう。実際の開発でも、このように複数の条件を組み合わせることで、ユーザーにとって便利な機能を作っていきます。


#include <iostream>

int main() {
    int temp = 15; // ここでは気温を15度とします

    std::cout << "現在の気温は" << temp << "度です。" << std::endl;

    if (temp >= 25) {
        std::cout << "半袖で過ごせます。" << std::endl;
    } else if (temp >= 10) {
        std::cout << "上着が必要です。" << std::endl;
    } else {
        std::cout << "厚手のコートを着てください。" << std::endl;
    }

    return 0;
}

このプログラムを動かすと、現在の気温に基づいた適切なアドバイスが表示されます。条件を変えて何度も試すことで、if文の動きがより深く理解できるはずです。


現在の気温は15度です。
上着が必要です。
カテゴリの一覧へ
新着記事
New1
C++
C++の値渡し(pass by value)とは?仕組みと使い方を初心者向けに徹底解説
New2
C++
C++とポインタ・参照の重要性をやさしく解説!初心者でも理解できる仕組みと使い方
New3
C++
GCCでC++開発を始める方法!初心者向け完全ガイド
New4
Rust
Rustの式(Expression)と文(Statement)の違いを徹底解説!初心者が迷うセミコロンの秘密
人気記事
No.1
Java&Spring記事人気No1
C言語
C言語を学ぶ初心者におすすめの環境構築手順【2025年版】
No.2
Java&Spring記事人気No2
C++
MinGWとMSYS2でWindowsにC++環境を構築する方法を徹底解説!初心者でもできるセットアップガイド
No.3
Java&Spring記事人気No3
C言語
LinuxでC言語開発環境を構築する方法【GCCとMakefileの基本】
No.4
Java&Spring記事人気No4
C言語
C言語のソースコードとヘッダファイルの役割とは?初心者向けにわかりやすく解説!
No.5
Java&Spring記事人気No5
C言語
Visual Studio CodeでC言語を実行する方法【拡張機能の設定と実行手順】
No.6
Java&Spring記事人気No6
C言語
C言語開発でよく使われるエディタとIDEランキング【初心者向け完全ガイド】
No.7
Java&Spring記事人気No7
C++
C++の主要な実装をわかりやすく解説!GCC・Clang・MSVCの違いと特徴
No.8
Java&Spring記事人気No8
C++
CMakeの役割と導入方法をやさしく解説!C++開発環境構築ガイド