Logical operators are used to perform logical AND, OR and NOT operations. It is used to connect one or more relational/conditional expressions to form a complex logical expression. Any expression that evaluates to 0 is considered to be false and any expression that evaluates to non-zero value is considered to be true.
Logical operator example in C:
int x = 10, y = 20;
if ((x > 10) && (y > 10) { // checks whether both the expressions are true
printf("x and y are greater than 10");
}
if ((x > 10) || (y > 10) { // checks whether atleast any one of the expression is true
printf("any one or both x & y are greater than 10");
}
if (!(x > 10)) { // checks whether x is not greater than 10
printf("x is not greater than 10");
}
Logical operators in C:
| Operator | Operation |
| && | logical AND |
| || | logical OR |
| ! | logical NOT |
Below is the truth table for AND, OR and NOT logical operators.
Truth table for logical AND operator:
| Operand1 | Operand2 | Result |
| False | False | False |
| False | True | False |
| True | False | False |
| True | True | True |
Truth table for logical OR operator:
| Operand1 | Operand2 | Result |
| False | False | False |
| False | True | True |
| True | False | True |
| True | True | True |
Truth table for logical NOT operator:
| Operand | Result |
| False | True |
| True | False |
Example C program using Logical Operators:
#include <stdio.h>
int main() {
int a, b;
printf("Enter two number: ");
scanf("%d%d", &a, &b);
if ((a > 100) && (b > 100)) {
printf("Both %d and %d are greater than 100\n", a, b);
printf("Assigning 50 t0 b\n");
b = 50;
}
if ((b > 100) || (a > 100)) {
printf("\nHitting Logical OR\n");
printf("%d is greater than 100\n\n", a);
}
if (!(b > 100)) {
printf("%d is not greater than 100\n", b);
printf("Hitting Logical NOT\n");
}
return 0;
}
Output:
jp@jp-VirtualBox:~/$ ./a.out
Enter two number: 101 200
Both 101 and 200 are greater than 100
Assigning 50 t0 b
Hitting Logical OR
101 is greater than 100
50 is not greater than 100
Hitting Logical NOT
Enter two number: 101 200
Both 101 and 200 are greater than 100
Assigning 50 t0 b
Hitting Logical OR
101 is greater than 100
50 is not greater than 100
Hitting Logical NOT
No comments:
Post a Comment