C प्रोग्रामिंग की बात हो और switch case की बात न हो, ऐसा हो ही नहीं सकता।
इसीलिए आज के इस tutorial में मैं आपको C Programming switch case statement क्या है, इसका इस्तेमाल कैसे करें, Syntax, Flowchart आदि सब कुछ विस्तार से बताऊँगा।
अगर आपको C Programming switch case statement में कोई भी doubt है, तो इस पोस्ट को पूरा पढ़ें। यह पोस्ट आपकी सभी शंकाओं का समाधान कर देगी।
Table of Contents
1. C Programming में Switch Case क्या है?
C Programming में switch case statement एक बहुत ही शक्तिशाली और उपयोगी decision control statement है।
अगर हमें कई conditions को handle करना हो, तो हम else-if ladder की जगह C Programming में switch case का उपयोग करते हैं।
यह एक expression के value के आधार पर कई cases में से केवल एक code block को execute करता है।
2. C programming Switch Case Syntax
switch(expression) { // expression को int, char, या enum type होना चाहिए
case value1: // value1 एक constant होगा
// code for case 1
break; // next case में जाने से रोकने के लिए break
case value2:
// code for case 2
break;
default: // optional, अगर कोई case match न हो तो यह execute होगा
// default code
}
3. C language Switch Case Flowchart
C Programming switch case statement का flowchart नीचे दिया गया है, जिससे इसका working आसानी से समझा जा सकता है।

