Switch statements in C

Sakshi Dhameja  6 min read
13 Apr 2023


Are you a software programmer looking for an easy way to make decisions in your programs? Look no further than switch statements, one of the most basic and powerful decision-making tools available in the C programming language. With their highly flexible structure and wide range of powerful applications, it's no wonder that switch statements have become such a staple element of coding projects across many platforms. 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. Read on to learn essential information about switch statements in C.

What are switch statements in C

Switch statements in C are a powerful and versatile way to execute code within a program. They are a type of selection control structure, which allows programmers to switch between various coding options depending on certain external criteria. A switch statement is written using the switch keyword followed by the expression that is evaluated and compared with specific case labels. The use of switch statement in c evaluates its expression and transfers control to the corresponding case label. Depending on the result of the evaluation, one of several code blocks can be executed. It is an efficient way of controlling large groups of serialized conditional statements and provides for better readability within C programs.

Switch statement syntax

case value1: 
 //code to be executed; 
 break; //optional 
case value2: 
 //code to be executed; 
 break; //optional 
 code to be executed if all cases are not matched; 

Rules for switch statements in C

  1. The switch statement starts with the keyword switch, followed by a set of parentheses containing an expression.
  2. The expression can be of any data type, but it must evaluate as an integer, character, or enumerated value.
  3. After the parentheses, the switch statement is enclosed in braces {}.
  4. Within the braces, there are multiple case labels, each followed by a colon :.
  5. Each case label represents a possible value of the expression that was given in the parentheses.
  6. The statements following a case label will be executed if the expression matches the value of the case label.
  7. If none of the case labels match the expression, the default case (if provided) will be executed.
  8. The default case is optional, but if it is included, it must be placed at the end of the switch statement.
  9. The break statement is used to exit the switch statement and prevent the execution of subsequent case labels. It is typically placed at the end of each case label.
  10. The switch statement can also include the goto statement, but this is not recommended as it can make the code harder to read and understand.

Functioning of switch statements in C

The functioning of switch statements in C is an integral part of computer programming. Switch statements are a type of control flow structure that allows a programmer to execute instructions based on the result of some condition or expression. The syntax of this statement requires the user to specify what value to compare against each case and which 'case' should be executed if the comparison is successful. In most cases, a default option is provided in the event that none of the specified conditions are met. Functioning in this way, switch statements allow for concise code when dealing with multiple conditional cases and can often improve program readability and maintainability by encoding much of the logic required for comparisons directly into their syntax. As such, they are highly valued by experienced programmers as efficient ways to execute complex operations in source code.


int main(){ 
int number=0; 
printf("enter a number:"); 
case 10: 
printf("number is equals to 10"); 
case 50: 
printf("number is equal to 50"); 
case 100: 
printf("number is equal to 100"); 
printf("number is not equal to 10, 50 or 100"); 
return 0; 

Nested switch case in C

Nested switch case in C provides the programmer with a powerful tool to efficiently structure and execute their code. This structure is especially useful when multiple conditions must be checked in order to reach a logical solution. Nested switch cases inspect each part of the statement, breaking it down into individual conditions that can then be evaluated. By nesting more switch cases within each other, complex operations can quickly be adapted and executed. Nested switch case statements are a powerful way to handle multiple input parameters on an advanced level, providing an easy-to-implement method for structuring data within code.


#include <stdio.h> 
int main () { 
   int i = 10; 
   int j = 20; 
   switch(i) { 
      case 10: 
         printf("the value of i evaluated in outer switch: %d\n",i); 
      case 20: 
         switch(j) { 
            case 20: 
               printf("The value of j evaluated in nested switch: %d\n",j); 
   printf("Exact value of i is : %d\n", i ); 
   printf("Exact value of j is : %d\n", j ); 
   return 0; 


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

In summary, switch statements in C provide a useful alternative to the traditional “if” statement for making decisions within your code. Not only are they more efficient and precise, but they also provide advantages in being able to handle large numbers of user input fields and functions more quickly. The syntax of the switch statement is much easier to learn than that of the if-then-else statement, making it perfect for even novice programmers who are interested in honing their coding skills. As with any programming tool, it is important not just to understand the fundamentals but to keep practicing, and tweaking each piece of code until you eventually create something extraordinary. As you continue learning about the intricacies of switch statements in C, remember the tremendous power it gives you not only control over what is inside your program’s box of instructions but how best to apply those instructions for maximum results. So go forth and be careful when creating your switch statements with responsible practices come successful outcomes.

Accept cookies & close this