サイトマップ / C言語講座出入り口総目次目次:流れの制御>三項演算子(1)

青い直線

三項演算子(1)

青い直線

[switch - case 文による分岐]←このソース→[三項演算子(2)]

/* 三項演算子 */

/* 今日は、三項演算子(?:演算子)について学びます。条件が真なら処理1を、偽なら処理2を行います。

    条件? 処理1:処理2;
これは、
    if ( 条件 )
        処理1;
    else
        処理2;
と同じです。

しかし、三項演算子を使えばコンパクトなコードを書くことができます。

例えば、

    int IAbs(int x)
    {
        return ((x >= 0)?  x : -x)
    }

この関数は x の絶対値を返します。次の例は大きい方の値を返します。

    int Max(int x, int y)
    {
        return ((x >= y)?  x : y)
    }

次の例は、x が偶数(even)か奇数(odd)か表示します。

    void Parity(int x)
    {
        printf("%s", (x % 2)? "奇数" : "偶数");
    }

ソースプログラムの説明

今日のソースプログラムは、キーボードから、数字を入力すると、絶対値と偶数か奇数かを表示します。 */

/* ここからソースプログラム */

#include  <stdio.h>

int IAbs(int x);
void Parity(int x);
void main(void);

    /* 絶対値を返す */
int IAbs(int x)
{
    return ((x >= 0)?  x : -x);
}

    /* 奇数か偶数かを表示する */
void Parity(int x)
{
    printf("%s", (x % 2)? "奇数" : "偶数");
}

void main(void)
{
    int n;

    printf("整数を入力して下さい  ");
    scanf("%d", &n);
    printf("その数の絶対値は %d です。\n", IAbs(n));
    printf("それは");
    Parity(n);
    printf("です。");
}

/* ここまでソースプログラム */

[switch - case 文による分岐]←このソース→[三項演算子(2)]

青い直線

/* (C) 2000- YFプロ. All Rights Reserved. */    提供:C言語講座−それ自体コンパイルできる教材を使った講座です−

青い直線

サイトマップ / C言語講座出入り口総目次目次:流れの制御>三項演算子(1)