【6日でできるC言語入門】if ~ else 文

 C言語における条件分岐の中でも、if ~ else文はもっとも基本的な構文のひとつです。プログラムの実行時に、ある条件が成り立つ場合と成り立たない場合で処理を分岐させたいときに使います。たとえば「点数が60点以上なら合格、そうでなければ不合格」といった判定を行いたい場合、if ~ else文が活躍します。ここでは、if ~ else文の書式や使い方、フローチャートでの表現方法、実際のプログラム例とその出力まで、わかりやすく解説します。

1.if ~ else文の基本

1.1. 書式と動作

if ~ else文は、以下のような構文で記述します。

if (条件式) {
    // 条件が真(true)のときに実行される処理
} else {
    // 条件が偽(false)のときに実行される処理
}

 条件式が成り立つ場合(true)はifブロックの中が、成り立たない場合(false)はelseブロックの中が実行されます。

1.2. if ~ else文のフローチャート

条件分岐は、以下のようなフローチャートで表現できます。

2.if ~ else文のサンプルプログラム

2.1. 正負判定プログラム

整数を入力し、その値が正かどうかを判定して異なるメッセージを表示する例です。

プロジェクト/ファイル名: Lesson20_1/main.c

#include <stdio.h>

int main(void) {
    int num;
    printf("整数を入力してください:");
    scanf("%d", &num);

    if (num >= 0) {
        printf("入力した値は、0以上です。\n");
    } else {
        printf("入力した値は、負の数です。\n");
    }
    return 0;
}

実行結果

「SDLチェック」を「いいえ」にして、プログラムを実行します。

整数を入力してください:8
入力した値は、0以上です。

整数を入力してください:-3
入力した値は、負の数です。

2.2. 複数の条件式との組み合わせ

if ~ else文は、さらにelse ifを追加して複雑な分岐も可能です。

3.if ~ else文に関するC言語命令の解説

命令説明
if条件が真(true)の場合のみ処理を実行
else上記条件が偽(false)の場合に処理
scanf入力を受け取る標準関数
printf出力を行う標準関数

4.よくある間違いと注意点

  • elseの書き忘れ
    if文だけではfalseの場合の処理が記述できません。必要な場合は必ずelseを付けましょう。
  • 中括弧の省略
    ifやelseの後に複数の処理を書くときは必ず{}で囲みます。1行だけの場合は省略できますが、可読性のために{}を付ける習慣をつけましょう。

まとめ

  • if ~ else文は、条件ごとに異なる処理を行う際に使う。
  • 書式をしっかり覚えておくと、様々な状況に応じた分岐処理を実装できる。
  • フローチャートを用いると、条件分岐の流れを視覚的に理解しやすくなる。

条件分岐を自在に使いこなすことで、C言語プログラムの表現力が大きく広がります。