Relational operators help us compare two values to see how they relate to each other, like if one is bigger or smaller.
Relational operators in C++
value1 < value2 value1 > value2 value1 <= value2 value1 >= value2 value1 == value2 value1 != value2
Use == to check if two values are equal, not = which assigns a value.
Relational operators return true or false (boolean values).
a is less than b. It is true because 5 is less than 10.int a = 5; int b = 10; bool result = a < b; // true
x is equal to y. It is true because both are 7.int x = 7; int y = 7; bool result = x == y; // true
m is not equal to n. It is true because 3 is not 8.int m = 3; int n = 8; bool result = m != n; // true
This program compares two ages using relational operators and prints the results as 1 (true) or 0 (false).
#include <iostream> using namespace std; int main() { int age1 = 20; int age2 = 25; cout << "Is age1 less than age2? " << (age1 < age2) << "\n"; cout << "Is age1 equal to age2? " << (age1 == age2) << "\n"; cout << "Is age1 not equal to age2? " << (age1 != age2) << "\n"; return 0; }
Relational operators always return a boolean value: true or false.
In C++, true prints as 1 and false prints as 0 when using cout.
Be careful to use == for comparison, not = which is for assignment.
Relational operators compare two values and return true or false.
They include <, >, <=, >=, ==, and !=.
Use them to make decisions based on how values relate to each other.
Practice
Which of the following relational operators checks if two values are not equal in C++?
Solution
Step 1: Understand the meaning of each operator
The operator==checks equality,<=and>=check less or equal and greater or equal respectively.Step 2: Identify the operator for 'not equal'
The operator!=means 'not equal' in C++.Final Answer:
!= -> Option BQuick Check:
Not equal operator = != [OK]
- Confusing == with !=
- Thinking <= means not equal
- Mixing up >=
- Using = instead of ==
Which of the following is the correct syntax to compare if a is greater than b in C++?
int a = 5, b = 3;
if (___) {
// code
}Solution
Step 1: Recall the correct operator for 'greater than'
The operator for 'greater than' is>. The operator>=means 'greater than or equal to'.Step 2: Check syntax correctness
a > bis the correct syntax to check ifais strictly greater thanb. Other options are invalid syntax.Final Answer:
a > b -> Option AQuick Check:
Greater than operator = > [OK]
- Using => instead of >=
- Using >< which is invalid
- Confusing >= with >
- Missing spaces causing syntax errors
What will be the output of the following C++ code?
int x = 7, y = 10;
if (x <= y) {
std::cout << "Yes";
} else {
std::cout << "No";
}Solution
Step 1: Evaluate the relational expression
Check ifx <= ymeans 7 is less than or equal to 10, which is true.Step 2: Determine which branch executes
Since the condition is true, theifblock runs and prints "Yes".Final Answer:
Yes -> Option DQuick Check:
7 <= 10 is true, so output is Yes [OK]
- Confusing <= with <
- Assuming else block runs
- Printing variable values instead of strings
- Ignoring the condition result
Find the error in the following C++ code snippet:
int a = 4, b = 9;
if (a = b) {
std::cout << "Equal";
} else {
std::cout << "Not Equal";
}Solution
Step 1: Identify the operator in the if condition
The condition usesa = b, which assigns value ofbtoainstead of comparing.Step 2: Correct the operator for comparison
To compare, the operator should be==, so the condition should bea == b.Final Answer:
Using assignment operator instead of equality operator in if condition -> Option CQuick Check:
Use == for comparison, not = [OK]
- Using = instead of ==
- Forgetting to compare variables
- Assuming assignment returns boolean false
- Ignoring compiler warnings
Given the code below, what will be the output?
int a = 5, b = 5, c = 10;
if (a == b && c > b) {
std::cout << "Match";
} else if (a != b || c < b) {
std::cout << "Mismatch";
} else {
std::cout << "Unknown";
}Solution
Step 1: Evaluate the first if condition
Checka == b(5 == 5) is true, andc > b(10 > 5) is true, so the whole condition is true.Step 2: Determine which block executes
Since the first condition is true, "Match" is printed and the rest is skipped.Final Answer:
Match -> Option AQuick Check:
Both conditions true, so output is Match [OK]
- Confusing && and || operators
- Ignoring short-circuit evaluation
- Assuming else if runs after true if
- Misreading relational comparisons
Ready to prove it?
Pass the test and this pattern moves unknown
