4.2. Conditional Execution¶
In order to write useful programs, we almost always need the ability to check certain conditions and change the behavior of the program accordingly. Conditional statements give us this ability. The simplest form is the if statement:
if (x > 0) {
cout << "x is positive" << endl;
}
The expression in parentheses is called the condition. If it is true, then the statements in brackets get executed. If the condition is not true, nothing happens.
The condition can contain any of the comparison operators:
x == y // x equals y
x != y // x is not equal to y
x > y // x is greater than y
x < y // x is less than y
x >= y // x is greater than or equal to y
x <= y // x is less than or equal to y
Although these operations are probably familiar to you, the syntax C++
uses is a little different from mathematical symbols like \(=\),
\(\neq\) and \(\le\). A common error is to use a single =
instead of a double ==
. Remember that = is the assignment operator, and
==
is a comparison operator. Also, there is no such thing as =<
or =>
.
Note
Both sides of a conditional operator have to be the same type.
Despite automatic type conversion, you can only compare int
s to int
s and
double
s to double
s. Unfortunately, at this point you can’t compare string
s
at all! There is a way to compare them, but we won’t get to it for a couple of
chapters.
Observe the conditional statement below.
This program shows how you can use conditional statements to assess true/false situations.
- Change the value of x to be anything less than 6.
- While "Bigger" would now print, the other two statements would not!
- Change the value of x to 13.
- Now, none of the statements would print!
- Change the sign of the last conditional statement to x > 6.
- Now, all of the statements would print.
- Change the value of the return from 0 to "Bigger!"
- main returns an int, so trying to make it return a string will cause an error.
Q-2: Observe the code above. “Bigger” doesn’t print! How can you modify this so that all of the statements print?
-
Q-3: Match the operator to values of x and y that would return true.
Try again!
- x > y
- x = 10, y = 2
- x <= y
- x = 5, y = 5
- x < y
- x = 2, y = 10
-
Q-4: Match the operator to values of x and y that would return true.
Try again!
- x == y
- x = 3, y = 3
- x >= y
- x = 6, y = 2
- x < y
- x = 2, y = 6