Dans ce didacticiel, nous allons découvrir les opérateurs relationnels et logiques à l'aide d'exemples.
En C ++, les opérateurs relationnels et logiques comparent deux opérandes ou plus et renvoient des valeurs true
ou false
.
Nous utilisons ces opérateurs dans la prise de décision.
Opérateurs relationnels C ++
Un opérateur relationnel est utilisé pour vérifier la relation entre deux opérandes. Par exemple,
// checks if a is greater than b a> b;
Ici, >
est un opérateur relationnel. Il vérifie si a est supérieur ou non à b.
Si la relation est vraie , elle renvoie 1 alors que si la relation est fausse , elle renvoie 0 .
Le tableau suivant résume les opérateurs relationnels utilisés en C ++.
Opérateur | Sens | Exemple |
---|---|---|
== | Est égal à | 3 == 5 nous donne du faux |
!= | Pas égal à | 3 != 5 nous donne vrai |
> | Plus grand que | 3> 5 nous donne du faux |
< | Moins que | 3 < 5 nous donne vrai |
>= | Plus grand ou égal à | 3>= 5 donne-nous faux |
<= | Inférieur ou égal à | 3 <= 5 nous donne vrai |
== Opérateur
L' ==
opérateur égal à renvoie
true
- si les deux opérandes sont égaux ou identiquesfalse
- si les opérandes sont inégaux
Par exemple,
int x = 10; int y = 15; int z = 10; x == y // false x == z // true
Remarque: l' opérateur relationnel ==
n'est pas le même que l'opérateur d'affectation =
. L'opérateur d'affectation =
affecte une valeur à une variable, une constante, un tableau ou un vecteur. Il ne compare pas deux opérandes.
! = Opérateur
L' !=
opérateur non égal à renvoie
true
- si les deux opérandes sont inégauxfalse
- si les deux opérandes sont égaux.
Par exemple,
int x = 10; int y = 15; int z = 10; x != y // true x != z // false
> Opérateur
L' >
opérateur supérieur à renvoie
true
- si l'opérande de gauche est supérieur à celui de droitefalse
- si l'opérande gauche est inférieur au droit
Par exemple,
int x = 10; int y = 15; x> y // false y> x // true
<Opérateur
L'opérateur less than <
renvoie
true
- si l'opérande gauche est inférieur au droitfalse
- si l'opérande gauche est supérieur à droit
Par exemple,
int x = 10; int y = 15; x < y // true y < x // false
> = Opérateur
L' >=
opérateur supérieur ou égal à renvoie
true
- si l'opérande de gauche est supérieur ou égal à la droitefalse
- si l'opérande gauche est inférieur au droit
Par exemple,
int x = 10; int y = 15; int z = 10; x>= y // false y>= x // true z>= x // true
<= Opérateur
L'opérateur inférieur ou égal à <=
renvoie
true
- si l'opérande de gauche est inférieur ou égal à la droitefalse
- si l'opérande gauche est supérieur à droit
Par exemple,
int x = 10; int y = 15; x> y // false y> x // true
Afin d'apprendre comment les opérateurs relationnels peuvent être utilisés avec des chaînes, reportez-vous à notre tutoriel ici.
Opérateurs logiques C ++
Nous utilisons des opérateurs logiques pour vérifier si une expression est vraie ou fausse . Si l'expression est vraie , elle renvoie 1 alors que si l'expression est fausse , elle renvoie 0 .
Opérateur | Exemple | Sens |
---|---|---|
&& | expression1 && expression 2 | ET logique. true uniquement si tous les opérandes sont vrais. |
|| | expression1 || expression 2 | Logical OR. true if at least one of the operands is true. |
! | !expression | Logical NOT. true only if the operand is false. |
C++ Logical AND Operator
The logical AND operator &&
returns
true
- if and only if all the operands aretrue
.false
- if one or more operands arefalse
.
Truth Table of && Operator
Let a and b be two operands. 0 represents false while 1 represents true. Then,
a | b | a && b |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
As we can see from the truth table above, the &&
operator returns true only if both a
and b
are true.
Note: The Logical AND operator && should not be confused with the Bitwise AND operator &.
Example 1: C++ OR Operator
// C++ program demonstrating && operator truth table #include using namespace std; int main() ( int a = 5; int b = 9; // false && false = false cout < b)) << endl; // false && true = false cout << ((a == 0) && (a < b)) << endl; // true && false = false cout < b)) << endl; // true && true = true cout << ((a == 5) && (a < b)) << endl; return 0; )
Output
0 0 0 1
In this program, we declare and initialize two int
variables a and b with the values 5
and 9
respectively. We then print a logical expression
((a == 0) && (a> b))
Here, a == 0
evaluates to false
as the value of a is 5
. a> b
is also false
since the value of a is less than that of b. We then use the AND operator &&
to combine these two expressions.
From the truth table of &&
operator, we know that false && false
(i.e. 0 && 0
) results in an evaluation of false
(0
). This is the result we get in the output.
Similarly, we evaluate three other expressions that fully demonstrate the truth table of the &&
operator.
C++ Logical OR Operator
The logical OR operator ||
returns
true
- if one or more of the operands aretrue
.false
- if and only if all the operands arefalse
.
Truth Table of || Operator
Let a and b be two operands. Then,
a | b | a || b |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
As we can see from the truth table above, the ||
operator returns false only if both a
and b
are false.
Example 2: C++ OR Operator
// C++ program demonstrating || operator truth table #include using namespace std; int main() ( int a = 5; int b = 9; // false && false = false cout < b)) << endl; // false && true = true cout << ((a == 0) || (a < b)) << endl; // true && false = true cout < b)) << endl; // true && true = true cout << ((a == 5) || (a < b)) << endl; return 0; )
Output
0 1 1 1
In this program, we declare and initialize two int
variables a and b with the values 5
and 9
respectively. We then print a logical expression
((a == 0) || (a> b))
Here, a == 0
evaluates to false
as the value of a is 5
. a> b
is also false
since the value of a is less than that of b. We then use the OR operator ||
to combine these two expressions.
From the truth table of ||
operator, we know that false || false
(i.e. 0 || 0
) results in an evaluation of false
(0
). This is the result we get in the output.
Similarly, we evaluate three other expressions that fully demonstrate the truth table of ||
operator.
C++ Logical NOT Operator !
The logical NOT operator !
is a unary operator i.e. it takes only one operand.
It returns true when the operand is false, and false when the operand is true.
Table de vérité du! Opérateur
Soit a un opérande. Ensuite,
Exemple 3: C ++! Opérateur
// C++ program demonstrating ! operator truth table #include using namespace std; int main() ( int a = 5; // !false = true cout << !(a == 0) << endl; // !true = false cout << !(a == 5) << endl; return 0; )
Production
dix
Dans ce programme, nous déclarons et initialisons une int
variable a avec la valeur 5
. Nous imprimons ensuite une expression logique
!(a == 0)
Ici, a == 0
évalue false
comme la valeur de a est 5
. Cependant, nous utilisons l'opérateur NOT !
sur a == 0
. Depuis a == 0
évalue à false
, l' !
opérateur inverse les résultats de a == 0
et le résultat final est true
.
De même, l'expression !(a == 5)
renvoie finalement false
parce que a == 5
est true
.