Switch Statement in C
Switch statement என்பது long if statement, அதாவது அதிகமான if statements-களுக்கு பதிலாக பயன்படுத்தபடுகிறது. இதில் case
என்ற keyword பயன்படுத்தி, ஒவொரு condition-களையும் check செய்து அதற்க்கு ஏற்றவாறு program statements-களை run செய்ய அனுமதிக்கிறது.
Default statement
Switch expression-ல் உள்ள value எந்த case உடனும் பொருந்தவில்லை எனில் அதை வெளிபடுதவே இந்த default statement பயன்படுகிறது.
Note: switch(expression)-ல் உள்ள value எந்த case-உடன் போருந்துகின்றதோ அந்த case மட்டுமே run ஆகும். ஒருவேலை அந்த case-ல் break statement பயன்படுத்தாமல் இருந்திருந்தால் அதற்க்கு அடுத்த case-ம் run ஆகும்.
Syntax for Switch Statement
switch(expression){
case label1 :
....
....
break;
case label2 :
....
....
break;
case label3 :
....
....
break;
default:
....
....
break;
}
Rules for switch Statement
- ஒரே Label name-ஐ மீண்டும் பயன்படுத்தகூடாது.
- Case-க்கும் Label-க்கும் இடையே space, Label name-க்கு அடுத்து Colon(:) நிச்சயம் இடம் பெற்றிருக்க வேண்டும்.
- label-ன் value அதாவது switch(expression)-ன் value Integer அல்லது Character மட்டுமே எடுத்க்கொள்ளும்.
- label-ன் value ஒருபோதும் floating point number-ஐ பயன்படுத்த கூடாது.
- Switch case-ல் Relational operator-ஐ பயன்படுத்த கூடாது. example (a>10),(x==100),(yam>=3),.. etc., போன்றவற்றை பயன்படுத்த கூடாது.
- Switch case-ல் ஒரே ஒரு default label மட்டுமே இருக்க வேண்டும். இதை switch block-ன் உள்ளே எங்கு வேண்டுமானாலும் பயன்படுத்தலாம். இதை கட்டாயம் பயன்படுத்த வேண்டும் என்ற அவசியம் இல்லை (optional).
- ஒவ்வொரு switch case-லும் break statement இடம் பெறவேண்டும். இல்லையெனில் அடுத்த break statement எங்கு இடம் பெற்றிருக்குமோ அது வரை உள்ள அனைத்து code-ஐயும் run செய்துவிடும்.
- Nesting ( switch within switch ) பயன்படுத்தலாம்.
Switch Statement Example
Qn: Write the program for find week days using switch statement
#include<stdio.h>
#include<conio.h>
int main(){
int number;
printf("Enter a number between (1 to 7): ");
scanf("%d",&number);
switch(number){
case 1:
printf("Sunday\n");
break;
case 2:
printf("Monday\n");
break;
case 3:
printf("Tuesday\n");
break;
case 4:
printf("Wednesday\n");
break;
case 5:
printf("Thursday\n");
break;
case 6:
printf("Friday\n");
break;
case 7:
printf("Saturday\n");
break;
default:
printf("This is invalid number to find week days");
break;
}
return 0;
}
Output 1:
Enter a number between (1 to 7): 3
Tuesday
Output 2:
Enter a number between (1 to 7): -3
This is invalid number to find week days
Switch case has no break statement
#include<stdio.h>
#include<conio.h>
int main(){
int yam;
printf("Enter a number: ");
scanf("%d",&yam);
switch(yam){
case 1:
printf("First Class\n"); // no break
case 2:
printf("Second Class\n"); // no break
case 3:
printf("Third Class\n"); // no break
default:
printf("Re-appear\n");
break;
}
return 0;
}
Output case-1:
Enter a number: 3
Third Class
Re-appear
Output case-2:
Enter a number: 1
First Class
Second Class
Third Class
Re-appear
Output case-3:
Enter a number: 10
Re-appear
Difference between switch and if
- if statements-ல் float conditions evaluvate செய்யமுடியும், ஆனால் switch statements-ல் முடியாது.
- if statement-ல் relational operators-ஐ evaluate செய்யமுடியும், ஆனால் switch statements-ல் முடியாது. i.e they are not allowed in switch statement.
இது பற்றிய தங்களின் கருத்துகளை இங்கே பதிவிடுங்கள் . இது பயனுள்ளதாக விரும்பினால் மற்றவர்களுக்கும் இதை share செய்யுங்கள்.
Comments