Operateurs dans C++ avec exemple : qu'est-ce que c'est, types et programmes
Quels sont Operatorseurs ?
Un opérateur est un symbole utilisé pour effectuer des opérations sur des opérandes. Un opérateur opère sur des opérandes. Les opérations peuvent être mathématiques ou logiques. Il existe différents types d'opérateurs dans 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
Arithmétique Operajeudi
Ce sont les types d’opérateurs utilisés pour effectuer des opérations mathématiques/arithmétiques. Ils comprennent:
Operator | Description |
---|---|
+ opérateur d'addition | Ajoute aux opérandes. |
– opérateur de soustraction | Soustrait 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 :
Explication du code :
- 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 a et l'initialiser à 11.
- Déclarer une variable entière b et l'initialiser à 5.
- Déclarer une variable entière c.
- Impression de la valeur de l'opération a+b avec un autre texte sur la console.
- Impression de la valeur de l'opération ab avec un autre texte sur la console.
- Impression de la valeur de l'opération a*b avec un autre texte sur la console.
- Impression de la valeur de l'opération a/b avec un autre texte sur la console.
- Impression de la valeur de l'opération a%b avec un autre texte sur la console.
- Impression de la valeur de l'opération a++ avec un autre texte sur la console.
- Impression de la valeur de l'opération a– à côté d'un autre texte 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:
Operator | Description |
---|---|
== égal à l'opérateur. | Vérifie l'égalité de deux valeurs d'opérande. |
!= différent de l'opérateur | Vérifie l'égalité de deux valeurs d'opérande. |
> super qu'opérateur | Vérifie si la valeur de l’opérande gauche est supérieure à la valeur de l’opérande droit. |
< inférieur à l'opérateur. | Vérifie si la valeur de l’opérande gauche est inférieure à la valeur de l’opérande droit. |
>= opérateur supérieur ou égal à | Vérifie si la valeur de l’opérande gauche est supérieure ou égale à la valeur de l’opérande droit. |
<= inférieur ou égal à l'opérateur. | Vérifie si la valeur de l’opérande gauche est inférieure ou égale à la valeur de l’opérande droit. |
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 :
Explication du code :
- 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 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.
- Effectuer l'opération arithmétique, a==b dans une instruction de prise de décision if pour savoir si c'est vrai ou faux. Le { marque le début du corps de l'instruction if.
- Texte à imprimer sur la console si l'opération a==b est vraie. Le endl est un C++ mot-clé pour la ligne de fin. Il pousse le curseur pour lancer l'impression dans la ligne suivante. Le } marque la fin du corps de l'instruction if.
- La partie else de l'instruction if ci-dessus. Il indique quoi faire si l'opération a==b est fausse.
- Texte à imprimer sur la console si l'opération a==b est fausse. Le endl est un C++ mot-clé pour la ligne de fin. Il pousse le curseur pour lancer l'impression dans la ligne suivante. Le } marque la fin du corps de l'instruction else.
- En effectuant l'opération arithmétique, un
- Texte à imprimer sur la console si l'opération a C++ mot-clé pour la ligne de fin. Il pousse le curseur pour lancer l'impression dans la ligne suivante. Le } marque la fin du corps de l'instruction if.
- La partie else de l'instruction if ci-dessus. Il indique quoi faire si l'opération est
- Texte à imprimer sur la console si l'opération a C++ mot-clé pour la ligne de fin. Il pousse le curseur pour lancer l'impression dans la ligne suivante. Le } marque la fin du corps de l'instruction else.
- Effectuer l'opération arithmétique a>b dans une instruction de prise de décision if pour savoir si elle est vraie ou fausse. Le { marque le début du corps de l'instruction if.
- Texte à imprimer sur la console si l'opération a>b est vraie. Le endl est un C++ mot-clé pour la ligne de fin. Il pousse le curseur pour lancer l'impression dans la ligne suivante. Le } marque la fin du corps de l'instruction if.
- La partie else de l'instruction if ci-dessus. Il indique quoi faire si l'opération a>b est fausse.
- Texte à imprimer sur la console si l'opération a>b est fausse. Le endl est un C++ mot-clé pour la ligne de fin. Il pousse le curseur pour lancer l'impression dans la ligne suivante. Le } marque la fin du corps de l'instruction else.
- La fonction main() doit renvoyer une valeur si le programme fonctionne correctement.
- Fin du corps de la fonction main().
logique Operajeudi
La Opérateurs logiques combiner deux ou plusieurs contraintes/conditions. Les opérateurs logiques complètent également l'évaluation de l'état d'origine considéré. Ils comprennent:
Operator | Description |
---|---|
&& opérateur ET logique. | La condition est vraie si les deux opérandes ne sont pas nuls. |
|| opérateur logique OU. | La condition est vraie si l’un des opérandes est non nul. |
! opérateur NON logique. | Il inverse l'état logique de l'opérande. Si l'opérande est vrai, le ! 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 :
Explication du code :
- 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.
- Utilisation de l'opérateur && (AND) dans l'instruction if. Il joint deux conditions, la valeur de a est égale à la valeur de b et la valeur de a est supérieure à la valeur de b. La première condition est fausse, la deuxième condition est vraie. False&&true est False, donc le résultat de if est faux.
- Texte à imprimer sur la console si la déclaration if ci-dessus est vraie. Cela ne sera pas exécuté.
- Partie à exécuter si l'instruction if ci-dessus est fausse.
- Texte à imprimer sur la console si l'instruction if est fausse. Celui-ci sera exécuté.
- Utilisation du || Opérateur (OR) dans une instruction if. Il joint deux conditions, la valeur de a est égale à la valeur de b et la valeur de a est supérieure à la valeur de b. La première condition est fausse, la deuxième condition est vraie. False||true est True, donc le résultat de if est vrai.
- Texte à imprimer sur la console si la déclaration if ci-dessus est vraie. Celui-ci sera exécuté.
- Partie à exécuter si l'instruction if 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 est 0.
- Texte à imprimer sur la console si la déclaration if ci-dessus est vraie. Cela ne sera pas exécuté.
- Partie à exécuter si l'instruction if 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érateurs sont convertis au niveau bit, puis les opérations sont effectuées sur les opérandes. Lorsque des opérations arithmétiques telles que l'addition et la soustraction sont effectuées au niveau du bit, les résultats peuvent être obtenus plus rapidement. Ils comprennent:
Operator | Description |
---|---|
& (ET au niveau du bit). | Il faut 2 nombres (opérandes) puis effectue ET sur chaque bit de deux nombres. Si les deux valent 1, AND renvoie 1, sinon 0. |
| (OU au niveau du bit) | Prend 2 nombres (opérandes) puis effectue OU sur chaque bit de deux nombres. Il renvoie 1 si l'un des bits est 1. |
^ (le XOR au niveau du bit) | Prend 2 nombres (opérandes) puis effectue XOR sur chaque bit de 2 nombres. Il renvoie 1 si les deux bits sont différents. |
<< (décalage à gauche) | Prend deux nombres puis décale à gauche les bits du premier opérande. Le deuxième opérande détermine le nombre total de places à déplacer. |
>> (décalage à droite) | Prend deux nombres puis décale vers la droite les bits du premier opérande. Le deuxième opérande détermine le nombre de places à décaler. |
~ (au niveau du bit NON). | Prend le 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 :
Explication du code :
- 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 non signée p et lui attribuer une valeur de 60, soit 0011 1100 en binaire.
- Déclarer une variable entière non signée q et lui attribuer la valeur 13, soit 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 au niveau du bit ~ (NOT) 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 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 affecter des valeurs aux variables. L'opérande/variable est ajouté à gauche de l'opérateur tandis que la valeur est ajoutée à droite de l'opérateur. La variable et la valeur doivent appartenir au même type de données, sinon, la C++ le compilateur générera une erreur.
Par exemple :
x = 5;
Dans l'exemple ci-dessus, x est la variable/opérande, = est l'opérateur d'affectation tandis que 5 est la valeur. Voici les opérateurs d'affectation populaires dans C++:
Operator | 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. |
-= (Opérateur de soustraction ET d'affectation) | Soustrait la valeur de l'opérande droit de l'opérande gauche, puis affecte 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 :
Explication du code :
- 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.
- Impression de la valeur de la variable x à côté d'un autre texte sur la console. Le \n est un caractère de nouvelle ligne. Il déplace le curseur vers la ligne suivante lors de l'impression.
- Ajouter 5 à la valeur de la variable x et attribuer le résultat à la variable x.
- Impression de la valeur de la variable x sur la console à côté d'un autre texte.
- Soustraire 5 de la valeur de x et attribuer le résultat à la variable x.
- Impression de la valeur de la variable x sur la console à côté d'un autre texte.
- Multiplier la valeur de la variable x par 5 et attribuer le résultat à la variable x.
- Impression de la valeur de la variable x sur la console à côté d'un autre texte.
- Diviser la valeur de la variable x par 5 et attribuer le résultat à la variable x.
- Impression de la valeur de la variable x sur la console à côté d'un autre 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 l'opérateur sizeof, virgule Operator, Conditionnel Operator, et Operapriorités.
Discutons d'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 :
Explication du code :
- 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éterminer la taille du type de données entier à l'aide de l'opérateur sizeof et l'imprimer avec un autre texte sur la console.
- Déterminer la taille du type de données caractère à l'aide de l'opérateur sizeof et l'imprimer avec un autre texte sur la console.
- Déterminer la taille du type de données float à l'aide de l'opérateur sizeof et l'imprimer avec un autre texte sur la console.
- Déterminer la taille du type de données float à l'aide de l'opérateur sizeof et l'imprimer avec un autre 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
La opérateur virgule (,) 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 deuxième opérande et renvoie la valeur et le 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 :
Explication du code :
- 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 deux variables entières x et y.
- Attribuer à la variable ya la valeur 100.
- Incrémentation de la valeur de y et attribution du résultat à la variable x. Il commence par y à 100, puis l'incrémente jusqu'à 101 (y++). Ensuite, y est ajouté à 10. Enfin, y, toujours à 101, est ajouté à 99, ce qui donne 200. x vaut désormais 200.
- Impression 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.
- Expression1 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 :
Explication du code :
- 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 deux variables entières a et b. La variable a a reçu la valeur 1.
- Attribuer 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.
- Impression de la valeur de la variable b sur la console à côté d'un autre 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 :
(), [],*, /, %, +/-, << , >>, == , !=, ^, |, &&, ||, ?:, =, +=, -=, *= , /=
Résumé
- OperaLes tores sont des symboles permettant d'effectuer des opérations logiques et arithmétiques.
- Les opérateurs arithmétiques nous aident à effectuer diverses opérations arithmétiques sur les opérandes.
- Les opérateurs relationnels nous aident à effectuer diverses opérations de comparaison sur les opérandes.
- Les opérateurs logiques nous aident à effectuer diverses opérations logiques sur les opérandes.
- Opérateurs au niveau du bit aidez-nous à effectuer des opérations au niveau du bit sur les opérandes.
- Les opérateurs d'affectation nous aident à effectuer diverses opérations arithmétiques sur les opérandes.
- L'opérateur sizeof renvoie la taille d'une variable ou d'un type de données.
- L'opérateur virgule exécute une séquence d'opérations.
- L'opérateur conditionnel évalue une condition et agit en fonction du résultat.