TL ; DR:
if
statements allow us to build programs that can make decisions based on some conditions. Here is the syntax:
bool isRainy = true;
if(isRainy) {
cout << "I bring an umbrella" << endl;
}
Full lesson:
As humans, we often make decisions based on conditions. For example, we might go through these decision-making processes during a day:
If it's rainy:
I bring an umbrella
If I'm hungry:
I have breakfast
I I'm tired:
I take a nap
We can also tell the computer to make decisions like these in our programs.
If Statements:
if
statements allow us to build programs that can make decisions based on some conditions. Here is the syntax:
if(conditions) {
// instructions
}
The keyword if
tells C++ to execute the code inside the curly braces (where we have our C++ comment) only if the conditions
defined in the parentheses are met.
Boolean conditions:
The conditions inside if statements are known as Boolean conditions and they may only be true
or false
.
If the boolean condition evaluates to true
, the program executes the statements inside curly braces. If it evaluates to false
, the statements will not execute.
If you check our example, you'll see that all the conditions there (it's rainy, I'm hungry and I'm tired) are Boolean conditions.
Let's turn those decisions into working code using if statements:
bool isRainy = true;
if(isRainy) {
cout << "I bring an umbrella" << endl;
}
The code above prints "I bring an umbrella"
since the condition in the parentheses evaluates to true
But this code:
bool amHungry = false;
if(amHungry) {
cout << "I have breakfast" << endl;
}
prints nothing since amHungry
evaluates to false
.
Assignment
Follow the Coding Tutorial and let's practice with if statements!
Hint
Look at the examples above if you get stuck.
In this lesson, we will explore the concept of if
statements in C++. These statements are fundamental in programming as they allow us to make decisions based on certain conditions. Understanding how to use if
statements effectively can help you build more dynamic and responsive programs.
Common scenarios where if
statements are useful include checking user input, validating data, and controlling the flow of a program based on specific conditions.
Before diving into more complex examples, it's essential to grasp the basic syntax and functionality of if
statements. An if
statement evaluates a boolean condition and executes a block of code if the condition is true.
Here is a simple example:
bool isSunny = true;
if(isSunny) {
cout << "I wear sunglasses" << endl;
}
In this example, the condition isSunny
is true, so the program prints "I wear sunglasses".
The key concept behind if
statements is the evaluation of boolean conditions. These conditions can be simple, like checking if a variable is true or false, or more complex, involving comparisons and logical operators.
For instance, you can use comparison operators to create more complex conditions:
int temperature = 30;
if(temperature > 25) {
cout << "It's hot outside" << endl;
}
In this example, the condition temperature > 25
is true, so the program prints "It's hot outside".
Let's look at a few more examples to see how if
statements can be used in different contexts:
bool isWeekend = true;
bool isHoliday = false;
if(isWeekend || isHoliday) {
cout << "I can relax today" << endl;
} else {
cout << "I have to work today" << endl;
}
In this example, the program checks if it is either the weekend or a holiday. If either condition is true, it prints "I can relax today". Otherwise, it prints "I have to work today".
When using if
statements, it's important to avoid common mistakes such as:
=
) instead of comparison operators (==
).Best practices include writing clear and concise conditions, using comments to explain complex logic, and testing your code thoroughly.
As you become more comfortable with if
statements, you can explore advanced techniques such as nested if
statements and using else if
for multiple conditions:
int score = 85;
if(score >= 90) {
cout << "Grade: A" << endl;
} else if(score >= 80) {
cout << "Grade: B" << endl;
} else if(score >= 70) {
cout << "Grade: C" << endl;
} else {
cout << "Grade: F" << endl;
}
This example demonstrates how to handle multiple conditions using else if
statements.
Here is a complete example that combines various concepts discussed in this lesson:
#include <iostream>
using namespace std;
int main() {
bool isRainy = true;
bool amHungry = false;
int temperature = 30;
if(isRainy) {
cout << "I bring an umbrella" << endl;
}
if(amHungry) {
cout << "I have breakfast" << endl;
} else {
cout << "I am not hungry" << endl;
}
if(temperature > 25) {
cout << "It's hot outside" << endl;
} else {
cout << "It's not hot outside" << endl;
}
return 0;
}
This code demonstrates the use of if
statements to make decisions based on different conditions.
When debugging code with if
statements, consider the following tips:
Writing test cases for your code can help ensure it behaves as expected. For example:
void testIfStatements() {
// Test case 1: isRainy is true
bool isRainy = true;
if(isRainy) {
assert(cout << "I bring an umbrella" << endl);
}
// Test case 2: amHungry is false
bool amHungry = false;
if(amHungry) {
assert(cout << "I have breakfast" << endl);
} else {
assert(cout << "I am not hungry" << endl);
}
// Test case 3: temperature is 30
int temperature = 30;
if(temperature > 25) {
assert(cout << "It's hot outside" << endl);
} else {
assert(cout << "It's not hot outside" << endl);
}
}
When approaching problems that involve if
statements, consider the following strategies:
In this lesson, we covered the basics of if
statements in C++, including their syntax, usage, and common pitfalls. We also explored advanced techniques and provided examples to help you understand how to apply these concepts in real-world scenarios. Mastering if
statements is crucial for writing dynamic and responsive programs.
Keep practicing and experimenting with different conditions to improve your skills and become more proficient in using if
statements.
For further reading and practice, consider the following resources: