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.

  • Arithmétique Operateurs : Effectuer des opérations mathématiques telles que l'addition, la soustractiontracOpérations de division, multiplication, division, modulo, incrémentation et décrémentation sur des opérandes numériques.
  • Relationnel Operateurs : Compare deux opérandes en utilisant des vérifications d'égalité et d'ordre, et renvoie un résultat vrai ou faux.
  • 🔗 logique Operateurs : Combinez ou inversez les conditions avec ET, OU et NON pour contrôler les décisions du programme.
  • (I.e. Bitwise Operateurs : Operate directement sur les bits individuels en utilisant les opérations AND, OR, XOR, NOT et de décalage pour un travail de bas niveau plus rapide.
  • 📝 Affectation et autres Operateurs : Attribuer des valeurs, ainsi que sizeof, la virgule et l'opérateur conditionnel, chacun illustré par un exemple de sortie.
  • (I.e. OperaPriorité du tore : Les règles de priorité déterminent quel opérateur d'une expression complexe est évalué en premier.

Operateurs dans C++

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++:

  1. Arithmétique Operajeudi
  2. Relationnel Operajeudi
  3. logique Operajeudi
  4. Bitwise Operajeudi
  5. Affectation Operajeudi
  6. 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 :

Arithmétique Operajeudi

Voici une capture d'écran du code :

Arithmétique Operajeudi

Code Explication:

  1. Y compris le fichier d'en-tête iostream dans notre code. Cela nous permettra de lire et d'écrire sur la console.
  2. Y compris l'espace de noms std afin d'utiliser ses classes et fonctions sans l'appeler.
  3. 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().
  4. Déclarer une variable entière a et l'initialiser à 11.
  5. Déclarer une variable entière b et l'initialiser à 5.
  6. Déclarer une variable entière c.
  7. Affichage du résultat de l'opération a+b à côté des autres textes sur la console.
  8. Affichage de la valeur de l'opération ab à côté des autres textes sur la console.
  9. Affichage du résultat de l'opération a*b à côté des autres textes sur la console.
  10. Affichage de la valeur de l'opération a/b à côté des autres textes sur la console.
  11. Affichage de la valeur de l'opération a%b à côté d'autres textes sur la console.
  12. Affichage de la valeur de l'opération a++ à côté des autres textes sur la console.
  13. Affichage de la valeur de l'opération a– à côté des autres textes sur la console.
  14. La fonction main() doit renvoyer une valeur si le programme fonctionne correctement.
  15. 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 :

Relationnel Operajeudi

Voici une capture d'écran du code :

Relationnel Operajeudi

Code Explication:

  1. Y compris le fichier d'en-tête iostream dans notre code. Cela nous permettra de lire et d'écrire sur la console.
  2. Y compris l'espace de noms std afin d'utiliser ses classes et fonctions sans l'appeler.
  3. Appel de la fonction main() à l'intérieur de laquelle la logique du programme doit être ajoutée.
  4. Déclarer une variable entière a et l'initialiser à 11.
  5. Déclarer une variable entière b et l'initialiser à 5.
  6. Impression d'un texte sur la console indiquant les valeurs des variables a et b.
  7. Vérifier si a est égal à b en utilisant une instruction de décision if.
  8. Texte à afficher sur la console si l'opération a==b est vraie.
  9. La partie else de l'instruction if ci-dessus, indiquant ce qu'il faut faire si a==b est faux.
  10. Texte à afficher sur la console si l'opération a==b est fausse.
  11. Vérifier si a est inférieur à b en utilisant une instruction if.
  12. Texte à afficher sur la console si l'opération a
  13. La partie else pour quand un
  14. Texte à afficher sur la console si l'opération a
  15. Vérifier si a est supérieur à b à l'aide d'une instruction if.
  16. Texte à afficher sur la console si l'opération a>b est vraie.
  17. La partie else pour le cas où a>b est faux.
  18. Texte à afficher sur la console si l'opération a>b est fausse.
  19. La fonction main() doit renvoyer une valeur si le programme fonctionne correctement.
  20. 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 :

logique Operajeudi

Voici une capture d'écran du code :

logique Operajeudi

Code Explication:

  1. Y compris le fichier d'en-tête iostream dans notre code. Cela nous permettra de lire et d'écrire sur la console.
  2. Y compris l'espace de noms std afin d'utiliser ses classes et fonctions sans l'appeler.
  3. Appel de la fonction main() à l'intérieur de laquelle la logique du programme doit être ajoutée.
  4. Le { marque le début du corps de la fonction main().
  5. Déclarer 4 variables entières a, b, c et d et leur attribuer des valeurs différentes.
  6. 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.
  7. Texte à afficher dans la console si la condition ci-dessus est vraie. Ce code ne sera pas exécuté.
  8. Partie à exécuter si la condition « si » ci-dessus est fausse.
  9. Texte à imprimer sur la console si l'instruction if est fausse. Celui-ci sera exécuté.
  10. 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.
  11. Texte à afficher dans la console si la condition ci-dessus est vraie. Ce texte sera exécuté.
  12. Partie à exécuter si la condition « si » ci-dessus est fausse.
  13. Texte à imprimer sur la console si l'instruction if est fausse. Cela ne sera pas exécuté.
  14. Vérifier si la valeur de la variable b est 0.
  15. Texte à afficher dans la console si la condition ci-dessus est vraie. Ce code ne sera pas exécuté.
  16. Partie à exécuter si la condition « si » ci-dessus est fausse.
  17. Texte à imprimer sur la console si l'instruction if est fausse. Celui-ci sera exécuté.
  18. La fonction main() doit renvoyer une valeur si le programme fonctionne correctement.
  19. 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 :

Bitwise Operajeudi

Voici une capture d'écran du code :

Bitwise Operajeudi

Code Explication:

  1. Y compris le fichier d'en-tête iostream dans notre code. Cela nous permettra de lire et d'écrire sur la console.
  2. Y compris l'espace de noms std afin d'utiliser ses classes et fonctions sans l'appeler.
  3. Appel de la fonction main() à l'intérieur de laquelle la logique du programme doit être ajoutée.
  4. Déclarer une variable entière non signée p et lui attribuer la valeur 60, qui est 0011 1100 en binaire.
  5. Déclarer une variable entière non signée q et lui attribuer la valeur 13, qui est 0000 1101 en binaire.
  6. Déclarer une variable entière z et l'initialiser à 0.
  7. Effectuer l'opération bit à bit & (ET) sur les variables p et q et stocker le résultat dans la variable z.
  8. Impression du résultat de l'opération ci-dessus sur la console avec un autre texte.
  9. Exécution du bitwise | (OU) opération sur les variables p et q et stockage du résultat dans la variable z.
  10. Impression du résultat de l'opération ci-dessus sur la console avec un autre texte.
  11. Effectuer l'opération au niveau du bit ^ (XOR) sur les variables p et q et stocker le résultat dans la variable z.
  12. Impression du résultat de l'opération ci-dessus sur la console avec un autre texte.
  13. Effectuer l'opération bit à bit ~ (NON) sur la variable p et stocker le résultat dans la variable z.
  14. Impression du résultat de l'opération ci-dessus sur la console avec un autre texte.
  15. Effectuer l'opération de décalage vers la gauche sur la variable p et stocker le résultat dans la variable z.
  16. Impression du résultat de l'opération ci-dessus sur la console avec un autre texte.
  17. Effectuer l'opération de décalage à droite sur la variable p et stocker le résultat dans la variable z.
  18. Impression du résultat de l'opération ci-dessus sur la console avec un autre texte.
  19. La fonction main() doit renvoyer une valeur si le programme fonctionne correctement.
  20. 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 :

Affectation Operajeudi

Voici une capture d'écran du code :

Affectation Operajeudi

Code Explication:

  1. Y compris le fichier d'en-tête iostream dans notre code. Cela nous permettra de lire et d'écrire sur la console.
  2. Y compris l'espace de noms std afin d'utiliser ses classes et fonctions sans l'appeler.
  3. Appel de la fonction main() à l'intérieur de laquelle la logique du programme doit être ajoutée.
  4. Le { marque le début du corps de la fonction main().
  5. Déclarer une variable entière x et lui attribuer la valeur 5.
  6. Affichage de la valeur de la variable x à côté du reste du texte sur la console. \n représente un saut de ligne.
  7. Ajouter 5 à la valeur de la variable x et affecter le résultat à la variable x.
  8. Afficher la valeur de la variable x sur la console, à côté du reste du texte.
  9. Soltracen soustrayant 5 de la valeur de x et en assignant le résultat à la variable x.
  10. Afficher la valeur de la variable x sur la console, à côté du reste du texte.
  11. Multiplier la valeur de la variable x par 5 et affecter le résultat à la variable x.
  12. Afficher la valeur de la variable x sur la console, à côté du reste du texte.
  13. Diviser la valeur de la variable x par 5 et affecter le résultat à la variable x.
  14. Afficher la valeur de la variable x sur la console, à côté du reste du texte.
  15. La fonction main() doit renvoyer une valeur si le programme fonctionne correctement.
  16. 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 :

taille de l'opérateur

Voici une capture d'écran du code :

taille de l'opérateur

Code Explication:

  1. Y compris le fichier d'en-tête iostream dans notre code. Cela nous permettra de lire et d'écrire sur la console.
  2. Y compris l'espace de noms std afin d'utiliser ses classes et fonctions sans l'appeler.
  3. Appel de la fonction main() à l'intérieur de laquelle la logique du programme doit être ajoutée.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. La fonction main() doit renvoyer une valeur si le programme fonctionne correctement.
  9. 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 :

Virgule Operator

Voici une capture d'écran du code :

Virgule Operator

Code Explication:

  1. Y compris le fichier d'en-tête iostream dans notre code. Cela nous permettra de lire et d'écrire sur la console.
  2. Y compris l'espace de noms std afin d'utiliser ses classes et fonctions sans l'appeler.
  3. Appel de la fonction main() à l'intérieur de laquelle la logique du programme doit être ajoutée.
  4. Déclarer deux variables entières x et y.
  5. Attribuer à la variable ya la valeur 100.
  6. 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.
  7. Affichage de la valeur de la variable x sur la console.
  8. La fonction main() doit renvoyer une valeur si le programme fonctionne correctement.
  9. 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 :

Conditionnel Operator

Voici une capture d'écran du code :

Conditionnel Operator

Code Explication:

  1. Y compris le fichier d'en-tête iostream dans notre code. Cela nous permettra de lire et d'écrire sur la console.
  2. Y compris l'espace de noms std afin d'utiliser ses classes et fonctions sans l'appeler.
  3. Appel de la fonction main() à l'intérieur de laquelle la logique du programme doit être ajoutée.
  4. Déclarer deux variables entières a et b. La variable a a reçu la valeur 1.
  5. 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.
  6. Afficher la valeur de la variable b sur la console, à côté du reste du texte.
  7. La fonction main() doit renvoyer une valeur si le programme fonctionne correctement.
  8. 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 :

(), [], *, /, %, +/-, <<, >>, ==, !=, ^, |, &&, ||, ?:, =, +=, -=, *=, /=

FAQ

Les assistants de programmation basés sur l'IA peuvent suggérer l'opérateur approprié, expliquer la priorité des opérateurs et signaler les erreurs, comme la confusion entre = et ==. Ils accélèrent l'apprentissage, mais la compréhension du comportement des opérateurs reste essentielle pour écrire un code fiable.

Non. Les outils d'IA peuvent formater et vérifier les expressions, mais la priorité des opérations influe directement sur le résultat du programme. Connaître la priorité des opérations vous aide à lire le code, à corriger les erreurs de logique et à écrire des expressions qui se comportent exactement comme prévu.

OperaLa surcharge d'opérateurs permet de redéfinir le comportement d'un opérateur pour les types définis par l'utilisateur, tels que les classes. Par exemple, vous pouvez surcharger l'opérateur + pour additionner deux objets, ce qui confère aux types personnalisés un comportement intuitif, similaire à celui des opérateurs intégrés.

L'opérateur préfixe (++i) incrémente d'abord la valeur, puis la renvoie. L'opérateur postfixe (i++) renvoie d'abord la valeur courante, puis l'incrémente. Cette différence est importante lorsque l'incrémentation est utilisée dans une expression plus complexe.

L'opérateur = assigne une valeur à une variable, tandis que l'opérateur == compare deux valeurs pour déterminer leur égalité et renvoie vrai ou faux. Utiliser = par erreur dans une condition est une erreur fréquente.

Résumez cet article avec :