さまざまな演算子(その2)
比較演算子
比較演算子には次のような種類があります。これらはおもに後述のif文の制御式やfor文、
不等号演算子 | < <= > >= |
等非等号演算子 | == != |
A < B | AがBより小さければ真 |
A <= B | AがB以下ならば真 |
A > B | AがBより大きければ真 |
A >= B | AがB以上ならば真 |
A == B | AがBに等しければ真 |
A != B | AがBに等しくなければ真 |
C言語では比較演算子もあくまで演算子であり、
論理関係演算子
論理関係演算子には次のような種類があります。これらはおもに、
論理AND演算子 | && |
論理OR演算子 | ¦¦ |
否定演算子 | ! |
A && B | Aが真かつBが真ならば真 |
A ¦¦ B | Aが真またはBが真ならば真 |
!A | Aが偽ならば真 |
ビット論理演算子
値を2進数として考え、
ビットAND演算子 | & |
ビットOR演算子 | ¦ |
ビットXOR演算子 | ^ |
ビットNOT演算子 | ~ |
ビット論理演算子の中のビットAND演算子(&)やビットOR演算子(¦)は、
演算子の優先順位
C言語には、
これらの演算子には優先順位があり、
() [] . -> var++ var-- |
++var --var ! ~ +(符号) -(符号) *(ポインタ) &(アドレス) sizeof |
(int)(キャスト) |
*(乗算) / % |
+(加算) -(減算) |
<< >> |
< <= > >= |
== != |
&(ビットAND) |
^(ビットXOR) |
¦ |
&& |
¦¦ |
? : |
= += -= *= /= %= <<= >>= &= ^= ¦= |
,(順次演算子) |
- ※
- + - * & は、
同じ記号が文脈によって別の演算子として使用されているので注意