C++ - Comparison Operators

Comparison Operators in C++

C++ comparison operators are used to compare two values or expressions. The result of these comparisons is a boolean value, either true or false, depending on whether the condition specified by the operator is met. These operators are commonly used in if, while, and for loops to control the flow of the program based on conditions.

1. List of C++ Comparison Operators

C++ provides several comparison operators:

  • == : Equal to
  • != : Not equal to
  • < : Less than
  • > : Greater than
  • <= : Less than or equal to
  • >= : Greater than or equal to

2. Detailed Explanation of Comparison Operators

2.1 Equal to (==)

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


#include 
using namespace std;

int main() {
    int a = 10, b = 10;
    if (a == b) {
        cout << "a is equal to b" << endl;  // Output: a is equal to b
    }
    return 0;
}

In this example, a == b evaluates to true because both a and b have the same value (10).

2.2 Not equal to (!=)

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


#include 
using namespace std;

int main() {
    int a = 10, b = 5;
    if (a != b) {
        cout << "a is not equal to b" << endl;  // Output: a is not equal to b
    }
    return 0;
}

In this example, a != b evaluates to true because a (10) is not equal to b (5).

2.3 Less than (<)

The < operator checks if the left operand is less than the right operand. It returns true if the left operand is smaller than the right operand, and false otherwise.


#include 
using namespace std;

int main() {
    int a = 5, b = 10;
    if (a < b) {
        cout << "a is less than b" << endl;  // Output: a is less than b
    }
    return 0;
}

In this example, a < b evaluates to true because a (5) is less than b (10).

2.4 Greater than (>)

The > operator checks if the left operand is greater than the right operand. It returns true if the left operand is larger than the right operand, and false otherwise.


#include 
using namespace std;

int main() {
    int a = 20, b = 15;
    if (a > b) {
        cout << "a is greater than b" << endl;  // Output: a is greater than b
    }
    return 0;
}

In this example, a > b evaluates to true because a (20) is greater than b (15).

2.5 Less than or equal to (<=)

The <= operator checks if the left operand is less than or equal to the right operand. It returns true if the left operand is smaller than or equal to the right operand, and false otherwise.


#include 
using namespace std;

int main() {
    int a = 5, b = 10;
    if (a <= b) {
        cout << "a is less than or equal to b" << endl;  // Output: a is less than or equal to b
    }
    return 0;
}

In this example, a <= b evaluates to true because a (5) is less than b (10).

2.6 Greater than or equal to (>=)

The >= operator checks if the left operand is greater than or equal to the right operand. It returns true if the left operand is larger than or equal to the right operand, and false otherwise.


#include 
using namespace std;

int main() {
    int a = 15, b = 15;
    if (a >= b) {
        cout << "a is greater than or equal to b" << endl;  // Output: a is greater than or equal to b
    }
    return 0;
}

In this example, a >= b evaluates to true because a (15) is equal to b (15).

3. Precedence and Associativity of Comparison Operators

Comparison operators in C++ have lower precedence than arithmetic operators. This means arithmetic operations are performed before comparison operations unless parentheses are used to alter the order of evaluation.

3.1 Operator Precedence

The comparison operators have lower precedence than arithmetic operators such as +, -, *, and /. The precedence is as follows:

  • *, /, % (Arithmetic operators)
  • ==, !=, <, >, <=, >= (Comparison operators)

3.2 Operator Associativity

Comparison operators have left-to-right associativity. This means that if multiple comparison operators appear in the same expression, they are evaluated from left to right.

4. Using Comparison Operators in Conditional Statements

Comparison operators are often used in conditional statements such as if, else if, and while to control the flow of the program based on conditions.

4.1 Example with if Statement


#include 
using namespace std;

int main() {
    int a = 10, b = 20;
    if (a < b) {
        cout << "a is less than b" << endl;  // Output: a is less than b
    }
    return 0;
}

In this example, the condition a < b evaluates to true, so the code inside the if block is executed.

4.2 Example with while Loop


#include 
using namespace std;

int main() {
    int a = 5, b = 10;
    while (a < b) {
        cout << "a is less than b" << endl;  // Output: a is less than b
        break;  // Exit the loop after one iteration
    }
    return 0;
}

In this example, the while loop checks if a < b is true. Since it is true, the loop executes and prints the message once.

logo

C++

Beginner 5 Hours

Comparison Operators in C++

C++ comparison operators are used to compare two values or expressions. The result of these comparisons is a boolean value, either true or false, depending on whether the condition specified by the operator is met. These operators are commonly used in if, while, and for loops to control the flow of the program based on conditions.

1. List of C++ Comparison Operators

C++ provides several comparison operators:

  • == : Equal to
  • != : Not equal to
  • < : Less than
  • > : Greater than
  • <= : Less than or equal to
  • >= : Greater than or equal to

2. Detailed Explanation of Comparison Operators

2.1 Equal to (==)

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

#include using namespace std; int main() { int a = 10, b = 10; if (a == b) { cout << "a is equal to b" << endl; // Output: a is equal to b } return 0; }

In this example, a == b evaluates to true because both a and b have the same value (10).

2.2 Not equal to (!=)

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

#include using namespace std; int main() { int a = 10, b = 5; if (a != b) { cout << "a is not equal to b" << endl; // Output: a is not equal to b } return 0; }

In this example, a != b evaluates to true because a (10) is not equal to b (5).

2.3 Less than (<)

The < operator checks if the left operand is less than the right operand. It returns true if the left operand is smaller than the right operand, and false otherwise.

