Les opérateurs logiques
"Les opérateurs logiques sont la colle qui relie plusieurs conditions." ✨
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 && true ➜ true |
Les deux doivent être vrais |
|| |
OU logique | true || false ➜ true |
Un seul suffit à être vrai |
! |
NON logique | !true ➜ false |
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
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)
!➜ NON logique&&➜ ET logique||➜ 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
&& ?
B. Et logique
C. Négation
D. Et bit-à-bit
E. Ou exclusif
✅ Afficher la réponse
&& signifie "ET logique" ➜ les deux conditions doivent être vraies.
2️⃣ Quelle est la valeur de cette expression ?
true || false && false
B. false
C. Erreur
D. true && false
E. undefined
✅ Afficher la réponse
false && false = false, puis true || false = true
3️⃣ Quel est le résultat de
!(5 < 10) ?
B. false
C. 5
D. 10
E. erreur
✅ Afficher la réponse
5 < 10 est true ➜ !true devient false.
4️⃣ Quelle condition permet d’accorder un accès à une personne majeure ET membre ?
B. age < 18 && membre == true
C. age >= 18 && membre == true
D. membre == false || age < 18
E. age >= 18 && !membre
✅ Afficher la réponse
5️⃣ Quel est l’effet de
!true || false ?
B. false
C. erreur
D. !false
E. undefined
✅ Afficher la réponse
!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
-
Microsoft Learn – Opérateurs logiques en C#
Référence complète sur les opérateurs&&,||,!avec règles de priorité et exemples. -
Microsoft Learn – Types booléens et expressions conditionnelles
Introduction à l’utilisation des types booléens et expressions logiques.
-
W3Schools – C# Logical Operators
Résumé pratique avec démonstrations interactives. -
Programiz – C# Logical Operators
Tutoriel complet avec tableaux de vérité et scénarios d’usage. -
Dot Net Tutorials – Logical Operators
Cas d’application concrets, astuces et erreurs courantes à éviter.