本文へスキップ
BecomeCoder

C言語コース · 第3章 制御構文 · レッスン8

if / else ― 条件で分ける

ブラウザで完結

導入

「もし条件が成り立つなら」を表すのが if 文です。C では条件を ( ) で囲み、処理を { } でまとめます。

説明

if (条件) { ... } else { ... } の形です。条件が真(0以外)なら if 側、そうでなければ else 側が実行されます。分かれ道を進むイメージです。

flowchart TB
  q{"age >= 18 ?"} -->|"真"| a["成人です を表示"]
  q -->|"偽"| b["未成年です を表示"]
  a --> e["次の処理へ"]
  b --> e
#include <stdio.h>

int main() {
    int age = 20;
    if (age >= 18) {
        printf("成人です\n");
    } else {
        printf("未成年です\n");
    }
    return 0;
}

{ } の中が、その条件のときに実行されるまとまりです。C には真偽値専用の型はもともとありませんでしたが(0 は偽、0 以外は真として扱われます)、比較の結果(age >= 18 など)は 1(真)か 0(偽)になります。

やってみよう

age の値を変えて、実行される枝が切り替わることを確かめましょう。

演習

int n = 10; について、n が偶数(n % 2 == 0)なら 偶数、そうでなければ 奇数 と表示してください。

ヒント1を見る

if (n % 2 == 0) { ... } else { ... }

実際に動かしてみよう

下のエディタにCを書いて「実行」を押すと、ブラウザ内のインタプリタで出力が表示されます。本文の例をそのまま試したり、書き換えたりしてみましょう(scanf を使う回は「標準入力」欄に値を入れてから実行します)。

C/C++ — ブラウザ内で実行

ブラウザ内でC/C++を動かす学習用インタプリタ(JSCPP)を読み込みます(入門向けのサブセットです)。
スクロールして表示された時点でも自動で読み込まれます。