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

У овом упутству ћемо научити о релационим и логичким операторима уз помоћ примера.

У Ц ++, релациони и логички оператори упоређују два или више операнда и враћају trueили falseвредности.

Ове операторе користимо у доношењу одлука.

Релативни оператори Ц ++

Релациони оператор се користи за проверу односа између два операнда. На пример,

 // checks if a is greater than b a> b;

Овде >је релациони оператор. Проверава да ли је а веће од б или није.

Ако је релација тачна , враћа 1, док ако је релација нетачна , враћа 0 .

Следећа табела резимира релационе операторе који се користе у Ц ++.

Оператор Значење Пример
== Је једнако 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

<= Оператор

The less than or equal to operator <= returns

  • true - if the left operand is either less than or equal to the right
  • false - if the left operand is greater than right

For example,

 int x = 10; int y = 15; x> y // false y> x // true

In order to learn how relational operators can be used with strings, refer to our tutorial here.

C++ Logical Operators

We use logical operators to check whether an expression is true or false. If the expression is true, it returns 1 whereas if the expression is false, it returns 0.

Operator Example Meaning
&& expression1 && expression 2 Logical AND.
true only if all the operands are true.
|| expression1 || expression 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 are true.
  • false - if one or more operands are false.

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 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.

Табела истине! Оператор

Нека а буде операнд. Онда,

Пример 3: Ц ++! Оператор

 // 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променљиву а са вредношћу 5. Затим исписујемо логички израз

 !(a == 0) 

Овде a == 0вреднује falseкао вредност а 5. Међутим, користимо оператер НОТ !на a == 0. Од a == 0процене на false, !оператор инвертира резултате a == 0и коначни резултат је true.

Слично томе, израз се !(a == 5)на крају враћа falseјер a == 5је true.

Занимљиви Чланци...