Home C++ Relational operators in C++ tutorial

Relational operators in C++ tutorial

Relational operators in C++ are used to compare values. They evaluate to a boolean value, either true or false, depending on the relationship between the operands.

These operators are essential for making decisions in conditional statements and loops.

List of Relational Operators in C++

Operator Name Description Example
== Equal to Returns true if operands are equal a == b
!= Not equal to Returns true if operands are not equal a != b
> Greater than Returns true if left operand is greater a > b
< Less than Returns true if left operand is smaller a < b
>= Greater than or equal Returns true if left operand is greater/equal a >= b
<= Less than or equal Returns true if left operand is smaller/equal a <= b

1. Equal to Operator (==)

The == operator checks if two values are equal. It returns true if they are equal and false otherwise.

#include <iostream>
using namespace std;

int main() {
    int a = 5, b = 5, c = 10;

    cout << "Is a equal to b? " << (a == b) << endl;  // Output: 1 (true)
    cout << "Is a equal to c? " << (a == c) << endl;  // Output: 0 (false)

    return 0;
}

Explanation:

  • a == b returns true because both have the value 5.
  • a == c returns false because a and c have different values.

Output:

Is a equal to b? 1
Is a equal to c? 0

2. Not Equal to Operator (!=)

The != operator checks if two values are not equal. It returns true if they are not equal and false otherwise.

#include <iostream>
using namespace std;

int main() {
    int x = 5, y = 10;

    cout << "Is x not equal to y? " << (x != y) << endl;  // Output: 1 (true)
    cout << "Is x not equal to 5? " << (x != 5) << endl;  // Output: 0 (false)

    return 0;
}

Explanation:

  • x != y returns true because 5 and 10 are different.
  • x != 5 returns false because x is equal to 5.

Output:

Is x not equal to y? 1
Is x not equal to 5? 0

3. Greater Than Operator (>)

The > operator checks if the left operand is greater than the right operand.

#include <iostream>
using namespace std;

int main() {
    int a = 10, b = 5;

    cout << "Is a greater than b? " << (a > b) << endl;  // Output: 1 (true)
    cout << "Is b greater than a? " << (b > a) << endl;  // Output: 0 (false)

    return 0;
}

Explanation:

  • a > b returns true because 10 is greater than 5.
  • b > a returns false because 5 is not greater than 10.

Output:

Is a greater than b? 1
Is b greater than a? 0

4. Less Than Operator (<)

The < operator checks if the left operand is less than the right operand.

#include <iostream>
using namespace std;

int main() {
    int x = 3, y = 8;

    cout << "Is x less than y? " << (x < y) << endl;  // Output: 1 (true)
    cout << "Is y less than x? " << (y < x) << endl;  // Output: 0 (false)

    return 0;
}

Explanation:

  • x < y returns true because 3 is less than 8.
  • y < x returns false because 8 is not less than 3.

Output:

Is x less than y? 1
Is y less than x? 0

5. Greater Than or Equal To Operator (>=)

The >= operator checks if the left operand is greater than or equal to the right operand.

#include <iostream>
using namespace std;

int main() {
    int a = 5, b = 5, c = 3;

    cout << "Is a greater than or equal to b? " << (a >= b) << endl;  // Output: 1 (true)
    cout << "Is a greater than or equal to c? " << (a >= c) << endl;  // Output: 1 (true)
    cout << "Is c greater than or equal to b? " << (c >= b) << endl;  // Output: 0 (false)

    return 0;
}

Explanation:

  • a >= b returns true because a is equal to b.
  • a >= c returns true because 5 is greater than 3.
  • c >= b returns false because 3 is less than 5.

Output:

Is a greater than or equal to b? 1
Is a greater than or equal to c? 1
Is c greater than or equal to b? 0

6. Less Than or Equal To Operator (<=)

The <= operator checks if the left operand is less than or equal to the right operand.

#include <iostream>
using namespace std;

int main() {
    int x = 5, y = 10, z = 5;

    cout << "Is x less than or equal to y? " << (x <= y) << endl;  // Output: 1 (true)
    cout << "Is x less than or equal to z? " << (x <= z) << endl;  // Output: 1 (true)
    cout << "Is y less than or equal to x? " << (y <= x) << endl;  // Output: 0 (false)

    return 0;
}

Explanation:

  • x <= y returns true because 5 is less than 10.
  • x <= z returns true because x is equal to z.
  • y <= x returns false because 10 is greater than 5.

Output:

Is x less than or equal to y? 1
Is x less than or equal to z? 1
Is y less than or equal to x? 0

7. Using Relational Operators in Conditional Statements

Relational operators are commonly used in if statements to make decisions based on comparisons.

#include <iostream>
using namespace std;

int main() {
    int age = 20;

    if (age >= 18) {
        cout << "You are an adult." << endl;
    } else {
        cout << "You are a minor." << endl;
    }

    return 0;
}

Explanation:

  • if (age >= 18) checks if age is 18 or more, printing “You are an adult” if true.

Output:

You are an adult.

8. Using Relational Operators in Loops

Relational operators can be used in loops, such as for and while, to control the loop’s execution.

#include <iostream>
using namespace std;

int main() {
    int n = 5;

    cout << "Counting down from " << n << ":" << endl;
    while (n > 0) {
        cout << n << " ";
        n--;
    }
    cout << "Lift off!" << endl;

    return 0;
}

Explanation:

  • The while loop uses n > 0 as the condition, which runs until n becomes 0.

Output:

Counting down from 5:
5 4 3 2 1 Lift off!

9. Combining Relational Operators with Logical Operators

Relational operators can be combined with logical operators (&&, ||, !) to create more complex conditions.

#include <iostream>
using namespace std;

int main() {
    int score = 85;

    if (score >= 90) {
        cout << "Grade: A" << endl;
    } else if (score >= 75 && score < 90) {
        cout << "Grade: B" << endl;
    } else if (score >= 60 && score < 75) {
        cout << "Grade: C" << endl;
    } else {
        cout << "Grade: F" <<

 endl;
    }

    return 0;
}

Explanation:

  • Multiple relational and logical operators are used to evaluate the score and assign a grade.

Output:

Grade: B

10. Summary Table of Relational Operators in C++

Operator Description Example Explanation
== Equal to a == b Returns true if a equals b
!= Not equal to a != b Returns true if a is not b
> Greater than a > b Returns true if a is greater
< Less than a < b Returns true if a is smaller
>= Greater than or equal to a >= b Returns true if a is >= b
<= Less than or equal to a <= b Returns true if a is <= b

Complete Example: Using Relational Operators for a Simple Age Verification Program

This program uses relational operators to check if a person is eligible for certain age-based milestones.

#include <iostream>
using namespace std;

int main() {
    int age;

    cout << "Enter your age: ";
    cin >> age;

    if (age >= 18) {
        cout << "You are eligible to vote." << endl;
    }
    if (age >= 16) {
        cout << "You are eligible for a driving license." << endl;
    }
    if (age >= 65) {
        cout << "You are eligible for senior benefits." << endl;
    } else {
        cout << "You are not eligible for senior benefits." << endl;
    }

    return 0;
}

Explanation:

  • The program takes age as input and checks eligibility for voting, driving, and senior benefits using relational operators.

Sample Output:

Enter your age: 70
You are eligible to vote.
You are eligible for a driving license.
You are eligible for senior benefits.

Relational operators in C++ are crucial for making comparisons and controlling program flow based on conditions.

You may also like