В този урок ще научим за релационни и логически оператори с помощта на примери.
В C ++ релационните и логическите оператори сравняват два или повече операнда и връщат или true
или false
стойности.
Ние използваме тези оператори при вземането на решения.
C ++ релационни оператори
За проверка на връзката между два операнда се използва релационен оператор. Например,
// checks if a is greater than b a> b;
Тук >
е релационен оператор. Той проверява дали a е по-голямо от b или не.
Ако връзката е вярна , тя връща 1, докато ако връзката е невярна , връща 0 .
Следващата таблица обобщава релационните оператори, използвани в C ++.
Оператор | Значение | Пример |
---|---|---|
== | Е равно на | 3 == 5 ни дава фалшив |
!= | Не е равно на | 3 != 5 ни дава истина |
> | По-голяма от | 3> 5 ни дава фалшив |
< | По-малко от | 3 < 5 ни дава истина |
>= | По - голямо или равно на | 3>= 5 дайте ни фалшиви |
<= | По-малко или равно на | 3 <= 5 ни дава истина |
== Оператор
Равността на ==
оператора се връща
true
- ако и двата операнда са равни или еднаквиfalse
- ако операндите са неравни
Например,
int x = 10; int y = 15; int z = 10; x == y // false x == z // true
Забележка: Релационният оператор ==
не е същият като оператора за присвояване =
. Операторът на =
присвояване присвоява стойност на променлива, константа, масив или вектор. Той не сравнява два операнда.
! = Оператор
!=
Връща не операторът, равен на
true
- ако и двата операнда са неравниfalse
- ако и двата операнда са равни.
Например,
int x = 10; int y = 15; int z = 10; x != y // true x != z // false
> Оператор
По-голямото от >
оператора се връща
true
- ако левият операнд е по-голям от деснияfalse
- ако левият операнд е по-малък от десния
Например,
int x = 10; int y = 15; x> y // false y> x // true
<Оператор
Операторът по-малко от се <
връща
true
- ако левият операнд е по-малък от деснияfalse
- ако левият операнд е по-голям от десния
Например,
int x = 10; int y = 15; x < y // true y < x // false
> = Оператор
Възвръщаемостта на >=
оператора е по-голяма или равна
true
- ако левият операнд е по-голям или равен на деснияfalse
- ако левият операнд е по-малък от десния
Например,
int x = 10; int y = 15; int z = 10; x>= y // false y>= x // true z>= x // true
<= Оператор
По-малко или равно на оператора се <=
връща
true
- ако левият операнд е или по-малък или равен на деснияfalse
- ако левият операнд е по-голям от десния
Например,
int x = 10; int y = 15; x> y // false y> x // true
За да научите как релационните оператори могат да се използват със низове, вижте нашия урок тук.
Логически оператори на C ++
Използваме логически оператори, за да проверим дали даден израз е верен или невярен . Ако изразът е true , той връща 1, докато ако изразът е false , той връща 0 .
Оператор | Пример | Значение |
---|---|---|
&& | израз1 && експресия 2 | Логично И. истина само ако всички операнди са истина. |
|| | израз1 || израз 2 | Логично ИЛИ. истина, ако поне един от операндите е истина. |
! | ! израз | Логично НЕ. true само ако операндът е false. |
Логически и оператор на C ++
Логическият оператор И се &&
връща
true
- ако и само ако всички операнди саtrue
.false
- ако един или повече операнди саfalse
.
Таблица на истината на && оператора
Нека a и b са два операнда. 0 представлява false, докато 1 представлява true . Тогава,
а | б | a && b |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
Както можем да видим от таблицата с истината по-горе, &&
операторът връща вярно само ако и двете a
и b
са верни.
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.
Таблица на истината на! Оператор
Нека a е операнд. Тогава,
Пример 3: C ++! Оператор
// 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; )
Изход
1 0
В тази програма декларираме и инициализираме int
променлива a със стойността 5
. След това отпечатваме логически израз
!(a == 0)
Тук a == 0
оценява на false
като стойност на a е 5
. Ние обаче използваме оператора NOT !
на a == 0
. Тъй като a == 0
оценява на false
, !
операторът обръща резултатите от a == 0
и крайният резултат е true
.
По същия начин изразът в !(a == 5)
крайна сметка се връща, false
защото a == 5
е true
.