Aller au contenu

Les opérateurs de calcul

"Les opérateurs arithmétiques, c’est le B.A.-BA de la logique numérique."

Un développeur matheux

Qu’est-ce qu’un opérateur de calcul ?

Les opérateurs arithmétiques permettent d’effectuer des opérations mathématiques de base sur des nombres : addition, soustraction, multiplication, etc.


Opérateurs disponibles en C

Symbole Nom Exemple Résultat
+ Addition 4 + 3 7
- Soustraction 10 - 6 4
* Multiplication 5 * 2 10
/ Division entière 7 / 2 3
% Modulo (reste) 7 % 2 1

Exemples simples

int a = 8 + 2;     // a = 10
int b = 10 - 4;    // b = 6
int c = 3 * 4;     // c = 12
int d = 9 / 2;     // d = 4 (division entière)
int e = 9 % 2;     // e = 1 (reste de la division)

Priorité des opérateurs

Quand plusieurs opérations sont écrites sur une même ligne, C# doit décider dans quel ordre les exécuter. C’est ce qu’on appelle la priorité des opérateurs.

Sans parenthèses, cet ordre peut changer complètement le résultat !

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

  1. ()Parenthèses
  2. *, /, %Multiplication, division, modulo
  3. +, -Addition, soustraction
int r1 = 2 + 3 * 4;      // r1 = 14
// 3 * 4 = 12, puis 2 + 12 = 14

int r2 = (2 + 3) * 4;    // r2 = 20
// 2 + 3 = 5, puis 5 * 4 = 20

Conclusion : *, / et % sont évalués avant + et -, sauf si tu utilises des parenthèses pour changer l’ordre.

Associativité : gauche vers droite

Quand plusieurs opérateurs ont la même priorité, C# les évalue de gauche à droite (on parle d’associativité).

int x = 20 / 5 * 2;   // (20 / 5) * 2 = 4 * 2 = 8
int y = 20 / (5 * 2); // 5 * 2 = 10, puis 20 / 10 = 2

Autre exemple :

int a = 10 - 3 - 2;   // (10 - 3) - 2 = 7 - 2 = 5

Bon réflexe : utilise les parenthèses

Dès que votre expression devient un peu longue :

  • Ajouter des parenthèses pour rendre le calcul clair.
  • ✅ Liser l’expression comme C# la lit : priorité puis gauche ➜ droite.
  • ✅ N’hésite pas à découper un calcul compliqué en plusieurs lignes.

Exemples à comparer :

int r3 = 10 - 6 / 2;     // r3 = 7  (6 / 2 = 3, puis 10 - 3)
int r4 = (10 - 6) / 2;   // r4 = 2  (10 - 6 = 4, puis 4 / 2)

⚠️ Erreurs fréquentes

  • ❌ Confondre / et %/ donne le quotient, % le reste
  • ❌ Division entière : 5 / 2 donne 2, pas 2.5
  • ❌ Division par zéro ➜ provoque une erreur d’exécution
  • ❌ Mélanger des entiers et des décimaux sans cast (int, double)
  • ❌ Oublier les parenthèses dans des calculs complexes

Quiz

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

1️⃣ Que donne 7 / 2 en C# ?

A. 3
B. 3.5
C. 4
D. 2.5
E. 3.0

✅ Afficher la réponse
Réponse A: 3 — car C# effectue une division entière entre deux entiers.

2️⃣ Quel opérateur donne le reste d’une division ?

A. /
B. %
C. //
D. *
E. ^

✅ Afficher la réponse
Réponse B: % permet de récupérer le reste de la division entière.

3️⃣ Quel est le résultat de ce code ?
int x = 10;
int y = 3;
int z = x % y;

A. 1
B. 3
C. 0
D. 2
E. 10

✅ Afficher la réponse
Réponse D: 10 % 3 = 1 reste 1 ➜ z vaut 1.

4️⃣ Quelle erreur produit ce code ?
int a = 5;
int b = 0;
int c = a / b;

A. c vaut 0
B. Compilation impossible
C. Erreur à l’exécution
D. c vaut 1
E. Pas d’erreur

✅ Afficher la réponse
Réponse C: Division par zéro ➜ provoque une exception à l’exécution.

5️⃣ Quelle est la priorité des opérations dans 2 + 3 * 4 ?

A. 20
B. 14
C. 24
D. 10
E. 8

✅ Afficher la réponse
Réponse B: Multiplication d'abord : 3 * 4 = 12, puis 2 + 12 = 14.

--

Navigation

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


Pour aller plus loin