Précédence des opérateurs

Les opérateurs, lorsqu’ils sont combinés dans une même expression, sont évalués dans un certain ordre. Nous avons déjà dit par exemple que a+b*c équivalait à a+(b*c) et non à (a+b)*c car la multiplication est prioritaire par rapport à l’addition.

D’autre part, les opérateurs non symétriques exigent un ordre précis d’évaluation, soit de droite à gauche, soit de gauche à droite. Par exemple, a/b/c doit se lire (a/b)/c car la division est évaluée de gauche à droite.

Nous donnons en annexe l’ordre de priorité des opérateurs. Ils sont répartis en seize groupes. À l’intérieur de chaque groupe, l’ordre de circulation gauche-droite ou droite-gauche précisé s’applique. Par exemple, * et / sont dans le même groupe (précédence 12) avec la circulation gauche-droite ; donc l’expression a*b/c*d doit se lire ((a*b)/c)*d. Les groupes de numéros plus petits ont la plus forte priorité. Dans le doute, il est largement préférable de mettre des parenthèses.

Exercice 2.9

Que signifie l’écriture suivante :

z = y+++x;

Voir solution
Exercice 2.10

Pour quelles valeurs de x l’instruction instruction sera-t-elle exécutée ?

if (0 < x < 100) instruction;
Voir solution
Précédent Précédent Sommaire Sommaire Suivant Suivant