C Programming Switch Case Statement – हिंदी में

जब हमें किसी एक Variable की अलग-अलग values (मानों) के आधार पर अलग-अलग कार्य करने होते हैं, तो C Programming में Switch Case Statement का इस्तेमाल करते हैं। यह एक तरह का Decision Making Statement (निर्णय लेने वाला कथन) है।
 इसीलिए आज के इस tutorial में हम सीखेंगे C Programming switch case statement क्या है, इसका इस्तेमाल कैसे करें, Syntax, Flowchart आदि सब कुछ विस्तार में जानेंगे।

अगर आपको C Programming switch case statement में कोई भी doubt है, तो इस पोस्ट को पूरा पढ़ें। यह पोस्ट आपके Doubt Clear करेगा।

1. C Programming में Switch Case क्या है?

C Programming में switch case statement एक बहुत ही शक्तिशाली और उपयोगी decision control statement है।
 आमतौर पर, इस काम के लिए हम else-ladder का भी इस्तेमाल कर सकते हैं, लेकिन जब हमारे पास बहुत सारे विकल्प (multiple choices) होते हैं, तब हम C Programming में Switch Case का इस्तेमाल करते हैं। Switch Case कोड को ज़्यादा साफ (cleaner) और आसानी से पढ़ने योग्य (more readable) बना देता है। इसे एक Multi-way Branching का तरीका भी कहा जाता है, जहाँ एक ही Expression के मान (value) के आधार पर कई विकल्प(Opition) में से किसी एक को चुना जाता है।

2. Switch Case कैसे काम करता है?

हम इसे एक मेन्यू (Menu) की तरह समझ सकते हैं, जैसे आप किसी रेस्टोरेंट में जाते हैं:

  1. Switch (मेन्यू): हम वेटर को बताते हैं कि हमको क्या चाहिए (जैसे, डिश का नंबर)।
  2. Cases (विकल्प): मेन्यू में हर डिश का एक नंबर होता है (Case 1, Case 2, Case 3, आदि)।
  3. Matching (मिलान): वेटर हमारे बताए गए नंबर को मेन्यू में मौजूद नंबरों से मिलाता है।
  4. Action (कार्य): जिस नंबर से हमारा चुनाव match (मिलान) हो जाता है, उस डिश को बनाने का काम शुरू हो जाता है।

