В этом руководстве мы узнаем о реляционных и логических операторах с помощью примеров.
В 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.








