|
|
|
| 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