C言語で条件分岐してみよう! [if , switch]

C言語

条件分岐とは

今回は条件分岐について解説します。
プログラムは基本的に記述した順番通りに実行されるのですが、変数の値などの条件によって実行する処理を分けたい場合があります。


ここでは”if”文や”switch”文を使って条件に従い処理を分岐する方法を一緒に見ていきましょう。

“if”文

最初に”if文”を見ていきましょう。
まずはサンプルコードを、

#include <stdio.h>
int main()
{
    int number = 0;
    if (number != 0)
    {
        printf("変数 number は0ではありません。");
    }
}

この5行目をみてください。
これが基本の構文になります。
「もし変数”number”が0でなければ」という条件で処理を分岐しています。

“if”, “else”文

次に、if, else文についてです。
先ほどはif文を使って条件が合えば処理をするという条件分岐をしましたが、if, else文を使うことで「もし~ならば」というif文に加えて、「それ以外」という条件を追加できるelse文を評価することができます。

#include <stdio.h>
int main()
{
    int number = 0;
    if (number != 0)
    {
        printf("変数 number は0ではありません。");
    }
    else
    {
        printf("それ以外です。");
    }
}

構文はこのようになります。
if文の後にelse{}を追加するだけです。簡単ですね!

“if”, “else if”文

次に、”if, else if”文を見ていきましょう。
先ほどの”if, else”文に似ていますが、”else”の文に追加の条件を追加することができるのです。

#include <stdio.h>
int main()
{
    int number = 0;
    if (number != 0)
    {
        printf("変数 number は0ではありません。");
    }
    else if (number > 10)
    {
        printf("変数 number は10より上です。");
    }
}

簡単に説明すると、「もし変数”number”が0でなければ」という条件に、「それ以外で、変数numberが10より上なら」という条件分岐をしています。

“switch”文

“switch”文を使うときには「switch, case」という構文を使います。
基本的に条件分岐は先ほどお話しした、”if”文で事足りるのですが、条件によって分ける処理が多くある場合にはこの「switch, case」を使うと便利です。

#include <stdio.h>
int main()
{
    int number = 10;

    switch(number) {
        case 0:
            // numberの値が"0"の時の処理
            break;
        case 10:
            // numberの値が"10"の時の処理
            break;
        case 20:
            // numberの値が"20"の時の処理
            break;
        default:
            式の結果がどの値とも一致しなかったときの処理
    }
}

このように、switch文の引数に評価する値を入れて、
“case 値:”の構文で各条件を見ていきます。
もしどの値にも当てはまらない場合は、”default”文での処理が実行されることになります。

まとめ

今回は条件分岐 [if , switch]について解説しました。
ある条件によって処理を分けたいときに、条件を指定してそれぞれ処理を変更することができます。
このような処理は使う場面がかなり多く、とても便利なものなのでここで基本をマスターしてください!

http://itthestudy.com/%E7%B9%B0%E3%82%8A%E8%BF%94%E3%81%97%E5%87%A6%E7%90%86%EF%BC%88%E3%83%AB%E3%83%BC%E3%83%97%E6%96%87%EF%BC%89%E3%81%AE%E5%9F%BA%E6%9C%AC-c%E8%A8%80%E8%AA%9E/

なにか質問があればお問い合わせフォームでお気軽にお問合せください。
可能な限りすぐにお返事します。
一流プログラマを目指して頑張りましょう!

コメント