Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> C Taal

Switch-Case in C Begrijpen: Syntaxis, Voorbeelden en Best Practices

Wat is de Switch-statement in C?

De switch-constructie evalueert een enkele expressie en stuurt de programstroom naar het bijpassende case-label. Als geen match gevonden wordt, draait de optionele default-blok. Dit besluitvormingshulpmiddel is met name handig bij het afhandelen van discrete, constante waarden zoals menuopties, foutcodes of gebruikersselecties.

Elk case wordt uniek geïdentificeerd door een constante expressie. Wanneer de waarde van de expressie overeenkomt met een case-label, wordt het bijbehorende blok statements uitgevoerd, en verlaat de uitvoering de switch (tenzij een break ontbreekt, wat fall-through veroorzaakt).

Switch-Case Syntaxis

switch (expressie) {
    case constante1:
        // statements
        break;
    case constante2:
        // statements
        break;
    // …
    default:
        // statements
        break;
}
// statements na de switch
  • De expressie moet evalueren naar een integraal of enum-type.
  • Case-labels zijn constante waarden; duplicaten creëren ambiguïteit en moeten vermeden worden.
  • Elk case eindigt met een dubbele punt en wordt gevolgd door een blok code.
  • Gebruik break om een case te beëindigen; zonder het gaat de uitvoering door in volgende cases (fall-through).
  • Het default-blok is optioneel en draait alleen als geen case matcht.

Hoe de Switch-statement Werkt

Switch-Case in C Begrijpen: Syntaxis, Voorbeelden en Best Practices

Voorbeeld 1: Basis Switch

#include <stdio.h>
int main() {
    int num = 8;
    switch (num) {
        case 7:
            printf("Waarde is 7");
            break;
        case 8:
            printf("Waarde is 8");
            break;
        case 9:
            printf("Waarde is 9");
            break;
        default:
            printf("Buiten bereik");
            break;
    }
    return 0;
}

Output:

Waarde is 8

Voorbeeld 2: Default Gebruiken

#include <stdio.h>
int main() {
    int taal = 10;
    switch (taal) {
        case 1:
            printf("C#\n");
            break;
        case 2:
            printf("C\n");
            break;
        case 3:
            printf("C++\n");
            break;
        default:
            printf("Andere programmeertaal\n");
    }
    return 0;
}

Output:

Andere programmeertaal

Voorbeeld 3: Gecombineerde Cases

#include <stdio.h>
int main() {
    int nummer = 5;
    switch (nummer) {
        case 1:
        case 2:
        case 3:
            printf("Eén, Twee of Drie.\n");
            break;
        case 4:
        case 5:
        case 6:
            printf("Vier, Vijf of Zes.\n");
            break;
        default:
            printf("Groter dan Zes.\n");
    }
    return 0;
}

Output:

Vier, Vijf of Zes.

Geneste Switches

Switches kunnen genest worden, wat hiërarchische besluitvorming mogelijk maakt. Het volgende voorbeeld demonstreert een eenvoudige authenticatiestroom:

#include <stdio.h>
int main() {
    int ID, wachtwoord;
    printf("Voer uw ID in:\n");
    scanf("%d", &ID);
    switch (ID) {
        case 500:
            printf("Voer uw wachtwoord in:\n");
            scanf("%d", &wachtwoord);
            switch (wachtwoord) {
                case 0:
                    printf("Welkom Lieve Programmeur\n");
                    break;
                default:
                    printf("Onjuist wachtwoord\n");
            }
            break;
        default:
            printf("Onjuist ID\n");
    }
    return 0;
}

OUTPUT:

 Voer uw ID in: 500
Voer uw wachtwoord in: 000
Welkom Lieve Programmeur
Switch-Case in C Begrijpen: Syntaxis, Voorbeelden en Best Practices

Waarom Switch Voorkeur Heeft boven Uitgebreide If-Else

Hoewel if-else-ketens dezelfde logica kunnen bereiken, worden ze onhandig naarmate het aantal opties toeneemt. Switch-statements bieden duidelijke syntaxis, betere leesbaarheid en kunnen door de compiler geoptimaliseerd worden naar jump-tabellen voor constante expressies.

Regels voor het Gebruik van Switch

  • De controlerende expressie moet een integraal of enum-type zijn.
  • Case-labels moeten constant, unieke waarden zijn.
  • Elk case-label eindigt met een dubbele punt.
  • Gebruik break om ongewenste fall-through te voorkomen.
  • Slechts één default-label is toegestaan.
  • Geneste switches zijn toegestaan en vaak nuttig.

Belangrijkste Inzichten

  • Switch is een robuust besluitvormingshulpmiddel voor discrete waarden.
  • Altijd een break includeren (tenzij意図的 fall-through).
  • Houd case-labels uniek en constant.
  • Het default-blok is optioneel maar aanbevolen voor foutafhandeling.
  • Geneste switches bieden gelaagde besluitlogica.

C Taal

  1. Circuit met een schakelaar: Praktische gids voor basis elektrische circuits
  2. De C# Switch Statement: Syntaxis, Voorbeelden & Best Practices
  3. C++ do‑while Lus: Syntaxis, Praktische Voorbeelden en Geneste Lussen
  4. C++ Switch‑Case Onder de Knie: Syntaxis, Gebruik en Praktische Voorbeelden
  5. C++ Pointers Onder de Knie: Concepten, Voorbeelden & Praktische Toepassingen
  6. C++ Operator Overloading – Praktische Handleiding met Code‑Voorbeelden
  7. C++ Functies Uitgelegd met Praktische Codevoorbeelden
  8. C# Collections Beheersen: Een Praktische Tutorial met Real-World Voorbeelden
  9. Python print()-functie: Praktische handleiding met voorbeelden
  10. Python's str.count() beheersen: Karakters & substrings tellen met voorbeelden
  11. Python round()-functie uitgelegd met praktische voorbeelden