Other Conditional and Iterative Statements
The if/else and while statements are sufficient to implement any algorithms that involve conditional execution and looping. The break and continue statements are convenient but are not necessary. C++ provides some additional conditional and iterative statements that are more convenient to use in some circumstances. These additional statements include
- switch: an alternative to some multi-way if/else statements
- the conditional operator: an expression that exhibits the behavior of an if/else statement
- do/while: a loop that checks its condition after its body is executed
- for: a loop convenient for counting
The switch Statement
The switch statement provides a convenient alternative for some multi-way if/else statements like the one in a new implementation of that uses a switch statement instead of a multi-way if/else statement.
Flow of Switch Statemant
Code Example
#include <iostream>
int main() {
int value;
std::cout << "Please enter an integer in the range 0...5: ";
std::cin >> value;
switch (value) {
case 0:
std::cout << "zero";
break;
case 1:
std::cout << "one";
break;
case 2:
std::cout << "two";
break;
case 3:
std::cout << "three";
break;
case 4:
std::cout << "four";
break;
case 5:
std::cout << "five";
break;
default:
if (value < 0)
std::cout << "Too small";
else
std::cout << "Too large";
break;
}
std::cout << '\n';
}
The corresponding switch statement is:
switch (x) {
case 1:
// Do 1 stuff here . . .
break;
case 2:
// Do 2 stuff here . . .
break;
case 3:
// Do 3 stuff here . . .
break;
}
Now consider the following if/else:
if (x == y) {
// Do "y" stuff here . . .
} else if (x > 2) {
// Do "> 2" stuff here . . .
} else if (z == 3) {
// Do 3 stuff here . . .
}
The Conditional Operator
As purely a syntactical convenience, C++ provides an alternative to the if/else construct called the conditional operator.
- the result of y/z, if z is nonzero, or
- zero, if z is zero; we wish to avoid the run-time error of division by zero.
// Assign a value to x:
if (z != 0)
x = y/z; // Division is possible
else
x = 0;
The conditional operator makes for a more compact statement:
// Assign a value to x:
x = (z != 0) ? y/z : 0;
The general form of a conditional expression is:
What is conditional operator with example?
An Example of Conditional Operators
The conditional operator “&&” first evaluates whether its first operand (i.e., number % 2 == 0) is true and then evaluates whether its second operand (i.e., number % 4 == 0) is true. As both are true, the logical AND condition is true.
How does a conditional operator work?
The conditional operator (? 🙂 is a ternary operator (it takes three operands). The conditional operator works as follows: … If the first operand evaluates to true (1), the second operand is evaluated. If the first operand evaluates to false (0), the third operand is evaluated.