Opérations arithmétiques en C++
Qu'est-ce que c'est et pourquoi ?
Imagine que tu es caissier dans un magasin. Des clients arrivent, tu additionnes les prix des articles, tu soustrais les réductions, tu multiplies la quantité par le coût, tu divises le total entre amis. Tout cela, ce sont des opérations arithmétiques. En programmation, elles fonctionnent exactement de la même manière : l'ordinateur sait additionner, soustraire, multiplier et diviser des nombres. Sans cela, tu ne pourras écrire ni une calculatrice, ni un jeu, ni un programme de calcul de salaire.
Pourquoi faut-il le savoir ? Même si tu veux créer un programme simple qui demande l'âge à l'utilisateur et lui dit dans combien d'années il sera à la retraite, tu auras besoin d'une soustraction. Tu veux calculer combien de pizzas il faut pour une fête ? Il faut une division. Et si tu écris un jeu où un personnage se déplace, ce ne sont que des additions et soustractions de coordonnées. Bref, l'arithmétique est la base, indispensable.
Syntaxe et exemples de code
En C++, les opérations arithmétiques ressemblent presque à celles des mathématiques. Voici les signes principaux :
+— addition-— soustraction*— multiplication (astérisque, pas une croix)/— division (slash)%— reste de la division (par exemple, 7 % 3 = 1, car 7 divisé par 3 donne un reste de 1)
Regardons des exemples. On écrit le code à l'intérieur de main(), et on affiche les résultats à l'écran avec cout.
#include <iostream>
using namespace std;
int main() {
// Exemple 1 : Addition
int a = 10;
int b = 5;
int sum = a + b; // on additionne a et b, on met le résultat dans sum
cout << "Somme : " << sum << endl; // affichera : Somme : 15
// Exemple 2 : Soustraction
int diff = a - b; // on soustrait b de a
cout << "Différence : " << diff << endl; // affichera : Différence : 5
// Exemple 3 : Multiplication
int prod = a * b; // on multiplie a par b
cout << "Produit : " << prod << endl; // affichera : Produit : 50
// Exemple 4 : Division
int quot = a / b; // on divise a par b
cout << "Quotient : " << quot << endl; // affichera : Quotient : 2
// Attention : si les nombres sont entiers, le résultat est aussi entier ! 10 / 3 = 3, pas 3.333
// Exemple 5 : Reste de la division
int rem = 10 % 3; // on divise 10 par 3, reste 1
cout << "Reste : " << rem << endl; // affichera : Reste : 1
return 0;
}
Remarque : dans l'exemple 4, nous avons divisé 10 par 5 et obtenu 2. Mais si nous avions divisé 10 par 3, nous aurions obtenu 3, pas 3.333. Parce que int représente des nombres entiers, la partie fractionnaire est tronquée. Pour obtenir un résultat fractionnaire, il faut utiliser double (nombres à virgule).
#include <iostream>
using namespace std;
int main() {
// Exemple avec des nombres fractionnaires
double x = 10.0;
double y = 3.0;
double result = x / y; // maintenant la division sera précise
cout << "Résultat : " << result << endl; // affichera : Résultat : 3.33333
// On peut mélanger entiers et fractionnaires
int apples = 7;
double price = 2.5;
double total = apples * price; // 7 * 2.5 = 17.5
cout << "Coût total : " << total << endl;
return 0;
}
Un autre point important : l'ordre des opérations. Comme en mathématiques, la multiplication et la division sont prioritaires sur l'addition et la soustraction. Si tu veux changer l'ordre, utilise des parenthèses.
#include <iostream>
using namespace std;
int main() {
int a = 2;
int b = 3;
int c = 4;
// Sans parenthèses : d'abord multiplication, puis addition
int res1 = a + b * c; // 2 + 12 = 14
cout << "Sans parenthèses : " << res1 << endl;
// Avec parenthèses : d'abord addition, puis multiplication
int res2 = (a + b) * c; // 5 * 4 = 20
cout << "Avec parenthèses : " << res2 << endl;
return 0;
}
Comparaison avec Python
Si tu as déjà essayé Python, tu remarqueras que l'arithmétique y est très similaire. Mais il y a quelques différences.
En Python :
- Mêmes opérations : addition
+, soustraction-, multiplication*, division/. - Mais la division en Python donne toujours un résultat fractionnaire !
10 / 3donnera3.3333, même si les nombres sont entiers. - Pour obtenir une division entière (comme en C++), il faut écrire
//(deux slashes). Par exemple,10 // 3donnera3. - Le reste de la division est aussi
%, comme en C++.
Voici à quoi ressemble le même code en Python :
# Python
a = 10
b = 3
# Division normale — fractionnaire
print(a / b) # 3.3333333333333335
# Division entière (comme en C++)
print(a // b) # 3
# Reste
print(a % b) # 1
# Tout le reste est pareil
print(a + b) # 13
print(a - b) # 7
print(a * b) # 30
La principale différence : en C++, il faut déclarer le type de la variable à l'avance (int ou double), alors qu'en Python les types sont déduits automatiquement. Mais en C++, c'est toi qui décides si tu veux un nombre entier ou fractionnaire — cela donne plus de contrôle.
Erreurs typiques des débutants
Voici ce qui coince le plus souvent chez ceux qui commencent :
- Oublier le point-virgule — en C++, chaque instruction se termine par
;. S'il manque, le compilateur râle. - Confondre
=et==—=est l'affectation (mettre une valeur), et==est la comparaison (est-ce égal ?). En arithmétique, on utilise seulement=. - Diviser des entiers et attendre un résultat fractionnaire — si les deux nombres sont des
int, le résultat sera aussi unint. Si tu veux un résultat fractionnaire, fais en sorte qu'au moins un nombre soit undouble. - Oublier l'ordre des opérations —
2 + 3 * 4donne 14, pas 20. Utilise des parenthèses si tu as un doute. - Diviser par zéro — on ne peut pas diviser par zéro ! Le programme plantera avec une erreur. Vérifie toujours que le diviseur n'est pas nul.