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\n";
}

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 ints to ints, doubles to doubles, and strings to strings .

Observe the conditional statement below.

This program shows how you can use conditional statements to assess true/false situations.

Note

Forgetting to use == for equivalence is a common source of error!

It is easy to forget and simply use = in a conditional:

if (x = 12) {
    cout << "Equal!\n";
}

This is an assignment statment, which is legal here, but almost always not what you meant. This statement assigns 12 to x, then if the value is not zero, (12 is not 0), the if expression evaluates to true and execution continues into the if block.

So in this case, it would print ‘Equal!’ even if the value of x was ‘3’ before the if statement was executed.


More to Explore

You have attempted of activities on this page