本記事では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言語解説まとめ!