本記事ではC言語の三項演算子について解説します。(別名:条件演算子

筆者は以前まで「if文」「switch文」でしか条件分岐を書けませんでした。
しかし、三項演算子を覚えたことで、より短く簡潔にプログラムを書くことができました。

そんな三項演算子について書き方から主な使い方まで解説します。

C言語に関する解説をまとめています。
>C言語解説まとめ!

目次

三項演算子の書き方

三項演算子の書き方は

条件式 ? 成立した時の処理 : 成立しなかった時の処理

です。

例えば次のような「if文」があったとします。

if(a){
b;
}else{
c;
}

これを三項演算子に直すと、

a ? b : c

になります。

三項演算子の使い方

具体的な使い方として、偶数と奇数を判別するプログラムを書いてみます。

#include<stdio.h>
int main(void){

int num;
scanf(“%d”,&num);

puts( num%2==0 ? “偶数”:”奇数” );

return 0;
}

これを実行すると

このようにしっかりと条件分岐を行えています。

上記のプログラムのように「puts関数」「printf関数」中に入れて使うことも多いかもしれません。

if文を書くよりも簡潔になっているので、プログラム全体が短くなっています。

「if文」で言うところの「else if」のような使い方をすることもできます。

例えば、「0」か「正」か「負」かを判定するプログラムを書いてみます。

#include<stdio.h>
int main(void){

int num;
scanf(“%d”,&num);

puts( num>0 ? “正” : num<0 ? “負” : “0” );

return 0;
}

puts関数のところを見てみると、
「numが0より大きかったら”正”を出力する。そうでなかったら次の条件式の判定に行く。
 numが0より小さかったら”負”を出力する。そうでなかったら”0”を出力する。」

という「else if」のような文を作ることができています。

実行してみると、

このようにしっかりと条件分岐を行うことができています。

三項演算子を使うメリット

三項演算子を使うメリットはズバリ、プログラムを簡潔に書けることです。

「if文」を使うと3〜5行かかるようなことでも、1行で書き切ることができます。

しかし、ほとんどの人は基本的に「if文」を使いますし、その方が理解しやすいかもしれません。

誰かと共同でプログラミングする際は、相手が分かりやすいように工夫しましょう。

いろいろな状況を加味して、条件式を1行で書いた方がいいなと言う時には、ぜひ三項演算子を活用してみてください!

最後に

最後まで読んでいただきありがとうございます!

本記事ではC言語における三項演算子について解説しました。

条件式の書き方などに困っている人の参考になれば嬉しいです!

C言語に関する解説をまとめています。
>C言語解説まとめ!