Релационни и логически оператори на C ++ (с примери)

В този урок ще научим за релационни и логически оператори с помощта на примери.

В 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 are true.
  • false - if and only if all the operands are false.

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.

Интересни статии...