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

プログラムは通常、上から順番に処理が実行されます。

しかし実際のプログラムでは、
条件によって別々の処理をさせる必要が出てくることがあります。

このような処理の仕組みを
「分岐」と呼びます。

本記事の目的・学習目標

本記事の学習目標は次の3点です。

  • 分岐とは何かを理解する
  • 条件によって処理が変わる仕組みを理解する
  • C言語で分岐を表現できるようにする(if文)

この記事を読むことで、
プログラムが 条件によって動作を変える仕組み を理解できるようになります。

分岐とは何か

分岐とは、

条件によって処理の流れを変える仕組み

のことです。

例えば次のような処理です。

例:自動販売機

  • 商品を購入した後、おつりがある場合 おつりの金額を表示
  • おつりがない場合 0を表示

このように、

条件の結果によって処理が分かれる

構造を分岐と呼びます。

分岐の基本構造

分岐処理は図で表すと次のようになります。

このように、条件によって処理の流れが分かれるのが分岐です。

分岐を表現する方法

分岐処理はif文で表現します。

基本形

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

上記のプログラムコードでは変数moneyが変数priceより大きい場合のみ(条件)、「おつりはchange円です」と画面に表示するプログラムとなります。

moneyがprice以下である場合は何も処理行わずに終了します。

条件式とは何か

条件式とは、処理を実行するかどうかを判断するための式です。

ここまでの分岐では条件に当てはまった場合、指定の処理を行うという解説をしました。

そこで、次に「条件に当てはまらなかった場合の処理の書き方を解説します。

例として以下の処理を考えます。

  • 入れたお金が、商品の金額より多い → おつりが出る【条件A】
  • 入れたお金が、商品の金額と同額 → 0を表示【条件B】
  • 入れたお金が、商品の金額以下 → エラーを表示【条件C】

この場合、プログラムは次のことを判断する必要があります。

  • 入れたお金 と 商品の金額 の値の関係はどうなっているのか?(大きいのか、同じなのか、小さいのか)

この判断のために使う式条件式と呼びます。

条件式は「成立する(true)か成立しない(false)」のどちらかになります。

条件式のプログラムコードでの使用方法ではelse ifelseという書き方をします。

複数の条件分岐

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言語入門シリーズ:プログラムの基本構造【記事一覧】

1 COMMENT

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です