【独学C言語】if文(elseなど、条件分岐)

※この記事は「2020年12月3日」に更新しました。

今回は、if文(else、else if など)の条件分岐について。

if文は、制御文とも言われ、プログラムの中で処理を分岐させることができます。

if文とは

if文は、条件分岐処理をするための制御文です。

英語の もしも~ならば という意味と同じです。

プログラミングでは、非常によく使われる制御文です。

if文の書き方

if文の書き方です。

if(条件式)
{
    条件式が真であるときの処理
}

関係演算子について

if文の条件式は、通常、関係演算子というものを使って、記述します。

関係演算子は、演算結果として、真偽値というものを返します。

真偽値とは
真偽値は正しいか誤っているかを示す値です。通常は、0 が偽で 0以外が真とみなされます。

関係演算子には以下のようなものがあります。

関係演算子 意味
== 等しい
!= 等しくない
> より大きい
< より小さい
>= 以上
<= 以下

else文

if文に似たもので else文というものがあります。

同じく条件分岐をするための制御文です。

if文と違うところは、条件が成立しなかった場合の処理も記述できる点です。

else文の書き方

else文の書き方です。

if(条件式)
{
    条件式が真であるときの処理
}
else
{
    条件式が偽であるときの処理
}

else if文

else if文は、3つ以上処理を分岐させるときに使います。

if文 の後ろに続けて使います。

else if文の書き方

else if文の書き方です。

if(条件式 A)
{
    条件式 A が真であるときの処理
}
else if(条件式 B)
{
    条件式 B が真であるときの処理(条件式 A は偽)
}
else
{
    条件式 A も B も偽であるときの処理
}

サンプルプログラム【C言語】

if文(else、else if など)を理解するためのサンプルプログラムです。

sample1.c というソースファイルを作成します。

#include <stdio.h>

int main(void)
{
    if(1)
    {
        printf("Hello!");
    }

    if(0)
    {
        printf("Good Morning!");
    }

    return 0;
}

これは、真偽値を理解するためのサンプルプログラムです。

実行結果は以下の通りです。

if文(elseなど、条件分岐)

Hello! は、条件式が真なので表示されますが、Good Morning! は条件式が偽なので表示されていません。

次のサンプルプログラムです。

sample2.c というソースファイルを作成します。

#include <stdio.h>

int main(void)
{
    int score;

    printf("\n");
    printf("Input score : ");
    scanf("%d", &score);

    printf("\n");

    if(score == 100)
    {
        printf("Genius!");
    }
    else if(score >= 80 && score < 100)
    {
        printf("Excellent!");
    }
    else if(score >= 0 && score < 80)
    {
        printf("Almost!");
    }
    else
    {
        printf("Score is invalid!");
    }

    printf("\n");

    return 0;
}

スコアを入力してもらい、入力した値によってメッセージを変更させるサンプルプログラムです。

100 なら、Genius! と表示され、80以上かつ100未満なら、Excellent! と表示され、0以上かつ80未満なら、Almost! と表示されます。

それ以外の数値を入力すると Score is invalid! と表示されます。

実行結果は以下の通りです。

if文(elseなど、条件分岐)

独学C言語の記事について【おまけ】

タカフミブログの独学C言語シリーズは、C言語を独学するということを目的に記事を書いています。

他の記事に興味がある方は以下をご参照下さい。

C言語に関する記事一覧

C言語は、古典的なイメージがある方もいるかもしれませんが、他の多くのプログラミング言語のベースになっています。

実際に本格的なソフトを開発するとなるとなかなか大変ですが、とにかくハードウェアのリソースが少なくても高速に動くのが最大のメリットです。

プログラマーや SE(システムエンジニア)を目指す方は一度お試し下さい。

最後に【if文(elseなど、条件分岐)】

いかがでしょうか。

次回は、switch文(条件分岐)について、解説します。

【独学C言語】switch文(条件分岐)

【独学C言語】switch文(条件分岐)

2020年4月16日

if文(else、else if など)は、確率の場合分け(数学)に個人的に似ていると思っています。

コーディングする前に処理の流れを考えることも大切です。

日本語で考えて、しっかり場合分けをして、論理が破綻しないようにします。