ठीक इसी तरह, C Programming switch case में:

  • हम switch के parentheses ( में एक variable या expression देते हैं, जिसका मान (value) चेक करना होता है।
  • इस मान को, switch block {} के अंदर मौजूद हर case के constant value (स्थिर मान) से एक-एक करके मिलाया जाता है।
  • जिस case का मान switch के मान के बराबर (equal) होता है, उस case के अंदर लिखे गए statements execute (निष्पादित) हो होते हैं।

3. Switch Case का Syntax (संरचना)

switch case लिखने का तरीका कुछ ऐसा होता है:

switch (expression) {
    case value1:
        // Statements to be executed if expression == value1
        // (यदि expression, value1 के बराबर है तो ये statements run होंगे)
        break; 

    case value2:
        // Statements to be executed if expression == value2
        // (यदि expression, value2 के बराबर है तो ये statements run होंगे)
        break;

    // ... और भी कई cases हो सकते हैं

    default:
        // Statements to be executed if none of the cases match
        // (यदि कोई भी case match नहीं होता है, तो default के statements run होंगे)
}

4. C Programming में Switch Case के Parts और उनके काम

1. switch(expression)

  • switch के parentheses () में हम वह variable या expression लिखते हैं, जिसका मान (value) हमें चेक करना होता है।
  • ज़रूरी बात: C में यह expression केवल integer (पूर्णांक), character (अक्षर), या enum (एक विशेष प्रकार का डेटा टाइप) प्रकार का होना चाहिए। हम float, double या string (Text) के लिए switch का इस्तेमाल नहीं कर सकते।

2. case value:

  • हर case एक संभावित मान (possible value) को दर्शाता है। यह value एक constant होनी चाहिए, न कि कोई variable।
  • जब switch के expression का मान किसी case की value से match हो जाता है, तो उस case के बाद लिखे गए code को execute किया जाता है।
  • हर case के बाद colon ( : ) लगाना अनिवार्य है।

3. break; सबसे महत्वपूर्ण!

  • break keyword का काम है control (नियंत्रण) को तुरंत switch block {} से बाहर निकालना
  • अगर आप break का इस्तेमाल नहीं करते हैं, तो एक बार जब कोई case match हो जाता है, तो उसके बाद के सभी case (भले ही उनका मान match न हो) भी execute हो जाते हैं! इसे “Fall-Through” कहा जाता है, जो अक्सर एक bug (त्रुटि) बन जाता है।
  • इसलिए, सामान्य प्रोग्रामिंग में, हर case के Statements पूरे होने के बाद break; लगाना ज़रूरी होता है।

4. default:

  • यह ठीक if-else में else की तरह काम करता है।
  • जब switch का मान किसी भी case की value से match नहीं होता है, तब default block के statements execute होते हैं।
  • default optional (ऐच्छिक) होता है। अगर आपको ज़रूरत नहीं है, तो आप इसे छोड़ सकते हैं।
  • else की तरह, default के साथ कोई value नहीं लिखी जाती, बस colon ( : ) लगाया जाता है।

5. C Programming Switch Case Calculator Program

मान लीजिए हमें एक छोटे से कैलकुलेटर का Program बनाना है, जो दो नंबरों को जोड़, घटा, गुणा या भाग कर सके।

#include <stdio.h>

int main() {
    char operator;
    double num1, num2, result;

    printf("Enter two numbers (e.g.: 10 5): ");
    scanf("%lf %lf", &num1, &num2);

    printf("Select Your Choice (+, -, *, /): ");
    scanf(" %c", &operator); // ' %c' में स्पेस महत्वपूर्ण है

    switch (operator) {
        case '+':
            result = num1 + num2;
            printf("%.2lf + %.2lf = %.2lf\n", num1, num2, result);
            break; // यह break control को switch block से बाहर निकलने के 

        case '-':
            result = num1 - num2;
            printf("%.2lf - %.2lf = %.2lf\n", num1, num2, result);
            break;

        case '*':
            result = num1 * num2;
            printf("%.2lf * %.2lf = %.2lf\n", num1, num2, result);
            break;

        case '/':
            if (num2 != 0) { // भाग देने से पहले 0 से भाग न हो, यह चेक करना जरूरी है
                result = num1 / num2;
                printf("%.2lf / %.2lf = %.2lf\n", num1, num2, result);
            } else {
                printf("Error: Cannot divide by zero!\n");
            }
            break;

        default:
            printf("Sorry You have Enterd Worng choice !\n");
    }

    return 0;
}

Code को समझें:

अगर User ने कोई भी Valid Operator दर्ज नहीं किया, तो default block execute होगा और “Sorry You have Enterd Worng choice !” प्रिंट होगा।

हमने एक char variable operator लिया।

switch में हमने इसी operator को रखा।

अगर यूजर ने + Enter करेगा, तो case ‘+’ match होगा, Addition का काम होगा, और break के कारण प्रोग्राम switch से बाहर आ जाएगा।

break न Use करने का नतीजा: Fall-Through

आइए, उस खतरनाक “Fall-Through” को समझते हैं जो break न Use करने पर होता है।

#include <stdio.h>

int main() {
    int day = 3;
    
    switch (day) {
        case 1:
            printf("Today is Monday\n");
            // break; **MISSING!**
        case 2:
            printf("Today is Tuesday\n");
            // break; **MISSING!**
        case 3:
            printf("Today is Wednesday\n");
            // break; **MISSING!**
        default:
            printf("Invalid input !\n");
    }

    return 0;
}

// OUTPUT (परिणाम) क्या होगा?

// Today is Wednesday
// Invalid input

Output:

Today is Wednesday

Invalid input !

6. C language Switch Case Flowchart

C Programming switch case statement का flowchart नीचे दिया गया है, जिससे इसका working आसानी से समझा जा सकता है।

c programming switch case flowchart

7. Switch Case vs Else-If Ladder in C Programming

Else If LadderSwitch 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 में

8. Example Program (Else-if Ladder vs Switch Case Hindi)

Program in C : Find Grade Based on Marks

#include <stdio.h>

int main() {
    int marks;

    printf("Enter your marks (0 - 100): ");
    scanf("%d", &marks);

    if (marks >= 90) {    // Grade A के लिये Condition 
        printf("Grade: A\n");
    }
    else if (marks >= 75) {  // Grade B के लिये 
        printf("Grade: B\n");
    }
    else if (marks >= 60) {  // Grade C के लिये 
        printf("Grade: C\n");
    }
    else if (marks >= 40) {  // Grade D के लिये 
        printf("Grade: D\n");
    }
    else {
        printf("Grade: F (Fail)\n");
    }

    return 0;
}

Output :

Enter your marks (0 – 100): 68
Grade: C

Day Finder Program using Switch Case in C (Hindi)

#include <stdio.h>

int main() {
    int day;

    printf("Enter day number (1 to 7): ");
    scanf("%d", &day);

    // Switch case ke through day number check karenge
    switch (day) {

        // Day 1 के लिये Condition check → Monday print hoga
        case 1:
            printf("Today is Monday\n");
            break;

        // Day 2 के लिये Condition check → Tuesday print hoga
        case 2:
            printf("Today is Tuesday\n");
            break;

        // Day 3 के लिये Condition check → Wednesday print hoga
        case 3:
            printf("Today is Wednesday\n");
            break;

        // Day 4 के लिये Condition check → Thursday print hoga
        case 4:
            printf("Today is Thursday\n");
            break;

        // Day 5 के लिये Condition check → Friday print hoga
        case 5:
            printf("Today is Friday\n");
            break;

        // Day 6 के लिये Condition check → Saturday print hoga
        case 6:
            printf("Today is Saturday\n");
            break;

        // Day 7 के लिये Condition check → Sunday print hoga
        case 7:
            printf("Today is Sunday\n");
            break;

        // Invalid input के लिये Condition check → user ne 1–7 ke bahar number diya
        default:
            printf("Invalid day number! Please enter 1 to 7 only.\n");
            break;
    }

    return 0;
}

Output :

Enter day number (1 to 7): 5
Today is Friday

9. C Programming Switch Case Quiz in C

Quiz 1:

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
✅ Correct Answer: c) Three

