Độ ưu tiên toán tử (operator precedence) xác định cách nhóm các hạng tử trong một biểu thức. Tính kết hợp (associativity) của một toán tử là thuộc tính xác định cách các toán tử cùng độ ưu tiên được nhóm khi không có dấu ngoặc. Điều này ảnh hưởng đến cách biểu thức được đánh giá. Một số toán tử có độ ưu tiên cao hơn các toán tử khác; ví dụ, toán tử nhân có độ ưu tiên cao hơn toán tử cộng:
Ví dụ: x = 7 + 3 * 2; ở đây, x được gán 13, không phải 20 vì toán tử * có độ ưu tiên cao hơn +, nên nó nhân 3*2 trước rồi mới cộng vào 7.
Dưới đây là bảng độ ưu tiên toán tử, từ cao nhất (đầu bảng) xuống thấp nhất (cuối bảng). Trong một biểu thức, toán tử độ ưu tiên cao hơn sẽ được đánh giá trước.
| Nhóm | Toán tử | Tính kết hợp |
|---|---|---|
| Hậu tố (Postfix) | () [] -> . ++ -- | Trái sang phải |
| Đơn ngôi (Unary) | + - ! ~ ++ -- (type)* & sizeof | Phải sang trái |
| Nhân chia (Multiplicative) | * / % | Trái sang phải |
| Cộng trừ (Additive) | + - | Trái sang phải |
| Dịch bit (Shift) | << >> | Trái sang phải |
| Quan hệ (Relational) | < <= > >= | Trái sang phải |
| Bằng nhau (Equality) | == != | Trái sang phải |
| Bitwise AND | & | Trái sang phải |
| Bitwise XOR | ^ | Trái sang phải |
| Bitwise OR | | | Trái sang phải |
| Logic AND | && | Trái sang phải |
| Logic OR | || | Trái sang phải |
| Điều kiện (Conditional) | ?: | Phải sang trái |
| Gán (Assignment) | = += -= *= /= %= >>= <<= &= ^= |= | Phải sang trái |
| Dấu phẩy (Comma) | , | Trái sang phải |