# Logical operators in C

C programming logical operators; In this tutorial, i am going to show you logical operators in c programming and how to use logical operators in c.

There are three types of logical operators in C language. They are, logical AND (&&), logical OR (||) and logical NOT (!).

## Logical Operators in C

Logical operators are used to performing logical operations of given expressions (relational expressions) or variables in c programming language.

### Types of Logical Operators in C

The following list of logical operators in c programming; is as follows:

### Example 1 – Logical Operators in C

```#include<stdio.h>
int main()
{
int a = 5, b = 10 ,ret;
ret = ( (a <= b) || (a != b) );
// 5 <= 10 ==> true. 5 != 10 ==> true. So, 1 || 1 will return 1.
printf("Return value of above expression is %d\n",ret);
ret = ( ( a < b) && (a == b ) );
// 5 < 10 ==>true. 5 == 10 ==> false. So, 1 && 0 will return 0;
printf("Return value of above expression is %d\n",ret);
ret = ! ( ( a < b) && (a == b ) );
/*we have used the same expression here.
And its result was 0.
So !0 will be 1.*/
printf("Return value of above expression is %d\n",ret);
return 0;
}```

Output

```Return value of above expression is 1
Return value of above expression is 0
Return value of above expression is 1```

### Example 2 – Logical Operators in C

```#include <stdio.h>

int main()
{
int m=40,n=20;
int o=20,p=30;
if (m>n && m !=0)
{
printf("&& Operator : Both conditions are true\n");
}
if (o>p || p!=20)
{
printf("|| Operator : Only one condition is true\n");
}
if (!(m>n && m !=0))
{
printf("! Operator : Both conditions are true\n");
}
else
{
printf("! Operator : Both conditions are true. " \
"But, status is inverted as false\n");
}
}```

Output

```&& Operator : Both conditions are true
|| Operator : Only one condition is true
! Operator : Both conditions are true. But, status is inverted as false```

### Example 3 – Logical Operators in C

```// Working of logical operators
#include <stdio.h>
int main()
{
int a = 5, b = 5, c = 10, result;
result = (a == b) && (c > b);
printf("(a == b) && (c > b) is %d \n", result);
result = (a == b) && (c < b);
printf("(a == b) && (c < b) is %d \n", result);
result = (a == b) || (c < b);
printf("(a == b) || (c < b) is %d \n", result);
result = (a != b) || (c < b);
printf("(a != b) || (c < b) is %d \n", result);
result = !(a != b);
printf("!(a != b) is %d \n", result);
result = !(a == b);
printf("!(a == b) is %d \n", result);
return 0;
}```

Output

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