C/C++の三項演算子(条件演算子)の基本と使い方をわかりやすく解説
C/C++における三項演算子(条件演算子)は、条件に応じて2つの値のどちらか一方を返すための演算子です。if-else文を1行で簡潔に書きたい場合などに活用されます。
三項演算子の構文
三項演算子の基本的な構文は以下のとおりです。
(式1) ? 式2 : 式3
この演算子は、式の評価結果に応じて2つの値のいずれかを返します。まず「式1」が評価され、その結果がブール値の true(真) であれば「式2」が評価され、その値が最終的な結果として返されます。逆に false(偽) であれば「式3」が評価され、その値が返されます。
サンプルプログラム:2つの数値の最大値を求める
ここでは、三項演算子を使って2つの整数のうち大きい方の値を求めるプログラムを紹介します。
#include <iostream>
using namespace std;
int main() {
int a = 10;
int b = 20;
int max = a > b ? a : b;
cout << "Maximum value = " << max << "\n";
return 0;
}構文との対応関係
上記のサンプルコードを三項演算子の構文と照らし合わせると、次のように対応しています。
- 式1:
(a > b) - 式2:
a - 式3:
b
処理の流れ
まず、式 a > b が評価されます。変数 a の値(10)は変数 b の値(20)より小さいため、この比較結果はブール値の false になります。したがって、「式3」である変数 b の値、つまり 20 が最終的な結果として返され、変数 max に代入されます。
実行結果
上記のコードをコンパイルして実行すると、次のような出力が得られます。
Maximum value = 20
まとめ
三項演算子は、単純な条件分岐を短く記述できる便利な演算子です。ただし、複雑な条件やネストした分岐に乱用すると可読性が低下するため、シンプルな条件判定の場面で使うのがおすすめです。if-else文との使い分けを意識することで、より読みやすいコードを書くことができます。
-
C++の三項演算子(条件演算子 ? :)とは?基本の仕組みと使い方を解説
三項演算子(条件演算子 ? :)とは C++における条件演算子(? :)は、3つのオペランド(被演算子)を受け取ることから「三項演算子」と呼ばれています。簡単な条件分岐をif文を使わずに1行で記述できるため、コードを簡潔にしたい場面でよく使われる演算子です。 条件演算子の動作の流れ 条件演算子は次のような手順で動作します。 第1オペランドは暗黙的にbool型へ変換されます。評価が行われ、すべての副作用が完了してから処理が続行されます。 第1オペランドがtrue(1)と評価された場合、第2オペランドが評価されます。 第1オペランドがfalse(0)と評価された場合、第3オペランドが評価されま
-
C#の三項演算子(条件演算子)の使い方を解説
C#における三項演算子は、条件演算子とも呼ばれる演算子です。3つのオペランドを受け取り、ブール式(真偽値)を評価した結果に応じて、いずれか一方の値を返します。if-else文を1行で簡潔に記述できるため、条件分岐のコードを読みやすくしたい場面でよく使われます。三項演算子の基本構文b = (a == 1) ? 20 : 30;この式の動作は以下のとおりです。最初のオペランド (a == 1) の評価結果がtrue(真)の場合 → 2番目のオペランド 20 が返される最初のオペランドの評価結果がfalse(偽)の場合 → 3番目のオペランド 30 が返されるサンプルプログラム実際に三項演算子を使っ