I denne vejledning lærer vi om relationelle og logiske operatører ved hjælp af eksempler.
I C ++ sammenligner relationelle og logiske operatorer to eller flere operander og returnerer en true
eller begge false
værdier.
Vi bruger disse operatører til beslutningstagning.
C ++ relationsoperatører
En relationsoperatør bruges til at kontrollere forholdet mellem to operander. For eksempel,
// checks if a is greater than b a> b;
Her >
er en relationsoperatør. Den kontrollerer, om a er større end b eller ikke.
Hvis forholdet er sandt , returnerer det 1, mens hvis forholdet er falsk , returnerer det 0 .
Følgende tabel opsummerer de relationsoperatører, der anvendes i C ++.
Operatør | Betyder | Eksempel |
---|---|---|
== | Er lig med | 3 == 5 giver os falske |
!= | Ikke lig med | 3 != 5 giver os sandt |
> | Bedre end | 3> 5 giver os falske |
< | Mindre end | 3 < 5 giver os sandt |
>= | Større end eller lig med | 3>= 5 giv os falske |
<= | Mindre end eller lig med | 3 <= 5 giver os sandt |
== Operatør
Ligesom ==
operatoren vender tilbage
true
- hvis begge operanderne er ens eller de sammefalse
- hvis operanderne er ulige
For eksempel,
int x = 10; int y = 15; int z = 10; x == y // false x == z // true
Bemærk: Den relationsoperatør ==
er ikke den samme som tildelingsoperatøren =
. Tildelingsoperatøren =
tildeler en værdi til en variabel, konstant, matrix eller vektor. Den sammenligner ikke to operander.
! = Operatør
Den ikke lig med !=
operatøren vender tilbage
true
- hvis begge operander er uligefalse
- hvis begge operander er ens.
For eksempel,
int x = 10; int y = 15; int z = 10; x != y // true x != z // false
> Operatør
Jo større end >
operatøren vender tilbage
true
- hvis den venstre operand er større end den højrefalse
- hvis den venstre operand er mindre end den højre
For eksempel,
int x = 10; int y = 15; x> y // false y> x // true
<Operatør
Den mindre end operatøren <
vender tilbage
true
- hvis den venstre operand er mindre end den højrefalse
- hvis den venstre operand er større end højre
For eksempel,
int x = 10; int y = 15; x < y // true y < x // false
> = Operatør
Det større end eller lig med >=
operatørens tilbagevenden
true
- hvis den venstre operand enten er større end eller lig med højrefalse
- hvis den venstre operand er mindre end den højre
For eksempel,
int x = 10; int y = 15; int z = 10; x>= y // false y>= x // true z>= x // true
<= Operatør
Den mindre end eller lig med operatørens <=
tilbagevenden
true
- hvis den venstre operand enten er mindre end eller lig med højrefalse
- hvis den venstre operand er større end højre
For eksempel,
int x = 10; int y = 15; x> y // false y> x // true
For at lære hvordan relationsoperatører kan bruges med strenge, se vores vejledning her.
C ++ logiske operatører
Vi bruger logiske operatorer til at kontrollere, om et udtryk er sandt eller falsk . Hvis udtrykket er sandt , returnerer det 1, mens hvis udtrykket er falsk , returnerer det 0 .
Operatør | Eksempel | Betyder |
---|---|---|
&& | expression1 && expression 2 | Logisk OG. sandt kun hvis alle operander er sande. |
|| | udtryk1 || udtryk 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.
Sandhedstabel over! Operatør
Lad en være en operand. Derefter,
Eksempel 3: C ++! Operatør
// 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; )
Produktion
1 0
I dette program erklærer og initialiserer vi en int
variabel a med værdien 5
. Vi udskriver derefter et logisk udtryk
!(a == 0)
Her a == 0
evalueres false
som værdien af a er 5
. Vi bruger dog NOT-operatøren !
til a == 0
. Siden a == 0
vurderer til false
, !
inverterer operatøren resultaterne af, a == 0
og det endelige resultat er true
.
Tilsvarende !(a == 5)
vender udtrykket i sidste ende tilbage, false
fordi det a == 5
er true
.