logo

C の条件演算子または三項演算子 (?:)

C の条件演算子 これは、if-else ステートメントと同じアルゴリズムに従うため、if-else ステートメントに似ていますが、条件演算子は必要なスペースが少なく、可能な限り最短の方法で if-else ステートメントを作成するのに役立ちます。としても知られています Cの三項演算子 3 つのオペランドで動作するためです。

C の条件演算子/三項演算子の構文

条件演算子は次の形式で使用できます。



 variable = Expression1  ?  Expression2  :  Expression3 ;>

または、構文は次の形式にすることもできます

 variable = (condition)  ? Expression2  :  Expression3 ;>

または、構文はこの形式にすることもできます

 (condition)  ?  (variable = Expression2)  :  (variable = Expression3) ;>
C の条件演算子または三項演算子

C の条件演算子/三項演算子



キャメルケースパイソン

これは、次のように if-else ステートメントとして視覚化できます。

if(Expression1) { variable = Expression2; } else { variable = Expression3; }>

条件演算子「?:」は 3 つのオペランドを必要とするため、これらは次のように呼ばれます。 三項演算子

注: 三項演算子の優先順位は 3 番目に低いため、不適切な演算子の優先順位管理によるエラーを回避できるような式を使用する必要があります。



C の条件演算子/三項演算子の働き

C の条件演算子の動作は次のとおりです。

    ステップ 1: Expression1 は評価される条件です。ステップ 2A: 条件 ( 式1 ) は True です 式2 実行されます。ステップ 2B : 条件 ( 式1 ) は false です 式3 実行されます。ステップ 3: 結果が返されます。

C の条件演算子/三項演算子のフローチャート

動作をよりよく理解するには、以下に示す条件演算子のフローチャートを分析します。

C の条件/三項演算子のフローチャート

C の条件演算子/三項演算子のフローチャート

C の三項演算子の例

例 1: 三項演算子を使用して 2 つの数値の最大値を格納する C プログラム

C




// C program to find largest among two> // numbers using ternary operator> > #include> > int> main()> {> >int> m = 5, n = 4;> > >(m>ん)?>>printf>(>'m is greater than n that is %d>%d'>>,> >m, n)> >:>printf>(>'n is greater than m that is %d>%d'>>,> >n, m);> > >return> 0;> }>

>

>

出力

m is greater than n that is 5>4>> 

例 2: 三項演算子を使用して年がうるう年かどうかをチェックする C プログラム

C




// C program to check whether a year is leap year or not> // using ternary operator> > #include> > int> main()> {> >int> yr = 1900;> > >(yr%4==0) ? (yr%100!=0?>printf>(>'The year %d is a leap year'>,yr)> >: (yr%400==0 ?>printf>(>'The year %d is a leap year'>,yr)> >:>printf>(>'The year %d is not a leap year'>,yr)))> >:>printf>(>'The year %d is not a leap year'>,yr);> >return> 0;> }> > //This code is contributed by Susobhan AKhuli>

>

出力

The year 1900 is not a leap year>

結論

C の条件演算子または三項演算子は、通常、条件に基づいて変数に値を割り当てるなど、短い条件コードが必要な場合に使用されます。より大きな条件でも使用できますが、プログラムが非常に複雑になり、読みにくくなります。

C の条件演算子/三項演算子に関する FAQ

1. C の三項演算子とは何ですか?

C の三項演算子は、3 つのオペランドに作用する条件演算子です。これは if-else ステートメントと同様に機能し、指定された条件に基づいてコードを実行します。条件演算子とも呼ばれます

2. 条件演算子の利点は何ですか?

条件とステートメントが小さい場合、コード行が削減されます。