4. C Programming में Switch Case कैसे काम करता है?
आइए एक simple program के माध्यम से समझते हैं कि switch case statement कैसे काम करता है।
#include <stdio.h>
int main() {
int num = 3;
switch (num) { // Check the value of num
case 1:
printf("Value of num is One\n");
break;
case 2:
printf("Value of num is Two\n");
break;
case 3:
printf("Value of num is Three\n");
break;
default:
printf("Number not matched in any case\n");
break;
}
return 0;
}
Output :
Value of num is Three
Explanation:
- switch(num) → compiler num का value check करेगा।
- यहाँ num = 3 है।
- Switch block के अंदर हर case check होगा।
- जो case match करेगा (case 3), वही execute होगा।
- break; जरूरी है, वरना अगला case भी execute हो जाएगा (fall-through)।
- अगर कोई case match न करे तो default वाला block execute होगा।
👉 Note:
- C programming Switch case में केवल int, char, और enum expressions valid हैं।
- float, double और string expressions allowed नहीं हैं।
5. Calculator Program in C Switch Case
अब एक calculator program बनाते हैं, जिससे concept और clear होगा।
#include <stdio.h>
int main() {
double num1, num2, result;
char op;
printf("Enter first number: ");
scanf("%lf", &num1);
printf("Enter second number: ");
scanf("%lf", &num2);
printf("Enter operator (+, -, *, /): ");
scanf(" %c", &op); // Space to ignore newline
switch (op) {
case '+':
result = num1 + num2;
printf("Result: %.2lf\n", result);
break;
case '-':
result = num1 - num2;
printf("Result: %.2lf\n", result);
break;
case '*':
result = num1 * num2;
printf("Result: %.2lf\n", result);
break;
case '/':
if (num2 != 0) {
result = num1 / num2;
printf("Result: %.2lf\n", result);
} else {
printf("Error: Division by zero not allowed!\n");
}
break;
default:
printf("Invalid operator! Please enter +, -, *, or /\n");
break;
}
return 0;
}
Output :
Enter first number: 20
Enter Second number: 30
Enter operator (+, -, *, /) : +
Result: 50
6. Switch Case vs Else If Ladder in C Programming
Else If Ladder | Switch Case |
Else-if ladder decision-making statements की chain होती है। जब हमें कई conditions check करनी होती हैं, तो हम एक-के-बाद-एक conditions लिखकर उनके अनुसार code execute करवाते हैं। | C programming Switch case statement एक single expression पर काम करता है। Expression के value को check किया जाता है और उससे matching case block execute होता है। |
else Block optional है | default case optional है |
हर block अलग-अलग चलता है, fall-through नहीं होता | Break न हो तो अगला case भी execute होगा |
सभी relational और logical conditions expression allowed है | केवल int, char, enum allowed है |
हर condition अलग-अलग evaluate होती है | एक बार expression evaluate होता है |
कब Switch Case Use करें?
- जब आपके पास fixed discrete values हों (जैसे 1, 2, 3 या ‘a’, ‘b’, ‘c’)
- Menu-driven programs (Calculator, ATM, Game options)
- Enum-based decisions
कब Else-if Ladder Use करें?
- जब conditions complex हों (जैसे marks >= 90 && marks <= 100)
- जब conditions में ranges, logical operators हों
- Floating point या string comparisons में
7. Example (Else-if Ladder vs Switch Case)
Using Else-if Ladder:
#include <stdio.h>
int main() {
int day = 3;
if (day == 1)
printf("Monday\n");
else if (day == 2)
printf("Tuesday\n");
else if (day == 3)
printf("Wednesday\n");
else
printf("Invalid day\n");
return 0;
}
Output :
Wednesday
Using Switch Case:
#include <stdio.h>
int main() {
int day = 3;
switch(day) {
case 1: printf("Monday\n"); break;
case 2: printf("Tuesday\n"); break;
case 3: printf("Wednesday\n"); break;
default: printf("Invalid day\n");
}
return 0;
}
Output :
Wednesday
8. C Programming Switch Case Quiz in C
Q1. निम्न code का output क्या होगा?
#include <stdio.h> int main() { int x = 3; switch (x) { case 1: printf("One\n"); break; case 2: printf("Two\n"); break; case 3: printf("Three\n"); break; default: printf("Default\n"); } return 0; }
a) One
b) Two
c) Three
d) Default
Q2. निम्न में से कौन सा switch expression type allowed है?
a) int
b) char
c) enum
d) float
Q3. निम्न code का output बताइए:
#include <stdio.h> int main() { char c = 'A'; switch (c + 1) { case 'A': printf("Case A\n"); break; case 'B': printf("Case B\n"); break; default: printf("Default\n"); } return 0; }
a) Case A
b) Case B
c) Default
d) Error
Q4. अगर हम किसी case के बाद break;
नहीं लगाते हैं तो क्या होगा?
a) केवल वही case चलेगा
b) Default execute होगा
c) अगला case भी execute होता जाएगा (fall-through)
d) Compile time error आएगा
Q5. निम्न में से कौन सा statement गलत है?
a) Switch case में default optional होता है।
b) Switch expression में float use कर सकते हैं।
c) एक case label में constant होना चाहिए।
d) Switch में कई cases एक ही code block share कर सकते हैं।
9. FAQS
Q1. Switch case statemsnt C language में क्यों use किया जाता है?
Ans : C programming Switch case का use multiple conditions को handle करने के लिए किया जाता है, जिससे code छोटा और readable बनता है।
Q2. Switch case और if-else ladder में क्या फर्क है?
Ans : C programming Switch case fast होता है क्योंकि यह jump table इस्तेमाल करता है, लेकिन इसमें limited conditions ही handle की जा सकती हैं। वहीं if-else ladder complex conditions के लिए बेहतर है।
Q3. क्या switch case में string use कर सकते हैं?
Ans : C language में switch case सिर्फ integer, character और enum values accept करता है। String use नहीं की जा सकती।
Q4. क्या switch case में default case ज़रूरी है?
Ans : Default case optional है, लेकिन इसे रखना best practice है ताकि unexpected input आने पर भी program सही output दे सके।
Q5. क्या switch case को nested किया जा सकता है?
Ans : हाँ, आप एक switch case के अंदर दूसरा switch case use कर सकते हैं, लेकिन readability और debugging कठिन हो जाती है, इसलिए ज़रूरत पड़ने पर ही करें।
9. Conclusion (निष्कर्ष)
Switch case statement C programming का एक बहुत ही useful control statement है, जो multiple conditions को clean और fast तरीके से handle करने में मदद करता है। अगर आपके program में बहुत सारे if-else
checks हैं तो switch case आपको readability, maintainability और performance में फायदा देगा।
हालाँकि ध्यान रहे कि switch case सिर्फ limited data types (int, char, enum) के साथ काम करता है और इसमें relational operators (>
, <
) use नहीं किए जा सकते। ऐसे में अगर आपके पास complex conditions हैं तो if-else ladder
बेहतर option होगा।
Beginners के लिए सबसे अच्छा तरीका यह है कि पहले if-else ladder अच्छे से समझें और उसके बाद switch case पर practice करें। इससे आपको clear हो जाएगा कि कब किस statement का use करना चाहिए।
अगर आपको ये tutorial helpful लगा हो तो इसे share करें और नीचे comment में अपना doubt पूछें।