プログラムは通常、上から順番に処理が実行されます。
しかし実際のプログラムでは、
条件によって別々の処理をさせる必要が出てくることがあります。
このような処理の仕組みを
「分岐」と呼びます。
本記事の目的・学習目標
本記事の学習目標は次の3点です。
- 分岐とは何かを理解する
- 条件によって処理が変わる仕組みを理解する
- C言語で分岐を表現できるようにする(if文)
この記事を読むことで、
プログラムが 条件によって動作を変える仕組み を理解できるようになります。
分岐とは何か
分岐とは、
条件によって処理の流れを変える仕組み
のことです。
例えば次のような処理です。
例:自動販売機
- 商品を購入した後、おつりがある場合 → おつりの金額を表示
- おつりがない場合 → 0を表示
このように、
条件の結果によって処理が分かれる
構造を分岐と呼びます。
分岐の基本構造
分岐処理は図で表すと次のようになります。

このように、条件によって処理の流れが分かれるのが分岐です。
分岐を表現する方法
分岐処理はif文で表現します。
基本形

上記の書き方にて例としてプログラムを書いてみます。

上記のプログラムコードでは変数moneyが変数priceより大きい場合のみ(条件)、「おつりはchange円です」と画面に表示するプログラムとなります。
moneyがprice以下である場合は何も処理行わずに終了します。
条件式とは何か
条件式とは、処理を実行するかどうかを判断するための式です。
ここまでの分岐では条件に当てはまった場合、指定の処理を行うという解説をしました。
そこで、次に「条件に当てはまらなかった場合の処理」の書き方を解説します。
例として以下の処理を考えます。
- 入れたお金が、商品の金額より多い → おつりが出る【条件A】
- 入れたお金が、商品の金額と同額 → 0を表示【条件B】
- 入れたお金が、商品の金額以下 → エラーを表示【条件C】
この場合、プログラムは次のことを判断する必要があります。
- 入れたお金 と 商品の金額 の値の関係はどうなっているのか?(大きいのか、同じなのか、小さいのか)
この判断のために使う式を条件式と呼びます。
条件式は「成立する(true)か成立しない(false)」のどちらかになります。
条件式のプログラムコードでの使用方法ではelse ifとelseという書き方をします。
複数の条件分岐
else ifとelseの意味としては以下のようになります。
- else if → そうでない場合(複数条件を作成する場合に使用)
- else → どの条件にも当てはまらない場合
具体例として以下に基本形を記載します。

上記のプログラムコードでは前述の条件A~Cに当てはまる条件にて、それぞれが対応する1つだけの処理をしているコードになります。
まとめ
この記事では、分岐処理について解説しました。
ポイントは次の通りです。
- 条件による分岐は if 文で表現する
- 複数の条件は else if / else を使って表現する
分岐を理解すると、
プログラムの動作を 条件による処理の変化 として読み取れるようになります。
本記事で登場した用語
本シリーズでは、記事で登場する専門用語を補助知識カテゴリの「④-4 用語辞典」 にまとめています。
①分岐
条件によって処理が変わる構造。
②条件
「○○なら△△する」という「○○」の部分のこと。
③if文
コードに条件を付けたい場合に使用する文法。
④else if
if条件に当てはまらない場合の、別の条件を使用する文法。
⑤else
条件が成立しない場合の処理を書くときに使用する文法。
関連記事
次の記事では、繰り返し処理 について解説します。
▶ 次の記事
C言語入門:②-3 繰り返し処理【基礎ロジック】
◀ 前回の記事
C言語入門:②-1 順次処理【基礎ロジック】
◆同じカテゴリの記事一覧(概要ページ)
C言語入門シリーズ:②-0 基礎ロジック【概要】全5記事
◆シリーズの記事一覧
C言語入門シリーズ:プログラムの基本構造【記事一覧】

[…] C言語入門:②-2 分岐処理【基礎ロジック】 […]