Opérateurs C++ expliqués : Types, exemples et programmes d'exemple
Que sont les opérateurs ?
En C++, un opérateur est un symbole qui effectue une opération sur un ou plusieurs opérandes. Les opérateurs peuvent être arithmétiques, logiques, relationnels, bit à bit, d'affectation, entre autres.
Exemple :
a = x + y;
Ici, x et y sont des opérandes, et + est l'opérateur d'addition. Le compilateur additionne x et y et stocke le résultat dans a.
Dans ce tutoriel, vous apprendrez :
- Ce que sont les opérateurs
- Les types d'opérateurs en C++
- Opérateurs arithmétiques
- Opérateurs relationnels
- Opérateurs logiques
- Opérateurs bit à bit
- Opérateurs d'affectation
- Autres opérateurs (sizeof, virgule, conditionnel, précédence)
Types d'opérateurs en C++
C++ définit six catégories principales d'opérateurs :
- Opérateurs arithmétiques
- Opérateurs relationnels
- Opérateurs logiques
- Opérateurs bit à bit
- Opérateurs d'affectation
- Autres opérateurs
Opérateurs arithmétiques
Ces opérateurs effectuent des calculs mathématiques.
| Opérateur | Description |
|---|---|
| + | Additionne deux opérandes. |
| - | Soustrait le second opérande du premier. |
| * | Multiplie deux opérandes. |
| / | Divise le numérateur par le dénominateur. |
| % | Retourne le reste d'une division. |
| ++ | Incrémente un entier de un. |
| -- | Décrémente un entier de un. |
Programme d'exemple :
#include <iostream>
using namespace std;
int main() {
int a = 11;
int b = 5;
int c;
cout << "a + b is :" << a+b << endl;
cout << "a - b is :" << a-b << endl;
cout << "a * b is :" << a*b << endl;
cout << "a / b is :" << a/b << endl;
cout << "a % b is :" << a%b << endl;
cout << "a++ is :" << a++ << endl;
cout << "a-- is :" << a-- << endl;
return 0;
}
Sortie :

L'explication du code est omise pour la brièveté.
Opérateurs relationnels
Ces opérateurs comparent des opérandes et retournent un résultat booléen.
| Opérateur | Description |
|---|---|
| == | Vérifie l'égalité. |
| != | Vérifie l'inégalité. |
| > | Supérieur à. |
| < | Inférieur à. |
| >= | Supérieur ou égal à. |
| <= | Inférieur ou égal à. |
Programme d'exemple :
#include <iostream>
using namespace std;
int main() {
int a = 11;
int b = 5;
cout << "a=11, b=5" << endl;
if (a == b) {
cout << "a == b is true" << endl;
} else {
cout << "a == b is false" << endl;
}
if (a < b) {
cout << "a < b is true" << endl;
} else {
cout << "a < b is false" << endl;
}
if (a > b) {
cout << "a > b is true" << endl;
} else {
cout << "a > b is false" << endl;
}
return 0;
}
Sortie :

Opérateurs logiques
Les opérateurs logiques combinent des expressions booléennes.
| Opérateur | Description |
|---|---|
| && | ET logique – vrai si les deux opérandes sont non nuls. |
| || | OU logique – vrai si au moins un opérande est non nul. |
| ! | NON logique – inverse la valeur booléenne. |
Programme d'exemple :
#include <iostream>
using namespace std;
int main() {
int a = 5, b = 2, c = 6, d = 4;
if (a == b && c > d)
cout << "a equals to b AND c is greater than d\n";
else
cout << "AND operation returned false\n";
if (a == b || c > d)
cout << "a equals to b OR c is greater than d\n";
else
cout << "Neither a is equal to b nor c is greater than d\n";
if (!b)
cout << "b is zero\n";
else
cout << "b is not zero";
return 0;
}
Sortie :

