Relational operators are good at comparing two quantities. However, relational operators does not support comparison of three or more quantities.
For example, suppose you need to check range of a number. You need to check whether a number n is in between 1-100 or not. For that you must check two conditions, first check if n > 1 finally check if n < 100.
We use logical operators to combine two or more relational expressions as a single relational expression. Logical operators evaluates a Boolean value (integer in case of C) depending upon the operator used.
C supports three logical operators.
| Operator | Description |
|---|---|
&& | Logical AND |
|| | Logical OR |
! | Logical NOT |
Logical AND && operator
Logical AND && is a binary operator. It combines two relational expressions and evaluates 1 (true) if both the expressions are true otherwise 0 (false).
We use logical AND operator in situations when two or more conditions must be true for a decision. For example, “He is eligible for job, if he knows C and he has an experience of more than 2 years”. We can write the above statement programmatically as –
if (skill == ‘C’ && experience >= 2)
{
//He is eligible for job
}Note: Don’t confuse logical AND & with bitwise AND &.
Logical OR || operator
Logical OR || is also a binary operator. Logical OR operator is used in situations, when a decision is to be taken if any of two conditions is satisfied.
It evaluates to 1 (true) if any of the two expressions is true otherwise evaluates to 0 (false). Logical OR operators are useful when either of the two relational expressions needs to be true. For example – consider the statement “It is weekend, if it is Saturday or Sunday”. We can write the given statement programmatically as –
if(today == Saturday || today == Sunday)
{
// It is weekend
}Note: Don’t confuse logical OR || with bitwise OR |.
Logical NOT ! operator
Logical NOT ! is a unary operator that takes single operand and evaluates complement of its operand expression. It evaluates to 1 (true) if the operand is 0 (false) otherwise evaluates to 0 (false).
Let us take an example to understand – consider the statement “A person can register to my website, if he is not registered yet”. Programmatic representation of the given statement is –
if(!registered)
{
// Register the person
}