| Precedence | Operator | Description | Associativity |
|---|---|---|---|
| 1 | () [] → . ++ — | Parentheses, Brackets, Arrow, Dot, Increment, Decrement | Left to right |
| 2 | ! ~ ++ — + - * & sizeof (type) | Logical NOT, Bitwise NOT, Increment, Decrement, Unary Plus, Unary Minus, Dereference, Address-of, Size of | Right to left |
| 3 | * / % | Multiplication, Division, Modulus | Left to right |
| 4 | + - | Addition, Subtraction | Left to right |
| 5 | << >> | Bitwise Left Shift, Bitwise Right Shift | Left to right |
| 6 | < ⇐ > >= | Less than, Less than or equal to, Greater than, Greater than or equal to | Left to right |
| 7 | == != | Equal to, Not equal to | Left to right |
| 8 | & | Bitwise AND | Left to right |
| 9 | ^ | Bitwise XOR | Left to right |
| 10 | | | Bitwise OR | Left to right |
| 11 | && | Logical AND | Left to right |
| 12 | || | Logical OR | Left to right |
| 13 | ?: | Conditional operator | Right to left |
| 14 | = += -= *= /= %= &= ^= |= <⇐ >>= | Assignment operators | Right to left |
| 15 | , | Comma | Left to right |
These operators are arranged in order of precedence, from the highest to the lowest. The table also includes descriptions of each operator and their associativity (whether they are left-to-right or right-to-left associative).