C言語の条件演算子を完全マスター!5つのステップでプログラミングスキルが進化する!

C言語の条件演算子を使いこなす方法を解説する画像C言語
この記事は約5分で読めます。

※本記事のコンテンツは、利用目的を問わずご活用いただけます。実務経験10000時間以上のエンジニアが監修しており、基礎知識があれば初心者にも理解していただけるように、常に解説内容のわかりやすさや記事の品質に注力しております。不具合・分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。(理解できない部分などの個別相談も無償で承っております)
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

本日は、C言語の条件演算子を完全にマスターするための5つのステップをご紹介します。

この記事では、初心者から上級者まで、C言語の条件演算子の基本から詳細な使い方、注意点、カスタマイズ方法まで学べます。

豊富なサンプルコードとともに解説していきますので、ぜひ最後までお読みください。

●C言語とは

C言語は、1970年代初めにベル研究所のデニス・リッチーによって開発された汎用プログラミング言語で、オペレーティングシステムや組み込みシステムの開発に広く用いられています。

シンプルな文法と高い効率性が特徴で、さまざまな言語の設計に影響を与えています。

●条件演算子の基本

条件演算子は、C言語における三項演算子で、その書き方は「条件 ? 式1 : 式2」です。

この演算子は、条件を評価し、その結果が真(非ゼロ)ならば式1を、偽(ゼロ)ならば式2を評価し、その結果を返します。

非常に短くて読みやすいコードを書くのに役立つツールです。

●条件演算子の詳細な使い方

○条件演算子の書き方と読み方

まず、基本的な書き方と読み方について詳しく見ていきましょう。

条件演算子は「条件 ? 式1 : 式2」の形を取ります。

ここで「条件」は評価され、真の場合には「式1」が、偽の場合には「式2」が評価されます。

○サンプルコード1:基本的な条件演算子の使い方

ここでは、基本的な条件演算子の使い方を紹介します。

この例では、変数aが10より大きいかどうかを評価し、それに応じて異なる文字列を出力します。

#include <stdio.h>

int main(void) {
    int a = 15;
    printf("%s", a > 10 ? "aは10より大きいです" : "aは10以下です");
    return 0;
}

このコードを実行すると、「aは10より大きいです」と出力されます。

なぜなら、aの値(15)は10より大きいからです。

○サンプルコード2:多重の条件演算子を使う

条件演算子は、必要に応じてネスト(入れ子)することも可能です。

下記の例では、変数bの値に応じて、3つの異なる文字列を出力します。

#include <stdio.h>

int main(void) {
    int b = 15;
    printf("%s", b > 20 ? "bは20より大きいです" : (b > 10 ? "bは10より大きく、20以下です" : "bは10以下です"));
    return 0;
}

このコードを実行すると、「bは10より大きく、20以下です」と出力されます。

なぜなら、bの値(15)は10より大きく、20以下だからです。

●条件演算子の注意点

○サンプルコード3:演算子の優先順位に注意する

C言語における演算子はそれぞれに優先順位があり、これがコードの評価順序に影響します。

条件演算子の優先順位は比較的低く、他の多くの演算子より後に評価されます。

つまり、他の演算子と一緒に使う場合、適切な括弧を使って明示的に評価の順序を指定することが重要です。

#include <stdio.h>

int main(void) {
    int c = 5;
    printf("%d\n", c > 3 ? 5 + 3 : 1);
    printf("%d\n", c > 3 ? (5 + 3) : 1);
    return 0;
}

最初のprintf関数では、条件演算子の結果に3が加算されますが、2番目のprintf関数では、5と3が先に加算され、その結果が条件演算子の一部として評価されます。

そのため、出力結果はそれぞれ8と8となります。

●条件演算子のカスタマイズ方法

○サンプルコード4:条件演算子をカスタマイズする

条件演算子は、多様な条件を効率的に評価するための便利なツールですが、その使い方をカスタマイズすることで、さらに多様なシナリオに対応することができます。

次の例では、条件演算子を用いて3つの整数の最大値を計算します。

#include <stdio.h>

int main(void) {
    int x = 5, y = 10, z = 7;
    int max = x > y ? (x > z ? x : z) : (y > z ? y : z);
    printf("最大値は%dです\n", max);
    return 0;
}

このコードを実行すると、「最大値は10です」と出力されます。

この例では、x、y、zの3つの変数の中から最大の値を見つけています。

●条件演算子の応用例

○サンプルコード5:条件演算子を使ったプログラム例

最後に、実際のプログラムにおいて条件演算子がどのように使用されるかの一例を紹介します。

次の例では、整数が偶数か奇数かを判定します。

#include <stdio.h>

int main(void) {
    int num = 7;
    printf("%dは%sです\n", num, num % 2 == 0 ? "偶数" : "奇数");
    return 0;
}

このコードを実行すると、「7は奇数です」と出力されます。

この例では、条件演算子を使って整数の偶数・奇数を簡潔に判断しています。

まとめ

以上、C言語の条件演算子の基本から詳細な使い方、注意点、カスタマイズ方法までを解説しました。

C言語の条件演算子は非常に強力なツールであり、状況に応じて柔軟に利用することで効率的なコードを書くことができます。

この記事が、皆様のC言語におけるプログラミングスキルの向上に役立つことを願っています。