## Friday, July 29, 2016

### C Basics - Logical Operators in C

The following table shows all the logical operators supported by the C language. Assume variable x holds 21, y holds 10 and variable z holds 0 then.

Operator Name Syntax Description Example
Logical AND x && y If both the operands are non-zero, then the condition becomes true. z = (x && y);
z = 1
Logical OR x || y If any of the two operands is non-zero, then the condition becomes true. z = (x || y);
z = 1
Logical NOT !x It is used to reverse the logical state of its operand. If a condition is true, then Logical NOT operator will make it false. z = !x;
z = 0

&& and || are binary operators, whereas, ! is a unary operator.
``````
#include <stdio.h>

int main()
{
int x = 21;
int y = 10;
int z = 0;

printf("Logical operators demo\n");
printf("Value of x is %d\n", x );
printf("Value of y is %d\n", y );
printf("Value of z is %d\n", z );

z = (x && y);
printf("Logical AND (z = (x && y)): %d\n", z);

z = (x || y);
printf("Logical OR (z = (x || y)): %d\n", z);

z = !x;
printf("Logical NOT (z = !x)): %d\n", z);
return 0;
}
``````
The output of the above program would be:
``````
Logical operators demo
Value of x is 21
Value of y is 10
Value of z is 0
Logical AND (z = (x && y)): 1
Logical OR (z = (x || y)): 1
Logical NOT (z = !x)): 0
``````

Related topics:
Overview of Operators in C   |   Arithmetic Operators in C   |   Relational Operators in C   |   Bitwise Operators in C   |   Compound Assignment Operators in C   |   Conditional Operators in C   |   Miscellaneous Operators in C   |   Operator Precedence and Associativity in C

List of topics: C Programming