【C भाषा】switch-case कथनको प्रयोग पूर्ण मार्गदर्शिका | मूल संरचना देखि प्रयोगात्मक उदाहरणसम्म विस्तृत व्याख्या

目次

1. परिचय: C भाषा को सर्त शाखा के हो?

सर्त शाखाको महत्व र भूमिका

प्रोग्रामिङमा, सर्त शाखाले महत्वपूर्ण भूमिका खेल्दछ। विशिष्ट सर्तहरूद्वारा विभिन्न प्रक्रिया सञ्चालन गरेर, कार्यक्रमको लचिलोपन र कार्यक्षमता बढाउन सकिन्छ।

C भाषामा सर्त शाखाको आधारभूत

C भाषामा, सर्त शाखा गर्न मुख्यतया तलका दुई विधिहरू प्रयोग गरिन्छ।

  1. if-else statement
  2. switch-case statement

यी मध्ये、switch-case वाक्य बहु सर्तहरूलाई प्रभावकारी रूपमा प्रक्रिया गर्न सक्ने कारण, स्पष्ट विकल्पहरू उपलब्ध हुँदा विशेष गरी उपयोगी हुन्छ।

switch-case वाक्यको भूमिका र प्रयोग दृश्य

switch-case वाक्यले、विशेष चलको मानमा आधारित प्रक्रिया विभाजन गर्ने नियन्त्रण संरचना हो। तलको जस्तै परिदृश्यमा उपयोगी हुन्छ।

  • Menu selection program
  • Evaluation classification by numbers and characters
  • Simplified state management

प्रयोग दृश्यको उदाहरण

उदाहरणका लागि, मेनु नम्बर अनुसार विभिन्न कार्यहरू कार्यान्वयन गर्ने अनुप्रयोगलाई विचार गरौं। प्रयोगकर्ताले「1」चयन गरेमा「सुरु」、प्रयोगकर्ताले「2」चयन गरेमा「समाप्त」भनेको निर्देशन प्रोग्रामलाई दिन सकिन्छ।

switch-case वाक्य सिक्ने फाइदा

  • The code is concise and highly readable
  • Because conditional branching is clearly organized, errors are less likely to occur.
  • Improve program efficiency

यस लेखमा、switch-case वाक्यको आधारभूत संरचना देखि अनुप्रयोग उदाहरण, ध्यान दिनुपर्ने बुँदासम्म विस्तृत रूपमा व्याख्या गर्नेछौं। यसलाई अवसरको रूपमा लिई, C भाषाको सर्त शाखाबारे गहिरो समझ हासिल गरी, व्यावहारिक कौशल हासिल गरौं।

2. switch-case वाक्यको मूल संरचना र प्रयोग

मूल संरचना

तलको मूलswitch-caseवाक्यको संरचना हो।

switch (अभिव्यक्ति) {
    case स्थिर1:
        // प्रक्रिया1
        break;
    case स्थिर2:
        // प्रक्रिया2
        break;
    default:
        // अन्य प्रक्रिया
}

कोड उदाहरण: हप्ता दिन निर्धारण कार्यक्रम

#include 

int main() {
    int day;
    printf("दिनहरूलाई सङ्ख्यामा प्रविष्ट गर्नुहोस् (1-7): ");
    scanf("%d", &day);

    switch (day) {
        case 1:
            printf("सोमबारn");
            break;
        case 2:
            printf("मंगलबारn");
            break;
        case 3:
            printf("बुधबारn");
            break;
        case 4:
            printf("बिहीबारn");
            break;
        case 5:
            printf("शुक्रबारn");
            break;
        case 6:
            printf("शनिबारn");
            break;
        case 7:
            printf("आइतबारn");
            break;
        default:
            printf("अवैध इनपुट छn");
    }

    return 0;
}

यस उदाहरणको बुँदा

  • break
  • By using , we also take measures against invalid input.

