Aller au contenu

Les opérateurs logiques

"Les opérateurs logiques sont la colle qui relie plusieurs conditions."

Un développeur logique

Qu’est-ce qu’un opérateur logique ?

Les opérateurs logiques permettent de combiner plusieurs conditions.
Ils retournent true ou false en fonction du résultat global de la combinaison.

Ils sont très utiles dans les structures if, while, ou switch.


Opérateurs logiques en C

Opérateur Nom Utilisation Résultat
&& ET logique true && truetrue Les deux doivent être vrais
|| OU logique true || falsetrue Un seul suffit à être vrai
! NON logique !truefalse Inverse la condition

Exemples simples

int age = 20;
bool majeur = age >= 18 && age <= 65; // true

bool etudiant = true;
bool tarifReduit = etudiant || age < 12; // true

bool admin = false;
bool acces = !admin; // true ➜ car admin est false

Priorité des opérateurs logiques

Les opérateurs logiques arrivent après les opérateurs arithmétiques et après les opérateurs relationnels.

Ordre de priorité logique (du plus fort au plus faible)

  1. ! ➜ NON logique
  2. && ➜ ET logique
  3. || ➜ OU logique

Cela signifie que C# commence par appliquer les négations, puis les &&, puis les ||.

Exemple simple

bool r = true || false && false;
// false && false = false
// true || false = true

Importance des parenthèses

Les parenthèses permettent d’organiser des conditions complexes :

bool a = (true || false) && false; // false
bool b = !(true && false);         // true

Short-circuit : optimisation intégrée

C# utilise une évaluation dite court-circuitée :

  • Avec &&, si la première condition est false, C# n’évalue pas la suite
  • Avec ||, si la première condition est true, C# n’évalue pas la suite
bool test = false && (10 / 0 == 0); // OK : 10/0 n'est jamais évalué
bool test2 = true || (10 / 0 == 0); // OK : même chose

⚠️ Erreurs fréquentes

  • ❌ Oublier les parenthèses dans les conditions complexes
  • ❌ Confondre & (bit-à-bit) et && (logique)
  • ❌ Utiliser || quand on veut que toutes les conditions soient vraies
  • ❌ Négliger les priorités entre les comparaisons et les logiques
  • ❌ Ne pas utiliser ! correctement ➜ penser à lire la négation à l’envers

Quiz

Testez vos connaissances ! 📝 Clique sur chaque question pour découvrir la réponse.

1️⃣ Que signifie l’opérateur && ?

A. Ou logique
B. Et logique
C. Négation
D. Et bit-à-bit
E. Ou exclusif

✅ Afficher la réponse
Réponse B: && signifie "ET logique" ➜ les deux conditions doivent être vraies.

2️⃣ Quelle est la valeur de cette expression ?
true || false && false

A. true
B. false
C. Erreur
D. true && false
E. undefined

✅ Afficher la réponse
Réponse A: false && false = false, puis true || false = true

3️⃣ Quel est le résultat de !(5 < 10) ?

A. true
B. false
C. 5
D. 10
E. erreur

✅ Afficher la réponse
Réponse B: 5 < 10 est true ➜ !true devient false.

4️⃣ Quelle condition permet d’accorder un accès à une personne majeure ET membre ?

A. age >= 18 || membre == true
B. age < 18 && membre == true
C. age >= 18 && membre == true
D. membre == false || age < 18
E. age >= 18 && !membre

✅ Afficher la réponse
Réponse C: Il faut que la personne soit majeure ET membre.

5️⃣ Quel est l’effet de !true || false ?

A. true
B. false
C. erreur
D. !false
E. undefined

✅ Afficher la réponse
Réponse B: !true = false, donc false || false = false

--

Navigation

Introduction Opérateurs d'affectation Opérateurs de calcul Opérateurs relationnels Opérateurs logiques Travail pratique


Pour aller plus loin