Expressions et évaluation des expressions
Une expression représente une donnée qui possède une valeur. On parle d'évaluation d'une expression.
Une expression peut être simplement un identificateur de constante, un identificateur de variable, ou un littéral constant. Elle peut être également un ensemble d'identificateurs de constantes, de variables, ou des littéraux constants reliés par des opérateurs.
Ces opérateurs peuvent être des opérateurs binaires qui nécessitent deux opérandes (comme le +) ou des opérateurs unaires qui travaillent sur un unique opérande.
20.6 // un littéral constant de type float
3 + 5 // deux littéraux constants de type int reliés par l'opérateur d'addition +
'b' // un littéral constant de type char truc + machin
// deux identificateurs (constantes ou variables) reliés par l'operateur '+'
5 * (2 + 8 / 3) // une expression plus complexe.
Dans une expression, nous pouvons ainsi avoir plusieurs opérateurs. Ces opérateurs n'ont pas le même ordre de priorité. Par exemple l'expression 5*3+2, correspond au calcul de 5*3 (on obtient un résultat intermédiaire qui est 15) puis on ajoute 2.
L'expression s'évalue donc à 17. Il est important de connaître les priorités entre les opérateurs (quel opérateur est appliqué avant quel autre).
Nous allons présenter les opérateurs et leurs priorités. Cependant nous vous conseillons d'ores et déjà d'utiliser des parenthèses pour mettre en évidence l'ordre de calcul que vous souhaitez. En effet, (5*3)+2 ou 5*(3+2) sont des expressions plus claires à comprendre que 5*3+2. L'utilisation de parenthèses affirme l'ordre des calculs souhaités.
Nous retrouvons généralement les expressions à droite d'un opérateur d'affectation. Ce n'est cependant pas toujours le cas, comme nous le verrons les chapitres suivants.