Switch in C
switch is useful when one expression is compared with several fixed values, such as menu choices, day numbers or grade codes. Each case normally ends with break.
Syntax / Basic Pattern
| switch(choice) { case 1: /* code */ break; case 2: /* code */ break; default: /* code */ } |
Easy points to remember
- switch works well with discrete case values.
- break prevents execution from falling into the next case.
- default runs when no case matches.
| ⭐ PRACTICE TIP: Type these programs yourself. Change the values and run them again. That is how control statements become easy. |
Program 1: Day number
| #include <stdio.h> int main(){ int d=3; switch(d){case 1:printf(“Monday”);break;case 2:printf(“Tuesday”);break;case 3:printf(“Wednesday”);break;default:printf(“Invalid”);} return 0;} |
| OUTPUT Wednesday |
Program 2: Month number
| #include <stdio.h> int main(){ int m=4; switch(m){case 1:printf(“January”);break;case 4:printf(“April”);break;case 12:printf(“December”);break;default:printf(“Other month”);} return 0;} |
| OUTPUT April |
Program 3: Menu choice
| #include <stdio.h> int main(){ int c=2; switch(c){case 1:printf(“Add”);break;case 2:printf(“Update”);break;case 3:printf(“Delete”);break;default:printf(“Invalid choice”);} return 0;} |
| OUTPUT Update |
Program 4: Vowel switch
| #include <stdio.h> int main(){ char c=’o’; switch(c){case ‘a’:case ‘e’:case ‘i’:case ‘o’:case ‘u’:printf(“Vowel”);break;default:printf(“Consonant”);} return 0;} |
| OUTPUT Vowel |
Program 5: Calculator add
| #include <stdio.h> int main(){ int a=12,b=8; char op=’+’; switch(op){case ‘+’:printf(“%d”,a+b);break;case ‘-‘:printf(“%d”,a-b);break;case ‘*’:printf(“%d”,a*b);break;default:printf(“Invalid”);} return 0;} |
| OUTPUT 20 |
Program 6: Grade code
| #include <stdio.h> int main(){ char g=’B’; switch(g){case ‘A’:printf(“Excellent”);break;case ‘B’:printf(“Very good”);break;case ‘C’:printf(“Good”);break;default:printf(“Needs improvement”);} return 0;} |
| OUTPUT Very good |
Program 7: Traffic signal
| #include <stdio.h> int main(){ char c=’R’; switch(c){case ‘R’:printf(“Stop”);break;case ‘Y’:printf(“Wait”);break;case ‘G’:printf(“Go”);break;default:printf(“Invalid”);} return 0;} |
| OUTPUT Stop |
Program 8: Season
| #include <stdio.h> int main(){ int m=12; switch(m){case 12:case 1:case 2:printf(“Winter”);break;case 3:case 4:case 5:printf(“Spring”);break;default:printf(“Other season”);} return 0;} |
| OUTPUT Winter |
Program 9: Days in month
| #include <stdio.h> int main(){ int m=2; switch(m){case 2:printf(“28 or 29 days”);break;case 4:case 6:case 9:case 11:printf(“30 days”);break;default:printf(“31 days”);} return 0;} |
| OUTPUT 28 or 29 days |
Program 10: Food menu
| #include <stdio.h> int main(){ int c=3; switch(c){case 1:printf(“Pizza”);break;case 2:printf(“Burger”);break;case 3:printf(“Pasta”);break;default:printf(“Not available”);} return 0;} |
| OUTPUT Pasta |
Program 11: Unit choice
| #include <stdio.h> int main(){ int c=1; switch(c){case 1:printf(“Kilometer to meter”);break;case 2:printf(“Meter to centimeter”);break;default:printf(“Invalid”);} return 0;} |
| OUTPUT Kilometer to meter |
Program 12: Number word
| #include <stdio.h> int main(){ int n=5; switch(n){case 1:printf(“One”);break;case 2:printf(“Two”);break;case 3:printf(“Three”);break;case 4:printf(“Four”);break;case 5:printf(“Five”);break;default:printf(“Other”);} return 0;} |
| OUTPUT Five |
Program 13: Simple calculator
| #include <stdio.h> int main(){ double a=20,b=4; char op=’/’; switch(op){case ‘+’:printf(“%.0f”,a+b);break;case ‘-‘:printf(“%.0f”,a-b);break;case ‘*’:printf(“%.0f”,a*b);break;case ‘/’:printf(“%.2f”,a/b);break;default:printf(“Invalid”);} return 0;} |
| OUTPUT 5.00 |
Program 14: Month quarter
| #include <stdio.h> int main(){ int m=8; switch(m){case 1:case 2:case 3:printf(“Q1”);break;case 4:case 5:case 6:printf(“Q2”);break;case 7:case 8:case 9:printf(“Q3”);break;default:printf(“Q4”);} return 0;} |
| OUTPUT Q3 |
Program 15: Exit menu
| #include <stdio.h> int main(){ int c=4; switch(c){case 1:printf(“Start”);break;case 2:printf(“Settings”);break;case 3:printf(“Help”);break;case 4:printf(“Exit selected”);break;default:printf(“Invalid”);} return 0;} |
| OUTPUT Exit selected |