switch-case वाक्य प्रयोग गर्ने फाइदा

  • Improved readability:
  • Code reduction:
  • Error prevention:

३. switch-case वाक्यको विशेषता र ध्यान दिनुपर्ने कुराहरू

विशेषता १: सरल र पठनीयता उच्च

switch-caseवाक्यले, बहु शर्त विभाजनलाई संक्षिप्त रूपमा लेख्न सक्ने कारण, कोडको पठनीयता उच्च हुन्छ।

विशेषता २: पूर्णांक प्रकार वा अक्षर प्रकारको निर्णयमा विशेषीकृत

switch-caseवाक्यले, पूर्णांक प्रकार (int) र अक्षर प्रकार (char) को मानहरूमा विशेष गरी डिजाइन गरिएको छ।

प्रयोग गर्दा ध्यान दिनुपर्ने कुराहरू

१. break वाक्य बिर्सनु हुँदैन

int num = 1;

switch (num) {
    case 1:
        printf("Onen");
    case 2:
        printf("Twon");
    default:
        printf("Othern");
}

आउटपुट परिणाम:

One  
Two  
Other

समाधान:

int num = 1;

switch (num) {
    case 1:
        printf("Onen");
        break;
    case 2:
        printf("Twon");
        break;
    default:
        printf("Othern");
}

२. स्थिरहरू मात्र प्रयोग गर्न सकिन्छ

int x = 10;
switch (x) {
    case x:  // त्रुटि
        printf("त्रुटि हैn");
        break;
}

संशोधित संस्करण:

#define VALUE 10
switch (x) {
    case VALUE:
        printf("सफलता भयोn");
        break;
}

सारांश

  • Don’t forget the break statement
  • Use only constants
  • Organize nested structure

4. if-else वाक्यसँगको प्रयोग विभाजन: कुन चयन गर्ने?

मूलभूत भिन्नता

1. सर्तको मूल्यांकन विधि

  • if-else statement
  • switch-case statement

तुलनात्मक तालिका

Comparison itemsif-else statementswitch-case statement
Conditional ExpressionLogical expressions and range conditions can be specifiedLimited to specific values of integer or character type
ReadabilityIt becomes hard to read when conditions become complex.Easily readable by explicitly specifying multiple cases.
SpeedIt may become relatively slowOptimized by the compiler, high-speed processing possible
ExtensibilityAdd conditions flexiblyIt is limited to constants and specific values, so extensibility is low.
UsageEffective when handling ranges and complex conditional expressions.Ideal for handling specific values and menu selection

व्यावहारिक उदाहरणहरू

if-else वाक्यको उदाहरण:

int score = 85;

if (score >= 90) {
    printf("उत्कृष्टn");
} else if (score >= 70) {
    printf("अच्छाn");
} else {
    printf("सन्तोषजनकn");
}

switch-case वाक्यको उदाहरण:

int grade = 2;

switch (grade) {
    1:
        printf("उत्कृष्टn");
        break;
    case 2:
        printf("अच्छाn");
        break;
    case 3:
        printf("सन्तोषजनकn");
        break;
    default:
        printf("असफलn");
}

5. अनुप्रयोग उदाहरण: switch-case कथनलाई अझ सुविधाजनक बनाउने तरिका

1. धेरै केसहरूलाई एकत्रित गर्नु

char grade = 'A';

switch (grade) {
    case 'A':
    case 'B':
        printf("सफलताn");
        break;
    case 'C':
        printf("पुनःपरीक्षणn");
        break;
    default:
        printf("असफलताn");
}

2. फॉल्स थ्रु प्रयोग गर्नु

int score = 85;

switch (score / 10) {
    case 10:
    case 9:
        printf("उत्कृष्टn");
        break;
    case 8:
    case 7:
        printf("अच्छाn");
        break;
    default:
        printf("अस्वीकार्यn");
}

3. नेस्टेड switch-case कथन

int menu = 1;
int subMenu = 2;