Quiz 2:

Q2. निम्न में से कौन सा switch expression type allowed है?

  • a) int
  • b) char
  • c) enum
  • d) float
✅ Correct Answer: a, b, c (int, char, enum allowed हैं — float allowed नहीं)

Quiz 3:

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
✅ Correct Answer: b) Case B

Quiz 4:

Q4. अगर हम किसी case के बाद break; नहीं लगाते हैं तो क्या होगा?

  • a) केवल वही case चलेगा
  • b) Default execute होगा
  • c) अगला case भी execute होता जाएगा (fall-through)
  • d) Compile time error आएगा
✅ Correct Answer: c) अगला case भी execute होता जाएगा (fall-through)

Quiz 5:

Q5. निम्न में से कौन सा statement गलत है?

  • a) Switch case में default optional होता है।
  • b) Switch expression में float use कर सकते हैं।
  • c) एक case label में constant होना चाहिए।
  • d) Switch में कई cases एक ही code block share कर सकते हैं।
✅ Correct Answer: b) Switch expression में float use कर सकते हैं। (गलत है)

10. C Programming Switch Case – FAQS

Q1. Switch case statement 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 कठिन हो जाती है, इसलिए ज़रूरत पड़ने पर ही करें।

11. Conclusion (निष्कर्ष)

तो आज के इस पोस्ट में सीखा Switch case statement C programming का एक बहुत ही useful control statement है, जो multiple conditions को clean और fast तरीके से handle करने में मदद करता है। अगर आपके program में बहुत सारे if-else checks हैं तो switch case आपको readability, maintainability और performance में बहोत Useful होता है।

हालाँकि ध्यान रहे कि 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 करें औरअगर कोई doubt नीचे comment में पूछें।

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top