Menu
Coddy logo textTech

Priorité des opérateurs

Fait partie de la section Logique & Flux du Journey C# de Coddy — leçon 38 sur 66.

La précédence des opérateurs détermine l'ordre dans lequel les opérateurs sont évalués dans une expression. Comprendre la précédence est crucial pour écrire des expressions logiques correctes.

Regardez cet exemple :

int result = 5 + 3 * 2;

Quelle est la valeur de result ? C'est 11, pas 16, car la multiplication a une priorité supérieure à l'addition.

Voici un ordre de précédence simplifié (du plus élevé au plus bas) :

  1. Parenthèses ()
  2. Multiplication/Division * / %
  3. Addition/Soustraction + -
  1. Opérateurs de comparaison < > <= >=
  2. Opérateurs d'égalité == !=
  1. ET logique &&
  2. OU logique ||
  3. Opérateurs d'affectation = += -= etc.

Voyons comment cela s'applique :

bool result = 5 > 3 && 10 < 20 || 7 == 8;

D'abord, les comparaisons sont évaluées : 5 > 3 est true, 10 < 20 est true, et 7 == 8 est false.
Ensuite, ET logique : true && true est true.
Enfin, OU logique : true || false est true.

Donc le résultat est true.

Utilisez des parenthèses pour rendre votre code plus clair :

bool result = (5 > 3 && 10 < 20) || (7 == 8);
challenge icon

Défi

Facile

Créez une méthode nommée EvaluateExpression qui prend trois entiers (a, b, c) et retourne un booléen.

Votre méthode devrait retourner le résultat de cette expression :
a > b || a == c && b < c

Ensuite, créez une autre méthode nommée EvaluateWithParentheses qui évalue :
(a > b || a == c) && b < c

Votre programme devrait lire trois entiers depuis la console et imprimer les résultats des deux évaluations sur des lignes séparées.

Aide-mémoire

La précédence des opérateurs détermine l'ordre dans lequel les opérateurs sont évalués dans une expression.

Ordre de précédence (du plus élevé au plus bas) :

  1. Parenthèses ()
  2. Multiplication/Division * / %
  3. Addition/Soustraction + -
  4. Opérateurs de comparaison < > <= >=
  5. Opérateurs d'égalité == !=
  6. ET logique &&
  7. OU logique ||
  8. Opérateurs d'affectation = += -= etc.

Exemple :

int result = 5 + 3 * 2; // result vaut 11, et non 16

Expression logique complexe :

bool result = 5 > 3 && 10 < 20 || 7 == 8;
// S'évalue en : true && true || false = true || false = true

Utilisez des parenthèses pour plus de clarté :

bool result = (5 > 3 && 10 < 20) || (7 == 8);

Essayez vous-même

using System;

class Program
{
    public static bool EvaluateExpression(int a, int b, int c)
    {
        // Écrivez votre code ici
    }
    
    public static bool EvaluateWithParentheses(int a, int b, int c)
    {
        // Écrivez votre code ici
    }
    
    static void Main(string[] args)
    {
        Console.WriteLine("Enter three integers:");
        int a = int.Parse(Console.ReadLine());
        int b = int.Parse(Console.ReadLine());
        int c = int.Parse(Console.ReadLine());
        
        // Appelez vos méthodes et affichez les résultats
    }
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logique & Flux