Operateurs dans C++: Types avec exemple
⚡ Résumé intelligent
Operateurs dans C++ Les opérateurs sont des symboles qui effectuent des opérations sur les opérandes, allant des opérations arithmétiques et de comparaison aux opérations logiques, binaires et d'affectation. Cette ressource explique chaque catégorie d'opérateurs à l'aide d'exemples de programmes exécutables, de résultats et des règles de priorité qui déterminent l'ordre d'évaluation.
Quels sont Operatorseurs ?
Un opérateur Un opérateur est un symbole utilisé pour effectuer des opérations sur des opérandes. Un opérateur agit sur les opérandes, et les opérations peuvent être mathématiques ou logiques. Il existe différents types d'opérateurs. C++ pour effectuer différentes opérations.
Considérons l'opération suivante :
a = x + y;
Dans l'instruction ci-dessus, x et y sont les opérandes tandis que + est un opérateur d'addition. Lorsque le C++ Le compilateur rencontre l'instruction ci-dessus, il ajoutera x et y et stockera le résultat dans la variable a.
Types de Operateurs dans C++
Il y a principalement 6 types d'opérateurs différents dans C++:
- Arithmétique Operajeudi
- Relationnel Operajeudi
- logique Operajeudi
- Bitwise Operajeudi
- Affectation Operajeudi
- Autres Operajeudi
Commençons par les opérateurs arithmétiques, la catégorie la plus couramment utilisée.
Arithmétique Operajeudi
Ce sont les types d’opérateurs utilisés pour effectuer des opérations mathématiques/arithmétiques. Ils comprennent:
| Opérateur | Description |
|---|---|
| + opérateur d'addition | Ajoute deux opérandes. |
| - soustracopérateur de tion | Soltracts 2nd opérande de 1st opérande. |
| * opérateur de multiplication | Multiplie 2 opérandes. |
| / opérateur de division | Divise le numérateur par le dénominateur. |
| Opérateur % module | Renvoie le reste après la division. |
| opérateur d'incrémentation ++ | Augmente une valeur entière de 1. |
| — opérateur de décrémentation | Diminue une valeur entière de 1. |
Par exemple :
#include <iostream> using namespace std; int main() { int a = 11; int b = 5; int c; cout << "a + b is :" << a+b << endl; //11+5 cout << "a - b is :" << a-b << endl; //11-5 cout << "a * b is :" << a*b << endl; //11*5 cout << "a / b is :" << a/b << endl; //11/5 cout << "a % b is :" << a%b << endl; //11%5 cout << "a++ is :" << a++ << endl; //11++ cout << "a-- is :" << a-- << endl; //12-- return 0; }
Sortie :
Voici une capture d'écran du code :
Code Explication:
- Y compris le fichier d'en-tête iostream dans notre code. Cela nous permettra de lire et d'écrire sur la console.
- Y compris l'espace de noms std afin d'utiliser ses classes et fonctions sans l'appeler.
- Appel de la fonction main() dans laquelle la logique du programme doit être ajoutée. L'accolade ouvrante { marque le début du corps de la fonction main().
- Déclarer une variable entière a et l'initialiser à 11.
- Déclarer une variable entière b et l'initialiser à 5.
- Déclarer une variable entière c.
- Affichage du résultat de l'opération a+b à côté des autres textes sur la console.
- Affichage de la valeur de l'opération ab à côté des autres textes sur la console.
- Affichage du résultat de l'opération a*b à côté des autres textes sur la console.
- Affichage de la valeur de l'opération a/b à côté des autres textes sur la console.
- Affichage de la valeur de l'opération a%b à côté d'autres textes sur la console.
- Affichage de la valeur de l'opération a++ à côté des autres textes sur la console.
- Affichage de la valeur de l'opération a– à côté des autres textes sur la console.
- La fonction main() doit renvoyer une valeur si le programme fonctionne correctement.
- Fin du corps de la fonction main().
Relationnel Operajeudi
Ces types d'opérateurs effectuent des comparaisons sur les opérandes. Par exemple, vous devrez peut-être savoir quel opérande est supérieur à l'autre ou inférieur à l'autre. Ils comprennent:
| Opérateur | Description |
|---|---|
| opérateur == égal | Vérifie l'égalité de deux valeurs d'opérande. |
| != différent de l'opérateur | Vérifie l'inégalité de deux valeurs d'opérandes. |
| > opérateur supérieur à | Vérifie si la valeur de l'opérande de gauche est supérieure à la valeur de l'opérande de droite. |
| opérateur < inférieur à | Vérifie si la valeur de l'opérande de gauche est inférieure à la valeur de l'opérande de droite. |
| >= opérateur supérieur ou égal à | Vérifie si la valeur de l'opérande de gauche est supérieure ou égale à la valeur de l'opérande de droite. |
| opérateur <= inférieur ou égal à | Vérifie si la valeur de l'opérande de gauche est inférieure ou égale à la valeur de l'opérande de droite. |
Par 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 :
Voici une capture d'écran du code :
Code Explication:
- Y compris le fichier d'en-tête iostream dans notre code. Cela nous permettra de lire et d'écrire sur la console.
- Y compris l'espace de noms std afin d'utiliser ses classes et fonctions sans l'appeler.
- Appel de la fonction main() à l'intérieur de laquelle la logique du programme doit être ajoutée.
- Déclarer une variable entière a et l'initialiser à 11.
- Déclarer une variable entière b et l'initialiser à 5.
- Impression d'un texte sur la console indiquant les valeurs des variables a et b.
- Vérifier si a est égal à b en utilisant une instruction de décision if.
- Texte à afficher sur la console si l'opération a==b est vraie.
- La partie else de l'instruction if ci-dessus, indiquant ce qu'il faut faire si a==b est faux.
- Texte à afficher sur la console si l'opération a==b est fausse.
- Vérifier si a est inférieur à b en utilisant une instruction if.
- Texte à afficher sur la console si l'opération a
- La partie else pour quand un
- Texte à afficher sur la console si l'opération a
- Vérifier si a est supérieur à b à l'aide d'une instruction if.
- Texte à afficher sur la console si l'opération a>b est vraie.
- La partie else pour le cas où a>b est faux.
- Texte à afficher sur la console si l'opération a>b est fausse.
- La fonction main() doit renvoyer une valeur si le programme fonctionne correctement.
- Fin du corps de la fonction main().
logique Operajeudi
Le Opérateurs logiques Les opérateurs logiques permettent de combiner deux contraintes ou plus. Ils complètent également l'évaluation de la condition initiale considérée. Parmi ces opérateurs, on trouve :
| Opérateur | Description |
|---|---|
| Opérateur logique ET && | La condition est vraie si les deux opérandes sont non nuls. |
| Opérateur logique OU || | La condition est vraie si l’un des opérandes est non nul. |
| ! Opérateur logique NON | Il inverse l'état logique de l'opérande. Si l'opérande est vrai, l'opérateur ! le rend faux. |
Par 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 :
Voici une capture d'écran du code :
Code Explication:
- Y compris le fichier d'en-tête iostream dans notre code. Cela nous permettra de lire et d'écrire sur la console.
- Y compris l'espace de noms std afin d'utiliser ses classes et fonctions sans l'appeler.
- Appel de la fonction main() à l'intérieur de laquelle la logique du programme doit être ajoutée.
- Le { marque le début du corps de la fonction main().
- Déclarer 4 variables entières a, b, c et d et leur attribuer des valeurs différentes.
- L'opérateur && (ET) est utilisé dans une instruction if. Il combine deux conditions. Si la première est fausse et la seconde vraie, false&&true est faux ; le résultat de if est donc faux.
- Texte à afficher dans la console si la condition ci-dessus est vraie. Ce code ne sera pas exécuté.
- Partie à exécuter si la condition « si » ci-dessus est fausse.
- Texte à imprimer sur la console si l'instruction if est fausse. Celui-ci sera exécuté.
- L'opérateur || (OU) est utilisé dans une instruction if. La première condition est fausse et la seconde est vraie ; par conséquent, faux||vrai est vrai, ce qui signifie que le résultat de la condition if est vrai.
- Texte à afficher dans la console si la condition ci-dessus est vraie. Ce texte sera exécuté.
- Partie à exécuter si la condition « si » ci-dessus est fausse.
- Texte à imprimer sur la console si l'instruction if est fausse. Cela ne sera pas exécuté.
- Vérifier si la valeur de la variable b est 0.
- Texte à afficher dans la console si la condition ci-dessus est vraie. Ce code ne sera pas exécuté.
- Partie à exécuter si la condition « si » ci-dessus est fausse.
- Texte à imprimer sur la console si l'instruction if est fausse. Celui-ci sera exécuté.
- La fonction main() doit renvoyer une valeur si le programme fonctionne correctement.
- Fin du corps de la fonction main().
Bitwise Operajeudi
Opérateurs au niveau du bit effectuer des opérations au niveau du bit sur les opérandes. Tout d'abord, les opérandes sont convertis en bits, puis les opérations sont effectuées. Lors d'opérations arithmétiques comme l'addition et la soustraction, on utilise des opérateurs binaires.tracLes opérations étant effectuées au niveau du bit, les résultats peuvent être obtenus plus rapidement. Elles comprennent :
| Opérateur | Description |
|---|---|
| & (ET bit à bit) | Cette fonction prend deux nombres (opérandes) et effectue un ET logique sur chaque bit de ces deux nombres. Si les deux bits valent 1, l'opération renvoie 1, sinon 0. |
| | (OU au niveau du bit) | Cette fonction prend deux nombres (opérandes) et effectue un OU logique sur chaque bit de ces deux nombres. Elle renvoie 1 si au moins un des bits vaut 1. |
| ^ (XOR bit à bit) | Cette fonction prend deux nombres (opérandes) et effectue un OU exclusif (XOR) sur chaque bit de ces deux nombres. Elle renvoie 1 si les deux bits sont différents. |
| << (décalage à gauche) | Cette fonction prend deux nombres, puis décale vers la gauche les bits du premier opérande. Le second opérande détermine le nombre total de positions à décaler. |
| >> (décalage à droite) | Cette fonction prend deux nombres puis décale vers la droite les bits du premier opérande. Le second opérande détermine le nombre de positions à décaler. |
| ~ (NON bit à bit) | Prend un nombre puis inverse tous ses bits. |
#include <iostream> using namespace std; int main() { unsigned int p = 60; // 60 = 0011 1100 unsigned int q = 13; // 13 = 0000 1101 int z = 0; z = p & q; cout << "p&q is : " << z << endl; // 12 = 0000 1100 z = p | q; cout << "p|q is : " << z << endl; // 61 = 0011 1101 z = p ^ q; cout << "p^q is : " << z << endl; // 49 = 0011 0001 z = ~p; cout << "~p is : " << z << endl; // -61 = 1100 0011 z = p << 2; cout << "p<<2 is: " << z << endl; // 240 = 1111 0000 z = p >> 2; cout << "p>>2 is : " << z << endl; // 15 = 0000 1111 return 0; }
Sortie :
Voici une capture d'écran du code :
Code Explication:
- Y compris le fichier d'en-tête iostream dans notre code. Cela nous permettra de lire et d'écrire sur la console.
- Y compris l'espace de noms std afin d'utiliser ses classes et fonctions sans l'appeler.
- Appel de la fonction main() à l'intérieur de laquelle la logique du programme doit être ajoutée.
- Déclarer une variable entière non signée p et lui attribuer la valeur 60, qui est 0011 1100 en binaire.
- Déclarer une variable entière non signée q et lui attribuer la valeur 13, qui est 0000 1101 en binaire.
- Déclarer une variable entière z et l'initialiser à 0.
- Effectuer l'opération bit à bit & (ET) sur les variables p et q et stocker le résultat dans la variable z.
- Impression du résultat de l'opération ci-dessus sur la console avec un autre texte.
- Exécution du bitwise | (OU) opération sur les variables p et q et stockage du résultat dans la variable z.
- Impression du résultat de l'opération ci-dessus sur la console avec un autre texte.
- Effectuer l'opération au niveau du bit ^ (XOR) sur les variables p et q et stocker le résultat dans la variable z.
- Impression du résultat de l'opération ci-dessus sur la console avec un autre texte.
- Effectuer l'opération bit à bit ~ (NON) sur la variable p et stocker le résultat dans la variable z.
- Impression du résultat de l'opération ci-dessus sur la console avec un autre texte.
- Effectuer l'opération de décalage vers la gauche sur la variable p et stocker le résultat dans la variable z.
- Impression du résultat de l'opération ci-dessus sur la console avec un autre texte.
- Effectuer l'opération de décalage à droite sur la variable p et stocker le résultat dans la variable z.
- Impression du résultat de l'opération ci-dessus sur la console avec un autre texte.
- La fonction main() doit renvoyer une valeur si le programme fonctionne correctement.
- Fin du corps de la fonction main().
Affectation Operajeudi
Opérateurs d'affectation L'opérateur permet d'assigner des valeurs à des variables. L'opérande (ou variable) est placé à gauche de l'opérateur, et la valeur à droite. La variable et la valeur doivent être du même type de données, sinon une erreur se produira. C++ Le compilateur va générer une erreur.
Par exemple :
x = 5;
Dans l'exemple ci-dessus, x est la variable/l'opérande, = est l'opérateur d'affectation et 5 est la valeur. Voici les opérateurs d'affectation les plus courants : C++:
| Opérateur | Description |
|---|---|
| = (opérateur d'affectation simple) | Affecte la valeur de droite à la variable de gauche. |
| += (Ajouter un opérateur d'affectation AND) | Ajoute la valeur de l'opérande de droite à l'opérande de gauche, puis affecte le résultat à la variable de gauche. |
| -= (Soustract ET opérateur d'affectation) | SoltracElle extrait la valeur de l'opérande de droite à partir de l'opérande de gauche, puis assigne le résultat à la variable de gauche. |
| *= (opérateur de multiplication ET d'affectation) | Multiplie la valeur de l'opérande de gauche par l'opérande de droite, puis affecte le résultat à la variable de gauche. |
| /= (opérateur de division ET d'affectation) | Divise la valeur de l'opérande de gauche par l'opérande de droite, puis affecte le résultat à la variable de gauche. |
Par 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 :
Voici une capture d'écran du code :
Code Explication:
- Y compris le fichier d'en-tête iostream dans notre code. Cela nous permettra de lire et d'écrire sur la console.
- Y compris l'espace de noms std afin d'utiliser ses classes et fonctions sans l'appeler.
- Appel de la fonction main() à l'intérieur de laquelle la logique du programme doit être ajoutée.
- Le { marque le début du corps de la fonction main().
- Déclarer une variable entière x et lui attribuer la valeur 5.
- Affichage de la valeur de la variable x à côté du reste du texte sur la console. \n représente un saut de ligne.
- Ajouter 5 à la valeur de la variable x et affecter le résultat à la variable x.
- Afficher la valeur de la variable x sur la console, à côté du reste du texte.
- Soltracen soustrayant 5 de la valeur de x et en assignant le résultat à la variable x.
- Afficher la valeur de la variable x sur la console, à côté du reste du texte.
- Multiplier la valeur de la variable x par 5 et affecter le résultat à la variable x.
- Afficher la valeur de la variable x sur la console, à côté du reste du texte.
- Diviser la valeur de la variable x par 5 et affecter le résultat à la variable x.
- Afficher la valeur de la variable x sur la console, à côté du reste du texte.
- La fonction main() doit renvoyer une valeur si le programme fonctionne correctement.
- Fin du corps de la fonction main().
Autres Operajeudi
Autres Operajeudi inclure la taille de l'opérateur, virgule Operator, Conditionnel Operator, et OperaPriorité des opérateurs. Examinons les autres opérateurs pris en charge par C++:
taille de l'opérateur
Cet opérateur détermine la taille d'une variable. Utilisez l'opérateur sizeof pour déterminer la taille d'un type de données.
Par 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 :
Voici une capture d'écran du code :
Code Explication:
- Y compris le fichier d'en-tête iostream dans notre code. Cela nous permettra de lire et d'écrire sur la console.
- Y compris l'espace de noms std afin d'utiliser ses classes et fonctions sans l'appeler.
- Appel de la fonction main() à l'intérieur de laquelle la logique du programme doit être ajoutée.
- Déterminer la taille du type de données entier à l'aide de l'opérateur sizeof et l'afficher avec le reste du texte sur la console.
- Déterminer la taille du type de données caractère à l'aide de l'opérateur sizeof et l'afficher avec le reste du texte sur la console.
- Déterminer la taille du type de données float à l'aide de l'opérateur sizeof et l'afficher avec le reste du texte sur la console.
- Déterminer la taille du type de données double à l'aide de l'opérateur sizeof et l'afficher avec le reste du texte sur la console.
- La fonction main() doit renvoyer une valeur si le programme fonctionne correctement.
- Fin du corps de la fonction main().
Virgule Operator
Le opérateur virgule L'opérateur (,) déclenche l'exécution d'une séquence d'opérations. Il exprime le premier opérande et ignore le résultat. Ensuite, il évalue le second opérande et renvoie sa valeur et son type.
#include <iostream> using namespace std; int main() { int x, y; y = 100; x = (y++, y + 10, 99 + y); cout << x; return 0; }
Sortie :
Voici une capture d'écran du code :
Code Explication:
- Y compris le fichier d'en-tête iostream dans notre code. Cela nous permettra de lire et d'écrire sur la console.
- Y compris l'espace de noms std afin d'utiliser ses classes et fonctions sans l'appeler.
- Appel de la fonction main() à l'intérieur de laquelle la logique du programme doit être ajoutée.
- Déclarer deux variables entières x et y.
- Attribuer à la variable ya la valeur 100.
- On utilise l'opérateur virgule. On initialise y à 100, puis on l'incrémente à 101 (y++). Ensuite, on ajoute y à 10. Enfin, y, toujours égal à 101, est ajouté à 99, ce qui donne 200. x vaut maintenant 200.
- Affichage de la valeur de la variable x sur la console.
- La fonction main() doit renvoyer une valeur si le programme fonctionne correctement.
- Fin du corps de la fonction main().
Conditionnel Operator
Cet opérateur évalue une condition et agit en fonction du résultat de l'évaluation.
syntaxe:
Condition ? Expression2 : Expression3;
Paramètres:
- La Condition est la condition qui doit être évaluée.
- Expression2 est l'expression à exécuter si la condition est vraie.
- Expression3 est l'expression à exécuter si la condition est fausse.
Par 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 :
Voici une capture d'écran du code :
Code Explication:
- Y compris le fichier d'en-tête iostream dans notre code. Cela nous permettra de lire et d'écrire sur la console.
- Y compris l'espace de noms std afin d'utiliser ses classes et fonctions sans l'appeler.
- Appel de la fonction main() à l'intérieur de laquelle la logique du programme doit être ajoutée.
- Déclarer deux variables entières a et b. La variable a a reçu la valeur 1.
- Attribution d'une valeur à la variable b. Si la variable a est inférieure à 10, b se verra attribuer la valeur 2, sinon b se verra attribuer la valeur 5.
- Afficher la valeur de la variable b sur la console, à côté du reste du texte.
- La fonction main() doit renvoyer une valeur si le programme fonctionne correctement.
- Fin du corps de la fonction main().
Operapriorités des priorités
Une même opération peut avoir plus d'un opérateur. Dans ce cas, la priorité des opérateurs détermine celui évalué en premier.
La liste suivante montre la priorité des opérateurs dans C++, avec priorité décroissante de gauche à droite :
(), [], *, /, %, +/-, <<, >>, ==, !=, ^, |, &&, ||, ?:, =, +=, -=, *=, /=














