今日の人気記事

  1. printf関数の変換指定子
  2. コンパイルと実行 - GNU Compiler Collection(gcc) - Linux環境
  3. 乱数 - 1〜10のランダムな数値を出力する
  4. 条件演算子(3項演算子)「? :」
  5. サンプルプログラム集

else if文 - 複数の条件式 - 条件分岐

当ページのリンクには広告が含まれています。

スポンサーリンク

ここではC言語で複数の条件式を分岐する else if文を紹介します。

else if文

else if文は複数の条件式を使って、条件分岐させたい場合に利用します。

if(条件式①)
  条件式①が真のときの処理;
else if(条件式②)
  条件式②が真のときの処理;
else
  条件式①と②が偽のときの処理;

「条件式①」が真の場合には「条件式①が真のときの処理」、「条件式②」が真の場合には「条件式②が真のときの処理」、「条件式①と②」が偽の場合は「条件式①と②が偽のときの処理」を実行します。

処理が複数行ある場合は以下のように「if」「else」「else if」ともに「処理」を波括弧「{」と「}」の間に記述します。

if(条件式①) {
  条件式①が真のときの処理1;
  条件式①が真のときの処理2;
  …
} else if(条件式②) {
  条件式②が真のときの処理1;
  条件式②が真のときの処理2;
  …
} else {
  条件式①も②も偽のときの処理1;
  条件式①も②も偽のときの処理2;
  …
}

処理がひとつの場合でも以下のように「処理」を波括弧「{」と「}」の間に記述しても、OKです。

if(条件式①) {
  条件式①が真のときの処理;
} else if(条件式②) {
  条件式②が真のときの処理;
} else {
  条件式①も②も偽のときの処理;
}

それでは実際に else if文を使ってみましょう。

サンプルプログラム

入力した数値によって、条件分岐するプログラムです。

#include <stdio.h>

int main(void)
{
  /* 変数の宣言 */
  int a;

  /* 数値の入力 */
  printf("数値を入力してください = ");
  scanf("%d", &a);

  /* 条件分岐 */
  if ( a > 10 )
    printf("入力した数値は 5 より大きいです。\n");
  else if ( a > 5 )
    printf("入力した数値は 5 より大きいです。\n");
  else
    printf("入力した数値は 5 以下です。\n");

  return 0;
}

いくつかの実行結果です。

数値を入力してください = 11
入力した数値は 5 より大きいです。
数値を入力してください = 7
入力した数値は 5 より大きいです。
数値を入力してください = -8
入力した数値は 5 以下です。

入力した数値によって、複数の条件式で分岐されていることがわかります。

次は複数の条件を組み合わせる演算子である「論理演算子 - 条件分岐」をみていきます。

基本構文 の人気記事

  1. printf関数の変換指定子
  2. 条件演算子(3項演算子)「? :」
  3. continue文 - ループをスキップ
  4. 配列の要素を出力(表示)する
  5. int main(void) - プログラムの基本
  6. while文 - 繰り返し処理
  7. 閏年(うるうどし)を判定する
  8. 関数のプロトタイプ宣言
  9. (前置・後置)インクリメント演算子, ++
  10. コンパイルと実行 - GNU Compiler Collection(gcc) - Mac環境

関連記事(一部広告含む)