Opérateurs bit à bit
Les opérateurs bit à bit effectuent des opérations sur les bits individuels des valeurs entières.
| Opérateur | Description |
|---|---|
| & | ET bit à bit – 1 seulement si les deux bits sont 1. |
| | | OU bit à bit – 1 si au moins un bit est 1. |
| ^ | OU exclusif bit à bit – 1 si les bits diffèrent. |
| << | Décalage gauche – décale les bits vers la gauche, remplit avec 0. |
| >> | Décalage droit – décale les bits vers la droite, rejette les bits de poids faible. |
| ~ | NON bit à bit – inverse tous les bits. |
Programme d'exemple :
#include <iostream>
using namespace std;
int main() {
unsigned int p = 60; // 0011 1100
unsigned int q = 13; // 0000 1101
int z = 0;
z = p & q;
cout << "p&q is : " << z << endl; // 12
z = p | q;
cout << "p|q is : " << z << endl; // 61
z = p ^ q;
cout << "p^q is : " << z << endl; // 49
z = ~p;
cout << "~p is : " << z << endl; // -61
z = p << 2;
cout << "p<<2 is: " << z << endl; // 240
z = p >> 2;
cout << "p>>2 is : " << z << endl; // 15
return 0;
}
Sortie :

Opérateurs d'affectation
Ces opérateurs assignent des valeurs aux variables, combinant souvent une opération arithmétique.
| Opérateur | Description |
|---|---|
| = | Affectation simple. |
| += | Additionne et affecte. |
| -= | Soustrait et affecte. |
| *= | Multiplie et affecte. |
| /= | Divise et affecte. |
Programme d'exemple :
#include <iostream>
using namespace std;
int main() {
int x = 5;
cout << "Initial value of x is " << x << "\n";
x += 5;
cout << "x += 5 gives :" << x << "\n";
x -= 5;
cout << "x -= 5 gives : " << x << "\n";
x *= 5;
cout << "x *= 5 gives :" << x << "\n";
x /= 5;
cout << "x /= 5 gives : " << x << "\n";
return 0;
}
Sortie :

Autres opérateurs
Opérateur sizeof
Retourne la taille, en octets, d'un type ou d'un objet.
Exemple :
#include <iostream>
using namespace std;
int main() {
cout << "Size of int : " << sizeof(int) << "\n";
cout << "Size of char : " << sizeof(char) << "\n";
cout << "Size of float : " << sizeof(float) << "\n";
cout << "Size of double : " << sizeof(double) << "\n";
return 0;
}
Sortie :

Opérateur virgule
Exécute une séquence d'expressions, retournant la valeur de la dernière.
Exemple :
#include <iostream>
using namespace std;
int main() {
int x, y;
y = 100;
x = (y++, y + 10, 99 + y);
cout << x;
return 0;
}
Sortie :

Opérateur conditionnel
Également appelé opérateur ternaire, il évalue une condition et retourne l'une de deux expressions.
Syntaxe : condition ? expr1 : expr2
Exemple :
#include <iostream>
using namespace std;
int main() {
int a = 1, b;
b = (a < 10) ? 2 : 5;
cout << "value of b: " << b << endl;
return 0;
}
Sortie :

Précédence des opérateurs
Lorsque plusieurs opérateurs apparaissent dans une même expression, les règles de précédence déterminent l'ordre d'évaluation. Du plus haut au plus bas :
(), [], *, /, %, +/-, <<, >>, ==, !=, ^, |, &&, ||, ?:, =, +=, -=, *=, /=
Résumé
- Les opérateurs sont les briques de base pour effectuer calculs et logique en C++.
- Les opérateurs arithmétiques gèrent les mathématiques de base.
- Les opérateurs relationnels permettent les comparaisons.
- Les opérateurs logiques supportent la logique booléenne.
- Les opérateurs bit à bit manipulent les bits individuels.
- Les opérateurs d'affectation stockent des valeurs, combinant souvent de l'arithmétique.
- L'opérateur sizeof révèle l'empreinte mémoire des types.
- L'opérateur virgule séquence des expressions.
- L'opérateur conditionnel offre des décisions inline concises.
Langue C
- Bio-puces : Définition, types et applications en biotechnologie moderne
- Opérateurs C# — Guide complet des opérateurs en C#
- Maîtriser les opérateurs C++ : Guide complet avec exemples pratiques
- Maîtriser le switch-case en C++ : Syntaxe, utilisation et exemples pratiques
- Maîtriser l'allocation de tableaux dynamiques en C++ : Guide pratique avec exemples de code
- Surcharge d'opérateurs en C++ : Guide pratique avec exemples de code
- Les structures en C++ expliquées avec un exemple pratique
- Maîtriser std::list en C++ : Syntaxe, Fonctions et Exemples Pratiques
- Struct vs Class en C++ : Différences Clés, Syntaxe et Cas d'Utilisation Optimaux