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
