| 
       | 
      
       | 
    
| Postfixé | [] . (params) expr++ expr-- | 
| Unaire | ++expr --expr +expr -expr ~ ! | 
| Conversion | (type)expr | 
| Multiplicatif | * / % | 
| Additif | + - | 
| Décalage | << >> | 
    
| Relationnel | < > >= <= | 
    
| Test d'égalité | == != | 
| Et bit à bit | & | 
| Ou bit à bit exclusif | ^ | 
| Ou bit à bit inclusif | | | 
| Et logique | && | 
| Ou logique | || | 
| Conditionnel | ?: | 
| Affectation | = += -= *= /= %= >>= <<= &= ^= |= | 
Les opérateurs sont classés par ordre de
priorité.
Les opérateurs binaires sont tous associatifs à gauche,
sauf
l'affectation.
Les opérateurs à effet de bord, comme ++ ne doivent
pas être utilisées lors de l'appel de fonctions car
l'ordre
d'évaluation des paramètres est indéfini. Voir test_effet_bord.c.
$ test_effet_bord 
2 1
Le type des opérandes influe sur la nature de
l'opération et son résultat. Certaines conversions sont
également faites de façon implicite. Voir test_types2.c.
$ test_types2 
0.000000 0.666667 0.666667