Switch Case in C Programming
Switch Case in C Programming
If a case match is found, then the default statement is executed, and the
control goes out of the switch block.
<pre>switch( expression )
case value-1:
Block-1;
Break;
case value-2:
Block-2;
Break;
case value-n:
Block-n;
Break;
default:
Block-1;
Break;
Statement-x; </pre>
#include <stdio.h>
int main() {
int num = 8;
switch (num) {
case 7:
printf("Value is 7");
break;
case 8:
printf("Value is 8");
break;
case 9:
printf("Value is 9");
break;
default:
printf("Out of range");
break;
}
return 0;
}</pre>
Output:
<pre>Value is 8
</pre>
Try changing the value of variable num and notice the change in the output.
For example, we consider the following program which defaults:
<pre>
#include <stdio.h>
int main() {
int language = 10;
switch (language) {
case 1:
printf("C#\n");
break;
case 2:
printf("C\n");
break;
case 3:
printf("C++\n");
break;
default:
printf("Other programming language\n");}}</pre>
Output:
When working with switch case in C, you group multiple cases with unique labels. You need to
introduce a break statement in each case to branch at the end of a switch statement.
The optional default case runs when no other matches are made.
<pre>
#include <stdio.h>
int main() {
int number=5;
switch (number) {
case 1:
case 2:
case 3:
printf("One, Two, or Three.\n");
break;
case 4:
case 5:
case 6:
printf("Four, Five, or Six.\n");
break;
default:
printf("Greater than Six.\n");}}</pre>
Output:
Nested Switch
In C , we can have an inner switch embedded in an outer switch.Also, the case constants of the inner
and outer switch may have common values and no conflicts will be found.
We considere the following program which the user to type his own ID, if the ID is valid it will ask
him to enter his password, if the password is correct the program will print the name of the user,
otherwise ,the program will print Incorrect Password and if the ID does not exist , the program will
print Incorrect ID
<pre>
#include <stdio.h>
int main()
{
int ID=500;
int password=000;
printf("Plese Enter Your ID:\n ");
scanf("%d",&ID);
switch(ID)
{
case 500:
printf("Enter your password:\n ");
scanf("%d",&password);
switch(password)
{
case 000:
printf("Welcome Dear Programmer\n");
break;
default :
printf("incorrect password");
break;
}
break;
default :
printf("incorrect ID");
break;
}
}
</pre>
OUTPUT:
<pre>
Plese Enter Your ID:
500
Enter your password:
000
Welcome Dear Programmer
</pre>
1. In the given program we have initialized two variables: ID with 500 and
password with value 000.
2. An outer switch construct is used to compare the value entered in
variable ID and execute the block of statements associated with the
matched case(when ID==500).
3. If the block statement is executed with the matched case, an inner
switch is used to compare the values entered in the variable password
and execute the statements linked with the matched case(When
password==000) .Otherwise, the switch case will trigger the default case
and print the appropriate text regarding the program outline.
Summary
A switch is a decision making construct in ‘C.’
A switch is used in a program where multiple decisions are involved.
A switch must contain an executable test-expression.
Each case must include a break keyword.
Case label must be constants and unique.
The default is optional.
Multiple switch statements can be nested within one another.