Expressions logiques

(+)

Les expressions logiques utilisent les opérateurs relationnels (ou conditionnels) et des connecteurs logiques pour former une nouvelle valeur booléenne, 0 pour signifier vrau (true) ou 1 pour signifier faux (false). Les connecteurs logiques associent 2 calculs logiques pour former une nouvelle valeur logique.

Les opérateurs logiques utilisés en C :

OpérateurExempleValeur calculéePriorité
==3 == 20, ou false6
!=3 != 21, ou true6
<3 < 20, ou false5
<=3 <= 20, ou false5
>3 > 21, ou true5
>=3 >= 21, ou true5

La priorité définit l'ordre dans lequel les calculs seront réalisés. A prioriyé égale, l'évaluation se fait de la gaucje vers la droite. Les jeux de parenthèses, niveau de priorité 1, la plus forte, permettent également de définir la séquence d'évaluation (et parfois de rendre les expressions de calcul plus claires !) :

Les connecteur logiques utilisés en C :

0 && 1
ConnecteurExempleValeur calculéePriorité
&&0, ou false7
||0 || 11, ou true8
!! 00, ou false2

Programme  

  1. /* fonction principale */
  2. int main()
  3. {
  4.  /* déclarations */
  5.  int a = -2; ▶Déclaration de la variable 'a' de type entier.
    Sa valeur est -2.
    (+)
  6.  int b = 3; ▶Déclaration de la variable 'b' de type entier.
    Sa valeur est 3.
    (+)
  7.  int c = 6; ▶Déclaration de la variable 'c' de type entier.
    Sa valeur est 6.
    (+)
  8.  /* expressions logiques élémentaires */
  9. (a < 0); ▶Comparaison de la valeur de 'a' à 0 : -2 est-il plus petit que 0 ? Le résultat de cette expression est 1 (ou true), c'est à dire vrai.(+)
  10. (a >= b); ▶Comparaison de la valeur de 'a' à celle de 'b' : -2 est-il plus petit que 3 ? Le résultat de cette expression est 0 (ou false), c'est à dire faux.(+)
  11. (a == b); ▶Comparaison de la valeur de 'a' à celle de 'b' : -2 est-il égal à 3 ? Le résultat de cette expression est 0 (ou false), c'est à dire faux.(+)
  12. ((b - c) > a); ▶Comparaison de la valeur de b moins celle de c à celle de a : (3 - 6) est-il plus grand que -2 ? Le résultat de cette expression est 0 (ou false), c'est à dire faux.(+)
  13.  /* expressions logiques avec connecteurs logiques */
  14. (a < b) && (b < c) ; ▶'a' est-il plus petit que b ET b est-il plus petit que c ? (+)
  15. (a ≥ b) && (b < c) ; ▶'a' est-il plus petit que b ET b est-il plus petit que c ?(+)
  16. (a < b) || (b < c) ; ▶'a' est-il plus petit que b ET b est-il plus petit que c ?(+)
  17. (a ≥ b) || (b < c) ; ▶'a' est-il plus petit que b ET b est-il plus petit que c ?(+)
  18.  /* fin de la fonction */
  19.  return 0;
  20. }

Mémoire des variables