Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Switch Statement in C/C++

  • Difficulty Level : Easy
  • Last Updated : 11 Sep, 2021
 

Switch case statements are a substitute for long if statements that compare a variable to several integral values 

  • The switch statement is a multiway branch statement. It provides an easy way to dispatch execution to different parts of code based on the value of the expression.
  • Switch is a control statement that allows a value to change control of execution.

Syntax: 

Attention reader! All those who say programming isn't for kids, just haven't met the right mentors yet. Join the  Demo Class for First Step to Coding Coursespecifically designed for students of class 8 to 12. 

The students will get to learn more about the world of programming in these free classes which will definitely help them in making a wise career choice in the future.

switch (n)
{
    case 1: // code to be executed if n = 1;
        break;
    case 2: // code to be executed if n = 2;
        break;
    default: // code to be executed if n doesn't match any cases
}

Important Points about Switch Case Statements:  



 

1. The expression provided in the switch should result in a constant value otherwise it would not be valid. 
Valid expressions for switch:

// Constant expressions allowed
switch(1+2+23)
switch(1*2+3%4)

// Variable expression are allowed provided
// they are assigned with fixed values
switch(a*b+c*d)
switch(a+b+c)

2. Duplicate case values are not allowed.

3. The default statement is optional.Even if the switch case statement do not have a default statement, 
it would run without any problem.

4. The break statement is used inside the switch to terminate a statement sequence. When a break statement is reached, the switch terminates, and the flow of control jumps to the next line following the switch statement.

5. The break statement is optional. If omitted, execution will continue on into the next case. The flow of control will fall through to subsequent cases until a break is reached.

6. Nesting of switch statements are allowed, which means you can have switch statements inside another switch. However nested switch statements should be avoided as it makes program more complex and less readable. 

7. Switch statements are limited to integer values only  in the check condition.
Flowchart: 

switch-case-in-java

Example:

C




// Following is a simple C program
// to demonstrate syntax of switch.
#include <stdio.h>
int main()
{
   int x = 2;
   switch (x)
   {
       case 1: printf("Choice is 1");
               break;
       case 2: printf("Choice is 2");
                break;
       case 3: printf("Choice is 3");
               break;
       default: printf("Choice other than 1, 2 and 3");
                break
   }
   return 0;
}

C++




// Following is a simple C++ program
// to demonstrate syntax of switch.
#include <iostream>
using namespace std;
 
int main() {
int x = 2;
    switch (x)
    {
        case 1:
            cout << "Choice is 1";
            break;
        case 2:
            cout << "Choice is 2";
            break;
        case 3:
            cout << "Choice is 3";
            break;
        default:
            cout << "Choice other than 1, 2 and 3";
            break
    }
return 0;
}

Output: 

Choice is 2

Time Complexity: O(1)

Auxiliary Space: O(1)
Related article

https://youtu.be/oxoBe04P8

-w?list=PLqM7alHXFySGg6GSRmE2INI4k8fPH5qVB 
This article is contributed by Somesh Awasthi. If you like GeeksforGeeks and would like to contribute, you can also write an article and mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.




My Personal Notes arrow_drop_up
Recommended Articles
Page :