- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- 授業/C言語基礎/条件演算子 へ行く。
if文による場合分け †
絶対値は、次のような式で表されます。 \[|x|=\cases{x&\text{if $x \ge 0$}\\-x&\text{それ以外}}\]
これまでは、これをif文で次のように書きました。
if (x >= 0) { a = x; } else { a = -x; }
このような条件によって代入する値を変えるという処理は、よく出てきます。 しかし、if文による場合分けでは、左辺の変数を何度も書かなければなりません。
そこで、場合分けを行って代入するときに代入先の変数を何度も書かなくてもいいように、また、読みやすいプログラムが書けるように、条件演算子が用意されています。
条件演算子による場合分け †
条件演算子は、3つの項(オペランド)に対して作用する3項演算子です。
条件 ? 式1 : 式2
条件演算子は、条件が満たされるとき、式1を評価し、そうでないとき、式2を評価します。
優先順位 | 演算子 | 使用例 | 意味 |
14 | ?と: | a ? b : c | 条件 |
通常は、次のような使い方をします。
a = ((x >= 0) ? x : -x);
代入演算子 = の優先順位は条件演算子よりも低く、関係演算子 >= の優先順位は条件演算子よりも高いので、丸括弧 ( ) はなくても構いません。
a = x >= 0 ? x : -x;
ですが、読みやすいように、括弧をつけておきましょう。