Recommended resources
The freely available resources this lesson will direct you to.
- C# Tutorial For Beginners - Learn C# Basics in 1 Hourwww.youtube.com
- C# Operators: Tips, Tricks & Errors (Relational and Logical) part 2www.youtube.com
- Base du langage C# — Documentation POO et C# 1 - FRperso.esiee.fr
- Tutoriel sur le langage C#. Cours pour débutants ... - GitHub Pagesw3schoolsua.github.io
Bonjour ! Dans la leçon précédente, nous avons vu comment stocker des informations dans des "boîtes" étiquetées appelées variables, en utilisant des types comme int, double, string et bool.
Aujourd'hui, nous allons apprendre à utiliser ces variables pour effectuer des actions. L'objectif est de vous rendre capable d'utiliser les opérateurs arithmétiques, de comparaison et logiques. Ce sont les outils de base qui vous permettront de manipuler des données, de faire des calculs et, surtout, de poser des questions à votre programme.
Nous aborderons trois grandes familles d'opérateurs :
- Opérateurs arithmétiques (
+,-,*,/,%) : Pour réaliser des opérations mathématiques. - Opérateurs de comparaison (
==,!=,>,<) : Pour comparer des valeurs, ce qui produit toujours un résultatbooléen(trueoufalse). - Opérateurs logiques (
&&,||,!) : Pour combiner plusieurs conditions et construire une logique plus complexe.
La maîtrise de ces opérateurs est une étape indispensable, car elle constitue la base des structures de décision (if/else) que nous verrons dans la prochaine leçon.
1. Les Opérateurs Arithmétiques : Calculer avec C#
Les opérateurs arithmétiques sont les plus intuitifs. Ils vous permettent d'effectuer les opérations mathématiques de base sur des variables numériques (int, double, etc.).
Pour avoir un aperçu rapide et efficace de ces opérateurs en action, je vous propose de regarder un extrait d'une vidéo très populaire.
C# Tutorial For Beginners - Learn C# Basics in 1 Hour
Cette vidéo de Programming with Mosh, bien qu'en anglais, est une référence pour sa clarté. Cet extrait montre l'essentiel des opérateurs arithmétiques et deux concepts cruciaux que nous allons détailler juste après.
Regardez l'extrait de 57:43 à 1:04:17. Concentrez-vous sur l'utilisation des opérateurs +, -, *, /. Portez une attention particulière à ces deux points : Le résultat de la division entre deux nombres entiers (à 1:02:18). Le concept de priorité des opérateurs (l'ordre dans lequel les calculs sont faits) (à 1:03:00).
Points clés sur les opérateurs arithmétiques
Comme vous l'avez vu, l'utilisation est simple, mais il y a quelques subtilités importantes :
-
Division entière : C'est un piège classique pour les débutants. Si vous divisez deux nombres entiers (
int), le résultat sera toujours un entier. La partie décimale est simplement "tronquée" (supprimée).int a = 10; int b = 3; Console.WriteLine(a / b); // Affiche 3, et non 3.333...Pour obtenir un résultat décimal, il faut qu'au moins un des deux nombres soit de type
double(oufloat).double resultat = 10.0 / 3; // Affiche 3.333... Console.WriteLine(resultat); -
Priorité des opérateurs : C# suit les mêmes règles de priorité qu'en mathématiques. Les multiplications (
*) et divisions (/) sont effectuées avant les additions (+) et soustractions (-).int calcul = 5 + 2 * 3; // 2 * 3 est calculé en premier, donc 5 + 6 Console.WriteLine(calcul); // Affiche 11Pour forcer un ordre différent, utilisez des parenthèses
().int autreCalcul = (5 + 2) * 3; // 5 + 2 est calculé en premier, donc 7 * 3 Console.WriteLine(autreCalcul); // Affiche 21 -
L'opérateur Modulo
%: Il est extrêmement utile et donne le reste d'une division entière.Console.WriteLine(10 % 3); // 10 divisé par 3 fait 3, reste 1. Affiche 1. Console.WriteLine(12 % 2); // 12 divisé par 2 fait 6, reste 0. Affiche 0.On l'utilise souvent pour savoir si un nombre est pair (
nombre % 2 == 0) ou impair.
2. Les Opérateurs de Comparaison : Poser des questions
Les opérateurs de comparaison sont le cœur de la logique de décision. Ils comparent deux valeurs et leur résultat est toujours une valeur booléenne : true ou false.
| Opérateur | Description | Exemple | Résultat |
|---|---|---|---|
== |
Égal à | 5 == 5 |
true |
!= |
Différent de | 5 != 5 |
false |
> |
Strictement supérieur à | 5 > 3 |
true |
< |
Strictement inférieur à | 5 < 3 |
false |
>= |
Supérieur ou égal à | 5 >= 5 |
true |
<= |
Inférieur ou égal à | 5 <= 3 |
false |
La vidéo suivante, en français, explique ces opérateurs avec des exemples très parlants.
C# Operators: Tips, Tricks & Errors (Relational and Logical) part 2
Dans cette vidéo de la chaîne CodeBeauty, l'auteure explique chaque opérateur de comparaison (qu'elle appelle 'relationnels') avec des exemples concrets, comme la comparaison d'âges.
Regardez la vidéo de 02:35 à 10:01. Portez une attention toute particulière à la distinction cruciale qu'elle fait entre l'opérateur d'assignation = (pour donner une valeur) et l'opérateur de comparaison d'égalité == (pour vérifier si deux valeurs sont égales). C'est une source d'erreur très fréquente !
L'idée la plus importante à retenir est que le résultat d'une comparaison peut être stocké dans une variable de type bool.
int ageUtilisateur = 25;
double prixProduit = 99.99;
bool estMajeur = ageUtilisateur >= 18; // estMajeur vaudra true
bool estTropCher = prixProduit > 100.0; // estTropCher vaudra false
Console.WriteLine("L'utilisateur est-il majeur ? " + estMajeur);
3. Les Opérateurs Logiques : Combiner les conditions
Les opérateurs logiques permettent de combiner plusieurs expressions booléennes pour créer des règles plus complexes.
&&(ET logique) : Le résultat esttrueuniquement si toutes les conditions sonttrue.||(OU logique) : Le résultat esttruesi au moins une des conditions esttrue.!(NON logique) : Inverse la valeur d'une expression booléenne (truedevientfalseet vice-versa).
La suite de la vidéo précédente illustre parfaitement ces concepts avec des analogies faciles à comprendre.
C# Operators: Tips, Tricks & Errors (Relational and Logical) part 2
Cette partie de la vidéo de CodeBeauty explique les opérateurs logiques en utilisant des scénarios de la vie réelle (obtenir une réduction, avoir un jour de congé), ce qui rend leur fonctionnement très clair.
Regardez l'extrait de 14:53 à 23:01. Essayez de bien comprendre la différence de comportement entre l'opérateur ET (&&) qui est très strict, et l'opérateur OU (||) qui est plus permissif.
Voici un exemple qui combine les opérateurs de comparaison et logiques :
int age = 22;
bool aLePermis = true;
double soldeCompte = 50.0;
double prixLocation = 40.0;
// Pour louer une voiture, il faut avoir 21 ans OU PLUS, ET avoir le permis, ET avoir assez d'argent.
bool peutLouerVoiture = (age >= 21) && aLePermis && (soldeCompte >= prixLocation);
Console.WriteLine("Peut louer une voiture : " + peutLouerVoiture); // Affiche: Peut louer une voiture : True
Voici un tableau récapitulatif des opérateurs que nous avons vus, pour vous aider à les mémoriser.

