Leçon 11 : Opérateurs Relationnels et Logiques
Ces opérateurs sont cruciaux pour la prise de décision (flux de contrôle).
Opérateurs relationnels
Les opérateurs relationnels comparent deux valeurs et renvoient un résultat booléen (en C, 0 pour Faux, et une valeur non nulle, généralement 1, pour Vrai).
| Opérateur | Description | Exemple |
|---|---|---|
== | Égalité (Est égal à) | x == y |
!= | Inégalité (Est différent de) | x != y |
> | Supérieur à | x > y |
< | Inférieur à | x < y |
>= | Supérieur ou égal à | x >= y |
<= | Inférieur ou égal à | x <= y |
Attention : Une erreur classique consiste à utiliser un seul signe égal (=) (affectation) au lieu du double égal (==) (comparaison). Cette erreur entraîne souvent des bugs où l'affectation elle-même renvoie une valeur non nulle (Vrai).
Opérateurs logiques
Les opérateurs logiques permettent de combiner deux ou plusieurs expressions relationnelles.
| Opérateur | Description | Exemple |
|---|---|---|
&& | ET logique | (age > 18) && (est_citoyen) (Vrai si les deux sont vrais) |
| ` | ` | |
! | NON logique | !(il_pleut) (Inverse la valeur booléenne) |
Évaluation en court-circuit
Le C utilise l'évaluation en court-circuit pour && et || :
- Dans
E1 && E2, si E1 est Faux (0), E2 n'est jamais évalué. - Dans
E1 || E2, si E1 est Vrai (non nul), E2 n'est jamais évalué. Cela optimise les performances et évite les effets secondaires dans la seconde expression si la première suffit à déterminer le résultat.