4.2 Operators
There are three types of operators. A unary expression consists of either a unary operator prepended to an operand, or the sizeof keyword followed by an expression. The expression can be either the name of a variable or a cast expression. If expression is a cast expression, it must be enclosed in parentheses. A binary expression consists of two operands joined by a binary operator. A ternary expression consists of three operands joined by the ternary operator. C includes the following unary operators:
– ~ ! |
Negation and complement operators |
* & |
Indirection and address-of operators |
sizeof |
Size operator |
+ |
Unary plus operator |
++ –– |
Unary increment and decrement operators |
Binary operators associate from left to right. C provides the following binary operators:
* / % |
Multiplicative operators |
+ – |
Additive operators |
<< >> |
Shift operators |
< > <= >= == != |
Relational operators |
& | ^ |
Bitwise operators |
&& || |
Logical operators |
, |
Sequential-evaluation operator |
:> |
Base operator |
Expressions with operators also include assignment expressions, which use unary or binary assignment operators. The unary assignment operators are the increment (++) and decrement (––) operators; the binary assignment operators are the simple-assignment operator (=) and the compound-assignment operators. Each compound-assignment operator is a combination of another binary operator with the simple-assignment operator.