分岐処理

目次

分岐処理とは

構造化プログラミングの柱の1つである分岐処理とは、状況に応じて実行する処理を変えるための構文です。
条件式を評価してその真偽に対応して分岐します。

if文

if文は

if(【条件式】)
{
【条件式が真のときに実行される処理】;
}

のような形で使われます。

また、

if(【条件式1】)
{
【条件式1が真のときに実行される処理】;
}
else if(【条件式2】)
{
【条件式1が偽、条件式2が真のときに実行される処理】;
}
else
{
【条件式1、2共の偽のときに実行される処理】;
}

のように後ろにいくつでもelse文やelse if文を繋げることができます。

以下がサンプルコードです。

#include <stdio.h>

int main(void)
{
    int input;
    scanf_s("%d", &input);

    if(input > 0)
        printf("入力は正の数です。\n");
    else if(input < 0)
        printf("入力は負の数です。\n");
    else
        printf("入力は0です。\n");

    return 0;
}

switch文

switch文は

switch(【分岐用変数】)
{
case 1:【変数の値が1のとき実行される処理】; break;
case 2:【変数の値が2のとき実行される処理】; break;
…
default:【変数の値がどれにも一致しないときの処理】; break;
}

このように使います。
caseの後の値には文字なども使うことができます。
break文を書かないと、該当するcase以下全ての文が実行されます。

以下がサンプルです。

#include <stdio.h>

int main(void)
{
    int input;
    scanf_s("%d", &input);

    switch(input)
    {
        case 0:
            printf("0のときの処理");
            break;
        case 1:
            printf("1のときの処理");
            break;
        case 2:
            printf("2のときの処理");
            break;
        defalut:
            printf("それ以外の処理");
            break;
    }
    return 0;
}

三項演算子

if文の省略形です。

【条件式】 ? 【条件が真のときの処理】 : 【条件が偽のときの処理】;

演算子なので引数としても使うことができます。

#include <stdio.h>

int main(void)
{
    int input;
    int a;
    scanf_s("%d", &input);

    a = input > 0 ? input : -input;
    
    printf("a = %d\n", a);
    
    return 0;
}

このように使うと、inputが正ならばそのまま、負ならば-をつけて代入しています。
これは絶対値の処理ですね。



「分岐処理」への3件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です