The if
and if-else
conditionals are fundamental control structures in C++ that allow making decisions based on boolean evaluations (true or false).
If you want to learn more about Conditionals
check the Introduction to Programming Course read more ⯈
The IF Conditional
The if
structure evaluates a boolean expression and executes a block of code only if the expression is true
. The basic syntax of an if
conditional in C++ is:
if (condition) {
// Code to execute if the condition is true
}
Let’s see it with an example:
int number = 10;
if (number > 5) {
std::cout << "The number is greater than 5" << std::endl;
}
In this example, the condition number > 5
evaluates to true
, so the message “The number is greater than 5” is printed to the console.
The IF ELSE Conditional
The if
conditional allows adding an else
block of alternative code that will execute if the if
condition is false
. The basic syntax is:
if (condition) {
// Code to execute if the condition is true
} else {
// Code to execute if the condition is false
}
Let’s see it with an example:
int number = 3;
if (number > 5) {
std::cout << "The number is greater than 5" << std::endl;
} else {
std::cout << "The number is not greater than 5" << std::endl;
}
In this case, the condition number > 5
is false
, so the block of code inside the else
executes, printing “The number is not greater than 5” to the console.
The IF ELSE-IF Conditional
To evaluate multiple conditions, you can chain multiple if / else-if / else
blocks. This allows evaluating several conditions in sequence until one of them is true.
if (condition1) {
// Code to execute if condition1 is true
} else if (condition2) {
// Code to execute if condition1 is false and condition2 is true
} else {
// Code to execute if all previous conditions are false
}
Using Logical Operators in Conditionals
To evaluate multiple conditions within a single if
, you can use logical operators like &&
(logical AND) and ||
(logical OR).
For example, the &&
operator evaluates as true
only if both conditions are true.
int number = 10;
if (number > 5 && number < 15) {
std::cout << "The number is between 5 and 15" << std::endl;
}
While the ||
operator evaluates as true
if at least one of the conditions is true.
int number = 20;
if (number < 5 || number > 15) {
std::cout << "The number is less than 5 or greater than 15" << std::endl;
}
Practical Examples
Determine if a number is less than 5 or greater than 15
In this example, we determine if a number is less than 5, greater than 15, or in the intermediate range.
int number = 10;
if (number > 15) {
std::cout << "The number is greater than 15" << std::endl;
} else if (number > 5) {
std::cout << "The number is greater than 5 but less than or equal to 15" << std::endl;
} else {
std::cout << "The number is 5 or less" << std::endl;
}
Here, we sequentially evaluate the conditions: number > 15
is false
, but number > 5
is true
, so “The number is greater than 5 but less than or equal to 15” is printed.
Determine the largest of three numbers
In this example, we find the largest of three numbers using if-else structures.
int a = 5, b = 10, c = 3;
int largest;
if (a > b && a > c) {
largest = a;
} else if (b > a && b > c) {
largest = b;
} else {
largest = c;
}
std::cout << "The largest number is: " << largest << std::endl;
Check grade ranges
In this example, we assign a letter grade based on a numerical score using a series of if-else conditions.
int grade = 85;
std::string range;
if (grade >= 90) {
range = "A";
} else if (grade >= 80) {
range = "B";
} else if (grade >= 70) {
range = "C";
} else if (grade >= 60) {
range = "D";
} else {
range = "F";
}
std::cout << "The grade is: " << range << std::endl;