#include using namespace std; int main() { int a = 5, b = 10; if (a < b) { cout << "a is less than b" << endl; // Output: a is less than b } return 0; }

In this example, a < b evaluates to true because a (5) is less than b (10).

2.4 Greater than (>)

The > operator checks if the left operand is greater than the right operand. It returns true if the left operand is larger than the right operand, and false otherwise.

#include using namespace std; int main() { int a = 20, b = 15; if (a > b) { cout << "a is greater than b" << endl; // Output: a is greater than b } return 0; }

In this example, a > b evaluates to true because a (20) is greater than b (15).

2.5 Less than or equal to (<=)

The <= operator checks if the left operand is less than or equal to the right operand. It returns true if the left operand is smaller than or equal to the right operand, and false otherwise.

#include using namespace std; int main() { int a = 5, b = 10; if (a <= b) { cout << "a is less than or equal to b" << endl; // Output: a is less than or equal to b } return 0; }

In this example, a <= b evaluates to true because a (5) is less than b (10).

2.6 Greater than or equal to (>=)

The >= operator checks if the left operand is greater than or equal to the right operand. It returns true if the left operand is larger than or equal to the right operand, and false otherwise.

#include using namespace std; int main() { int a = 15, b = 15; if (a >= b) { cout << "a is greater than or equal to b" << endl; // Output: a is greater than or equal to b } return 0; }

In this example, a >= b evaluates to true because a (15) is equal to b (15).

3. Precedence and Associativity of Comparison Operators

Comparison operators in C++ have lower precedence than arithmetic operators. This means arithmetic operations are performed before comparison operations unless parentheses are used to alter the order of evaluation.

3.1 Operator Precedence

The comparison operators have lower precedence than arithmetic operators such as +, -, *, and /. The precedence is as follows:

  • *, /, % (Arithmetic operators)
  • ==, !=, <, >, <=, >= (Comparison operators)

3.2 Operator Associativity

Comparison operators have left-to-right associativity. This means that if multiple comparison operators appear in the same expression, they are evaluated from left to right.

4. Using Comparison Operators in Conditional Statements

Comparison operators are often used in conditional statements such as if, else if, and while to control the flow of the program based on conditions.

4.1 Example with if Statement

#include using namespace std; int main() { int a = 10, b = 20; if (a < b) { cout << "a is less than b" << endl; // Output: a is less than b } return 0; }

In this example, the condition a < b evaluates to true, so the code inside the if block is executed.

4.2 Example with while Loop

#include using namespace std; int main() { int a = 5, b = 10; while (a < b) { cout << "a is less than b" << endl; // Output: a is less than b break; // Exit the loop after one iteration } return 0; }

In this example, the while loop checks if a < b is true. Since it is true, the loop executes and prints the message once.

Related Tutorials

Frequently Asked Questions for C++

A void pointer is a special type of pointer that can point to any data type, making it versatile for generic data handling.

Dynamic memory allocation in C++ refers to allocating memory at runtime using operators like new and delete, providing flexibility in memory management.

Templates in C++ allow functions and classes to operate with generic types, enabling code reusability and type safety.

Iterators are objects that allow traversal through the elements of a container in the STL, providing a uniform way to access elements.

C++ is an object-oriented programming language that extends C by adding features like classes, inheritance, and polymorphism. Unlike C, which is procedural, C++ supports both procedural and object-oriented paradigms.

An array in C++ is declared by specifying the type of its elements followed by the array name and size in square brackets, e.g., int arr[10];.

The new operator allocates memory dynamically on the heap, while the delete operator deallocates memory, preventing memory leaks.

Type casting in C++ is the process of converting a variable from one data type to another, either implicitly or explicitly.

Inheritance is a feature in C++ where a new class (derived class) acquires properties and behaviors (methods) from an existing class (base class).

Operator overloading enables the redefinition of the way operators work for user-defined types, allowing operators to be used with objects of those types.

Function overloading allows multiple functions with the same name but different parameters to coexist in a C++ program, enabling more intuitive function calls.

In C++, a class is declared using the class keyword, followed by the class name and a pair of curly braces containing member variables and functions.

No, a C++ program cannot execute without a main() function, as it is the designated entry point for program execution.

Vectors are dynamic arrays provided by the STL in C++ that can grow or shrink in size during program execution.

A namespace in C++ is a declarative region that provides a scope to the identifiers (names of types, functions, variables) to avoid name conflicts.

The primary difference is that members of a struct are public by default, whereas members of a class are private by default.

The const keyword in C++ is used to define constants, indicating that the value of a variable cannot be changed after initialization.

Exception handling in C++ is a mechanism to handle runtime errors using try, catch, and throw blocks, allowing a program to continue execution after an error.

The STL is a collection of template classes and functions in C++ that provide general-purpose algorithms and data structures like vectors, lists, and maps.

A reference in C++ is an alias for another variable, whereas a pointer holds the memory address of a variable. References cannot be null and must be initialized upon declaration.

Pointers in C++ are variables that store memory addresses of other variables. They allow for dynamic memory allocation and efficient array handling.

Polymorphism allows objects of different classes to be treated as objects of a common base class, enabling a single function or operator to work in different ways.

Constructors are special member functions that initialize objects when they are created. Destructors are called when objects are destroyed, used to release resources.

These access specifiers define the accessibility of class members. Public members are accessible from outside the class, private members are not, and protected members are accessible within the class and by derived classes.

The main() function serves as the entry point for a C++ program. It is where the execution starts and ends.

line

Copyrights © 2024 letsupdateskills All rights reserved