switch (menu) {
    case 1:
        switch (subMenu) {
            case 1:
                printf("उपमेनु1-1n");
                break;
            case 2:
                printf("उपमेनु1-2n");
                break;
        }
        break;
    case 2:
        printf("मेनु2n");
        break;
}

6. सामान्य त्रुटिहरू र तिनीहरूको समाधान

1. break कथन बिर्सनु

int num = 1;

switch (num) {
    case 1:
        printf("Onen");
    case 2:
        printf("Twon");
    default:
        printf("Othern");
}

समाधान:

int num = 1;

switch (num) {
    case 1:
        printf("Onen");
        break;
    case 2:
        printf("Twon");
        break;
    default:
        printf("Othern");
}

2. case लेबलमा चल प्रयोग गर्नु

int x = 10;
switch (x) {
    case x:  // त्रुटि
        printf("मान १० होn");
        break;
}

सुधारिएको संस्करण:

#define VALUE 10
switch (x) {
    case VALUE:
        printf("सफल भयोn");
        break;
}

3. default कथनको अभाव

int num = 5;

switch (num) {
    case 1:
        printf("Onen");
        break;
    case 2:
        printf("Twon");
        break;
}

समाधान:

switch (num) {
    case 1:
        printf("Onen");
        break;
    case 2:
        printf("Twon");
        break;
    default:
        printf("Othern");
}

7. सारांश र अर्को चरण

1. लेखको मुख्य बुँदाहरूको सारांश

  1. Basic Syntax and Usage
  • switch-case
  • It is simple, highly readable, and suitable for processing with clear conditions.
  1. Features and Caveats
  • switch-case
  • break
  1. Choosing between if-else statements
  • if-else statementswitch-case statement
  • By appropriately using them according to conditions, you can create efficient programs.
  1. Application Examples and Techniques
  • You can write flexible code, such as methods to combine multiple cases and range checks using fallthrough.
  • Nested and combinations with functions can also organize and manage more complex processes.
  1. Error and Solutions
  • Common errors( omitted statements and duplicate labels, etc.) and their causes and solutions were introduced.
  • By understanding troubleshooting methods that help during debugging, you can more easily prevent errors.

2. अर्को चरण

1. व्यावहारिक कार्यक्रम निर्माण
यस लेखमा सिकेको सामग्रीलाई प्रयोग गरेर, तलको जस्तै कार्यक्रम बनाउने प्रयास गरौं।

  • Calculator program: Process arithmetic operations with .
  • Menu selection app: Build multi-level menus and implement operations.
  • Grade Management System: Automatically classifies evaluations based on scores.

2. सम्बन्धित विषयहरूको अध्ययन
switch-case कथनलाई अझ प्रभावकारी रूपमा प्रयोग गर्न, तलका विषयहरू पनि अध्ययन गर्न सिफारिस गरिन्छ।

  • if-else application
  • Loop Syntax (for, while)
  • Functions and Structures

3. कार्यक्रमको अनुकूलन र डिबगिङ

  • Utilizing Debugging Tools
  • Conducting Code Review

3. सारांश

switch-case कथन C भाषाको सर्त शाखा (conditional branching) लाई प्रभावकारी बनाउनको लागि शक्तिशाली उपकरण हो। आधारभूतदेखि उन्नतसम्मको बुझाइलाई गहिरो बनाउँदा, कार्यक्रमको पढ्न सजिलोपन र कार्यक्षमता सुधार्न सकिन्छ।

यो लेखलाई सन्दर्भको रूपमा लिई, वास्तविक कोड लेख्दै अध्ययन जारी राख्दा, प्रोग्रामिङ कौशललाई निश्चित रूपमा उन्नत गर्न सकिन्छ। थप उन्नत सामग्री र सम्बन्धित विषयहरूमा पनि चुनौती दिनुहोस्, र चरणबद्ध उन्नतिमा लक्ष्य राख्नुहोस्!

侍エンジニア塾