Year End Sale: Get Upto 40% OFF on Live Training! Offer Ending in
D
H
M
S
Get Now
 Switch Statement in C++: Implementation with Examples

Switch Statement in C++: Implementation with Examples

21 May 2024
Beginner
6.31K Views
11 min read
Learn with an interactive course and practical hands-on labs

Free C++ Course: Learn C++ In 21 Days

Switch Statement in C++: An Overview

Are you a software programmer looking for an easy way to make decisions in your programs? Look no further than Learn C++ and discover the power ofswitch statement one of the most basic decision-making tools in C++. In this article, we'll explore what makes switch statements so versatile and practical, from how they're set up to how they can be used effectively. Enhance your C++ programming skills and master switch statements with a C++ certification course.

Switch Statement in C++

In the previous, conditional statements in C++ tutorial, we saw the if else-if ladder to check multiple conditions if one or the other fails. The switch statement serves as an alternative to the if else-if ladder. It checks multiple cases for different values of a single variable.

Switch Statement in C++

Switch Statement Syntax

switch(expression){ 
case value1: 
//code to be executed; 
break; //optional 
case value2: 
//code to be executed; 
break; //optional 
...... 
default: 
code to be executed if all cases are not matched; 
} 

The working of the switch statement goes like this

  • It starts with the keyword, switch followed by a set of () containing an expression.
  • The expression is evaluated once and compared with the values of each case.
  • If any case matches, the corresponding case statement executes.
  • After the execution of the matching case statement, the control comes out of the switch statement due to the break keyword.
  • If no case matches, the default statement, if present, gets executed.

Read More - C++ Interview Interview Questions and Answers

Rules for the switch statement in C++

  1. The data type of the switch expression must be of an integer or character.
  2. All the case labels must be followed by a colon “:”.
  3. The case value must be an integer or character constant.
  4. The break keyword is optional, but it can decrease the execution time of your program. It will stop the unnecessary execution of other cases after a match is found.

Note: We will learn thebreak statement in detail in the section, break statement in C++.

Example to demonstrate switch statement in C++ Compiler

#include <iostream>
using namespace std; 
int main ()
{ 
 int num; 
 cout<<"Enter a number:"; 
 cin>>num; 
 switch (num) 
 { 
 case 20: 
 cout<<"It is 20"; 
 break; 
 case 30: 
 cout<<"It is 30"; 
 break; 
 case 40: 
 cout<<"It is 40"; 
 break; 
 default: 
 cout<<"Not 20, 30 or 40"; 
 } 
 return 0;
} 

The above code checks if the input number, num is 20 or is it 30 or is it 40. If none of the given numbers exist, the default statement gets printed.

Output 1

Enter a number:
20
It is 20

Output 2

Enter a number:
68
Not 20, 30 or 40

Nested Switch Case in C++

There can be several switch statements inside a switch statement. These are called nested switch statements.

Syntax

switch (expression1)
{
 case value1:
 // Code block for value1
 switch (expression2)
 {
 case valueA:
 // Code block for valueA
 break;
 case valueB:
 // Code block for valueB
 break;
 // More cases for expression2
 }
 break;
 case value2:
 // Code block for value2
 break;
 // More cases for expression1
 default:
 // Default code block for expression1
}

Example to demonstrate Nested switch case In C++

#include <iostream>
using namespace std;
int main() {
 int i = 10;
 int j = 20;
 
 switch (i) {
 case 10:
 cout << "the value of i evaluated in outer switch: " << i << endl;
 case 20:
 switch (j) {
 case 20:
 cout << "The value of j evaluated in nested switch: " << j << endl;
 }
 }

 cout << "Exact value of i is : " << i << endl;
 cout << "Exact value of j is : " << j << endl;

 return 0;
} 
  • In the above code, the outer switch statement checks the value of i.
  • The value of i matches with the case 10. So, the corresponding statement gets printed.
  • Since there's no break statement, it continues to execute the code in the subsequent case 20 block.
  • Inside the case 20 block, there is a nested switch statement that checks the value of j.
  • The value of j matches with case 20 in the nested switch block. So, the corresponding statement gets printed.

Output

the value of i evaluated in the outer switch: 10
The value of j evaluated in nested switch: 20
Exact value of i is : 10
Exact value of j is : 20
Summary

Switch statements in C++ provide a useful alternative to the traditional ifstatement for making decisions within your code. The syntax of the switch statement is much easier to learn than that of the if...else statement, making it perfect for even novice programmers.

As you continue learning about the intricacies of switch statements in C++, remember the tremendous power it gives you not only to control what is inside your program’s box of instructions but also how best to apply those instructions for maximum results. C++ Certification will help you more in your understanding of switch statements and other essential concepts.

Share Article
About Author
Shailendra Chauhan (Microsoft MVP, Founder & CEO at ScholarHat)

Shailendra Chauhan, Founder and CEO of ScholarHat by DotNetTricks, is a renowned expert in System Design, Software Architecture, Azure Cloud, .NET, Angular, React, Node.js, Microservices, DevOps, and Cross-Platform Mobile App Development. His skill set extends into emerging fields like Data Science, Python, Azure AI/ML, and Generative AI, making him a well-rounded expert who bridges traditional development frameworks with cutting-edge advancements. Recognized as a Microsoft Most Valuable Professional (MVP) for an impressive 9 consecutive years (2016–2024), he has consistently demonstrated excellence in delivering impactful solutions and inspiring learners.

Shailendra’s unique, hands-on training programs and bestselling books have empowered thousands of professionals to excel in their careers and crack tough interviews. A visionary leader, he continues to revolutionize technology education with his innovative approach.
Accept cookies & close this