В этом руководстве мы узнаем о реляционных и логических операторах с помощью примеров.
В 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 ++
Мы используем логические операторы, чтобы проверить, является ли выражение истинным или ложным . Если выражение истинно , оно возвращает 1, тогда как если выражение ложно , оно возвращает 0 .
Оператор | пример | Смысл |
---|---|---|
&& | выражение1 && выражение 2 | Логическое И. истина, только если все операнды верны. |
|| | выражение1 || выражение 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.
Таблица Правды! Оператор
Пусть 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
. Тем не менее, мы используем оператор НЕ !
на a == 0
. Поскольку a == 0
вычисляется false
, !
оператор инвертирует результаты, a == 0
и конечный результат равен true
.
Точно так же выражение в !(a == 5)
конечном итоге возвращается, false
потому что a == 5
есть true
.