4. Exercice pratique
Il est temps de mettre tout cela en pratique ! L'objectif est de créer une petite logique pour un site e-commerce.
-
Ouvrez votre projet
MonPremierProjetdans Visual Studio. -
Dans
Program.cs, effacez le code existant et copiez-y ces variables de départ :double soldeClient = 150.00; double prixArticle = 75.50; int quantiteEnStock = 5; bool estClientPremium = true; -
Votre mission est de créer les variables booléennes suivantes en utilisant les opérateurs de comparaison et logiques :
aAssezArgent: doit êtretruesisoldeClientest supérieur ou égal àprixArticle.articleEstDisponible: doit êtretruesiquantiteEnStockest strictement supérieur à 0.beneficieLivraisonGratuite: un client bénéficie de la livraison gratuite s'il est un client premium OU si le prix de l'article est supérieur à 100 €.peutFinaliserAchat: l'achat peut être finalisé si le client a assez d'argent ET que l'article est disponible.
-
Utilisez
Console.WriteLine()pour afficher la valeur de chacune de vos quatre variables booléennes. -
Prenez le temps d'expérimenter : changez les valeurs des variables de départ et observez comment les résultats changent.
Solution
Voici une solution possible. Essayez de la faire par vous-même avant de regarder !
double soldeClient = 150.00;
double prixArticle = 75.50;
int quantiteEnStock = 5;
bool estClientPremium = true;
// 1. Le client a-t-il assez d'argent ?
bool aAssezArgent = soldeClient >= prixArticle;
// 2. L'article est-il en stock ?
bool articleEstDisponible = quantiteEnStock > 0;
// 3. Le client a-t-il droit à la livraison gratuite ?
bool beneficieLivraisonGratuite = estClientPremium || (prixArticle > 100.0);
// 4. L'achat peut-il être finalisé ?
bool peutFinaliserAchat = aAssezArgent && articleEstDisponible;
// Affichage des résultats
Console.WriteLine("Le client a assez d'argent : " + aAssezArgent);
Console.WriteLine("Article disponible : " + articleEstDisponible);
Console.WriteLine("Bénéficie de la livraison gratuite : " + beneficieLivraisonGratuite);
Console.WriteLine("Peut finaliser l'achat : " + peutFinaliserAchat);
Conclusion
Félicitations ! Vous venez d'acquérir une compétence fondamentale. Vous ne vous contentez plus de stocker des données ; vous pouvez maintenant les utiliser pour effectuer des calculs, poser des questions et combiner des logiques.
Les points clés à retenir :
- Les opérateurs arithmétiques (
+,-,*,/,%) servent à faire des calculs. Attention à la division entière ! - Les opérateurs de comparaison (
==,!=,>, etc.) comparent des valeurs et retournent toujours unbool(trueoufalse). - Les opérateurs logiques (
&&ET,||OU,!NON) combinent des conditions booléennes pour créer une logique plus fine. - L'utilisation de parenthèses
()est essentielle pour contrôler l'ordre des opérations et garantir que votre code fait ce que vous attendez.
Dans la prochaine leçon, nous allons utiliser les expressions booléennes que vous avez créées aujourd'hui pour donner des instructions différentes à notre programme. Nous apprendrons à utiliser les instructions if, else if et else pour contrôler le "flux d'exécution" de notre code en fonction des conditions. C'est là que vos programmes commenceront vraiment à prendre des décisions et à devenir intelligents