Relational operators check if a specific relation between two operands is true. The result is either 1 (which means true) or 0 (which means false). Usually it is used to control the flow of program in control statements. The result can also be used as a variable later.
Equals “==”
It checks whether the operands (left and right) are equal or not (true: if equals and false : if not equal)
1 == 0; /* evaluates to 0. */
1 == 1; /* evaluates to 1. */
int x = 5;
int y = 5;
int *xptr = &x, *yptr = &y;
xptr == yptr; /* evaluates to 0, the operands hold different location addresses. */
*xptr == *yptr; /* evaluates to 1, the operands point at locations that hold the same value. */
Not Equals “!=”
It checks if the operands are not equal (true : if not equal & false : if equals)
1 != 0; /* evaluates to 1. */
1 != 1; /* evaluates to 0. */
int x = 5;
int y = 5;
int *xptr = &x, *yptr = &y;
xptr != yptr; /* evaluates to 1, the operands hold different location addresses. */
*xptr != *yptr; /* evaluates to 0, the operands point at locations that hold the same value. */
Not “!”
It checks if the the object is equal to 0 and sometimes used to negate the boolean value
!someVariable;
// this has the same effect as that of
someVariable == 0;
someBool = !someBool; // this negates the value of someBool (value becomes true if it is false and becomes false if it is true)
Greater than “>”
This checks if the left operand is greater than right operand
int i = 10;
bool res = i > 20; // returns false as i is not greater than 20
res= i > 5; // return true as i is greater than 5
res = i > 10; // return false as i is not greater than 10
Less Than “<“
This checks if the left operand is less than right operand
int i = 10;
bool res = i < 20; // returns true as i is less than 20
res= i < 5; // return false as i is not less than 5
res = i < 10; // return false as i is not less than 10
Greater than or equal to “>=”
This checks if the left operand is greater than right operand
int i = 10;
bool res = i >= 20; // returns false as i is not greater than or equal to 20
res= i >= 5; // return true as i is greater than or equal to 5
res = i >= 10; // return true as i is equal to 10
Less than or equal to “<=”
This checks if the left operand is less than right operand
int i = 10;
bool res = i <= 20; // returns true as i is less than 20
res= i <= 5; // return false as i is not less than 5
res = i <= 10; // return true as i is equal to 10