Switch Case Statement in C Programming in Hindi

इस tutorial में हम C Programming में switch case statement और break keyword का use कैसे करते हैं ये examples के साथ सीखेंगे.

Switch case statement और if.. else if.. else  statement का use लगभग एक जैसे task के लिए होता है इसलिए अगर आपने इससे पहले वाले tutorials नहीं पढ़ें तो पहले उन्हें जरूर पढ़ लें. 

Switch case का use भी if.. else if .. else statement की तरह C program के statements के execution flow को control करने के लिए किया जाता है.

इसलिए switch case statement को भी if.. else if .. else statement की तरह Control Flow Statements या Decision Making Statements कहा जाता है.

Switch Case Syntax:

switch(variable or integer expression)
{
    case value1:
    {
        //statements;
        break;
    }
    case value2:
    {
        //statements;
        break;
    }
    case value3:
    {
        //statements;
        break;
    }
    default:
    {
        //statements;
    }
}

Switch Case Syntax Explanation:

ये बात विशेष ध्यान रखिएगा की switch, case, default और break ये सभी C keywords हैं इसलिए ये lowercase में ही लिखे जाते हैं.

अब जैसा की आप ऊपर syntax में देख रहे हैं की switch के parenthesis ( ) में हम सिर्फ variable या कोई expression लिखते हैं यानी इसमें if के parenthesis ( ) की तरह कोई condition नहीं लिखी जाती है. 

switch के parenthesis ( ) में सिर्फ ऐसा variable लिखते हैं जिसके पास int या char data type की value हो. इसी तरह expression भी सिर्फ इस तरह की लिखी जाती है जिसकी result value int या char data type की value आए.

switch के parenthesis ( ) बाद जो curly braces { } हैं उन्हें हम switch की body या compund statement कहते हैं और switch के सभी case इसी body के अंदर आते हैं.

switch के सभी case के साथ के int या char type की constant value होती है जिन्हें हम case label भी कहते हैं.

case value लिखते वक्त इस बात का विशेष ध्यान रखें की सभी case की value अलग-अलग यानी unique होनी चाहिए और case value के तुरंत बाद colon ( : ) का use होता है.

case के साथ भी block { } associated होता है और इसी block में case के सभी statements और break keyword आता है.

अगर आप case के अंदर एक से ज्यादा statements control करना चाहते हो तो case की body के लिए curly braces को use जरूर करें.

और यदि आप case के अंदर सिर्फ एक ही statement control करना चाहते हो तो case के साथ curly braces { } लगाना जरूरी नहीं होता है आप चाहो तो लगा सकते हो.

switch में सभी case के बाद लास्ट में default (case) use होता है जो ठीक else की तरह काम करता है यानी जब किसी भी case के statements run नहीं होंगे तब default के statement run होते हैं.

इसके अलावा जैसे else के साथ condition नहीं लिखी जाती है ठीक ऐसे ही default के साथ कोई constant value नहीं लिखी जाती है लेकिन हाँ colon ( : ) जरूर लगाया जाता है.

और else की तरह ही default भी optional (ऐच्छिक) होता है यानी अगर आपके program की जरूरत नहीं है तो आप default के use switch में मत करिए.

C Programming में switch case कैसे काम करता है?

switch case भी if, else if …, else की तरह काम करता है जैसे सबसे पहले if की condition चेक होती है अगर वो false हो जाए तो फिर else if की उसके बाद next else if की और अगर किसी की भी condition true नहीं होती तो लास्ट में else के statements run हो जाते हैं.

ऐसी ही switch case के working process में switch के parenthesis ( ) में जो variable या expression result value को एक-एक करके सभी case की value के साथ ये compare किया जाता है की क्या वो value switch की value के equal है या नहीं.

अब जिस case की value switch की value के equal (बराबर) होती है उस case को true मान लिया जाता है और उसके अंदर के सभी statements run कर दिए जाते हैं.

अगर switch की value किसी भी case की value के बराबर नहीं है तो लास्ट में default (case) के अंदर के सभी statements run (executed) कर दिए जाते हैं.

switch case में break keyword का क्या use होता है?

switch case का use करते वक्त students सबसे ज्यादा जो गलती करते हैं वो है की case के अंदर statements लिखने के बाद break keyword लिखना भूल जाते हैं.

if, else if …, else statement को use करते वक्त ये होता है की जैसे की if या किसी else if की condition true हो जाती है उसके बाद वाले else if और else की condition ही चेक नहीं होती और ना ही उनके statement run होते.

लेकिन switch case में ऐसा नहीं होता है जब किसी case की value switch की value से equal हो जाती है तब उस case को true मानकर उसके सभी statements तो run होते ही है लेकिन उसके बाद के सभी case के statements भी run हो जाते हैं.

यानी जैसे ही कोई case true होता है उसके बाद वाले सभी case बिना switch की value को compare किए अपने आप true हो जाते हैं और उनके statements भी run हो जाते हैं.

अगर आप चाहते हो की आपके program में switch case use करते वक्त ऐसा ना हो तो उसके लिए आपको हर case के statements के बाद break keyword का use करना होता है.

इससे ये होता है की जैसे ही किसी case के statements run होने के बाद जैसे ही break keyword मिलता है तो break keyword की वजह से आपके program का flow सीधे switch के बाहर आ जाता है और true case के बाद वाले case के statements run नहीं होते हैं.

Without break keyword switch case example program:

switch(num)
{
    case 1:
    {
        printf("Statement 1\n");
    }
    case 2:
    {
        printf("Statement 2\n");
    }
    case 3:
    {
        printf("Statement 3\n");
    }        
    default:
    {
        printf("Default Statement");
    }
}

Output 1: अगर num की value 2 हो तब

Statement 2
Statement 3
Default Statement

Output 2: अगर num की value 3 हो तब

Statement 3
Default Statement

Output 3: अगर num की value 6 हो तब

Default Statement

switch case example program with break keyword:

#include <stdio.h>
int main()
{
    int num1,num2,ans,choice;

    printf("1. Addition\n");
    printf("2. Subtraction\n");
    printf("Enter Your Choice : ");
    scanf("%d",&choice);

    switch(choice)
    {
        case 1:
        {
            printf("Enter First Number : ");
            scanf("%d",&num1);
            printf("Enter Second Number : ");
            scanf("%d",&num2);
            ans=num1+num2;
            printf("Addition : %d",ans);
            break;
        }
        case 2:
        {
            printf("Enter First Number : ");
            scanf("%d",&num1);
            printf("Enter Second Number : ");
            scanf("%d",&num2);
            ans=num1-num2;
            printf("Subtraction : %d",ans);
            break;
        }
        default:
        {
            printf("You Entered Wrong Number");
        }
    }

    return 0;
}

Ouput 1:

1. Addition
2. Subtraction
Enter Your Choice : 1
Enter First Number : 23
Enter Second Number : 5
Addition : 28

Ouput 2:

1. Addition
2. Subtraction
Enter Your Choice : 2
Enter First Number : 20
Enter Second Number : 5
Subtraction : 15

Ouput 3:

1. Addition
2. Subtraction
Enter Your Choice : 5
You Entered Wrong Number

What’s Next: इस tutorial में हमने C Switch Case के बारे में पढ़ा. Next tutorial में हम C programming में For Loop का use करना सीखेंगे.