if文で条件式が偽の時の処理(if...else)

if 文では条件式が真になった場合にブロック内の処理を実行させることができますが、 if ... else 文を使うと条件式が真の場合と偽の場合でそれぞれ別のブロック内の処理を実行させることができます。ここでは C 言語で if ... else 文を使って条件式が偽になった場合にも処理を実行する方法について解説します。

(Last modified: )

if文で条件式が偽の時の処理

if 文は条件式が真の時に次の行の文かブロック内の文を実行するためのものでした。

if (条件式) {
  条件式が真の時に実行する処理;
  ...;
}

if 文には条件式が真の時に実行する処理の他に条件式が偽の時に実行する処理を別途指定することができます。これには if ... else 文を使用します。書式は次の通りです。

if (条件式) {
  条件式が真の時に実行する処理;
  ...;
}else{
  条件式が偽の時に実行する処理;
  ...;
}

実際のプログラム例としては次のようになります。

int x = 5;

if (x >= 0) {
  printf("正の数です\n");
}else{
  printf("負の数です\n");
}

なお今回は {} を使ってブロックで記述しましたが、処理する文が 1 行の場合にはブロックを使わずに次のように記述しても構いません。これは if 文の時と同じです。

if (条件式)
  条件式が真の時に実行する処理;
else
  条件式が偽の時に実行する処理;
サンプルコード

では簡単なサンプルプログラムを作成して試してみます。

#include <stdio.h>

int main(void){
  int num;

  num = 5;
  printf("num = %d\n",num);

  if (num >= 0) {
    printf("正の数です\n");
  }else{
    printf("負の数です\n");
  }

  num = -9;
  printf("num = %d\n",num);

  if (num >= 0)
    printf("正の数です\n");
  else
    printf("負の数です\n");

  return 0;
}

上記を「test4-1.c」の名前で保存します。まずコンパイルを行います。

条件式が偽の時の処理(if... else)

コンパイルが終わりましたら「test4-1」と入力して実行します。

条件式が偽の時の処理(if... else)

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。