Preview

# 3 Types of logical operators in C++

Logical operators combine relational expressions. The output of a logical expression is always 1 or 0.

There are 3 Types of logical operators in C++ as follows:

## i. Logical AND operator in C++ (&&)

&&(Double Ampersand)  is known as  Logical AND  operator in C++.  If any input to logical AND operator is 0, output is  0. If all the inputs of logical AND  are 1, output is  1.

### Truth table for Logical AND operator is

 Input1 Input2 Output 0 0 0 0 1 0 1 0 0 1 1 1

Examples

4>3 && 7>5  =1  //Result is 1 as 4>3 is 1  and 7>5  is also 1.

4 >3 && 7<5 = 0 //Result is 0 as 4>3 is 1  and 7<5  is 0.

## ii. Logical OR operator in C++ (||)

|| (Double Pipes) is called  Logical OR operator. If any input of logical OR operator is 1, output is 1. If all inputs are 0, output is 0.

### Truth table for Logical OR operator is

 Input1 Input2 Output 0 0 0 0 1 1 1 0 1 1 1 1

Examples

7>3 || 7<5 = 1  //Result is 1 as 7>3 is 1  and 7<5  is  0.

7<3 || 7<5  =0 //Result is 0 as 7<3 is 0 and 7<5  is  also 0.

## iii. Logical NOT operator in C++ (!)

! (Sign of Exclamation) is called Logical NOT operator. If input of logical NOT operator is 1, output is 0. If input is 0, output is 1.

### Truth table for Logical Not operator is

 Input Output 0 1 1 0

Examples

!(7 >3) = 0  //Result is 0 as 7>3 is 1  and reverse of 1 is 0.

!(7<5) = 1  //Result is 1 as 7<5 is 0  and reverse of  0 is 1.

//Program to demonstrate the use of logical operators.

```#include<iostream>
using namespace std;
int main()
{
int a=10,b=3;
cout<<”\na>0 && b>0=”<<(a>0 && b>0);
cout<<”\n a>0 && b<0=”<<( a>0 && b<0);
cout<<”\n a>0 || b<0=”<<(a>0 || b<0);
cout<<”\n a<0 || b<0=”<<( a<0 || b<0);
cout<<”\n!(a==b)=”<<!(a==b);
cout<<”\n!( a<0 || b<0)=”<<!(a<0 || b<0);
return 0;
}```

### Output

```a>0 && b>0=1
a>0 && b<0=0
a>0 || b<0=1
a<0 || b<0=0
!(a==b)=1
!(a<0 || b<0)=1```