Flash cards
Review the key moves
What is the main idea behind C++ Switch?
Lesson checks
Practice each idea before moving on
Short Mimo-style checks built from this lesson's code, terms, and sequence.
Which statement best captures the main point of this lesson?
Complete the missing token from the example code.
___( expression ) {Put the learning moves in the order that makes the concept easiest to apply.
C++ Switch Statements
Use the switch statement to select one of many code blocks to be executed.
Syntax
switch( expression ) {
case x:
// code block break; case y:
// code block break; default:
// code block
}This is how it works
- The switch expression is evaluated once
- The value of the expression is compared with the values of each case
- If there is a match, the associated block of code is executed
- The break and default keywords are optional, and will be described later in this chapter
The example below uses the weekday number to calculate the weekday name:
Example
int day = 4;
switch (day) {
case 1: cout << "Monday";
break;
case 2: cout << "Tuesday";
break;
case 3: cout << "Wednesday";
break;
case
4: cout << "Thursday";
break;
case 5: cout << "Friday";
break;
case 6: cout << "Saturday";
break;
case 7: cout << "Sunday";
break;
}
// Outputs "Thursday" (day 4)The break Keyword
When C++ reaches a break keyword, it breaks out of the switch block.
This will stop the execution of more code and case testing inside the block.
When a match is found, and the job is done, it's time for a break. There is no need for more testing.
A break can save a lot of execution time because it "ignores" the execution of all the rest of the code in the switch block.
The default Keyword
The default keyword specifies some code to run if there is no case match:
Example
int day = 4;
switch (day) {
case 6: cout << "Today is Saturday";
break;
case 7: cout << "Today is Sunday";
break;
default: cout << "Looking forward to the Weekend";
}
// Outputs "Looking forward to the Weekend"