if文 - 条件分岐

C言語の条件分岐について解説します。

if文

条件分岐を行うために
if文を使用します。

if (条件) {
  // 条件が満たされた場合に実行する処理
}

C言語での真偽値は、0が偽で、それ以外の値が真です。NULLはC言語では、0として定義されていますので、偽になります。

if文のサンプルです。

比較演算子は、満たされた場合に1が、満たされなかった場合に0になります。

#include <stdio.h>
#include <stdint.h>

int main(void) {
  int32_t flag = 1;
  
  if (flag == 1) {
    printf("1 OK\n");
  }
}

出力結果。

1 OK

else if文

複数の条件を書きたい場合はelse if文を使用します。else if文は複数記述することができます。

if (条件1) {
  // 条件1が満たされた場合に実行する処理
}
else if (条件2) {
  // 条件2が満たされた場合に実行する処理
}
else if (条件3) {
  // 条件3が満たされた場合に実行する処理
}

else if文のサンプルです。

#include <stdio.h>
#include <stdint.h>

int main(void) {
  int32_t flag = 2;
  
  if (flag == 1) {
    printf("1 OK\n");
  }
  else if (flag == 2) {
    printf("2 OK\n");
  }
}

出力結果。

2 OK

else文

条件が満たされなかった場合に処理を実行したい場合はelse文を使用します。

if (条件) {
  // 条件が満たされた場合に実行する処理
}
else {
  // 条件が満たされなかった場合に実行する処理
}

if (条件1) {
  // 条件1が満たされた場合に実行する処理
}
else if (条件2) {
  // 条件2が満たされた場合に実行する処理
}
else if (条件3) {
  // 条件3が満たされた場合に実行する処理
}
else {
  // 上記の条件がすべてみたされなかった場合の処理
}

else文のサンプルです。

#include <stdio.h>
#include <stdint.h>

int main(void) {
  int32_t flag = 3;
  
  if (flag == 1) {
    printf("1 OK\n");
  }
  else if (flag == 2) {
    printf("2 OK\n");
  }
  else {
    printf("Not OK\n");
  }
}

出力結果。

Not OK

関連情報