Switch, Break
Stryg for at vise menuen
Brug af switch-sætningen
Forestil dig, at du køber en sodavand fra en automat. Når du vælger din ønskede drik, får variablen user_input en af flere foruddefinerede værdier dybt inde i automatens computer. Hver af disse muligheder kaldes en case, og det er her, switch-sætningen anvendes.
Tænk på switch-sætningen som en anden version af if-else-sætningen. Den reagerer på specifikke værdier, du tidligere har defineret.
Her er strukturen for en switch-sætning:
main.c
1234567891011121314151617switch (integer_expression) { case first_case_value: // Instruction for this case break; case second_case_value: // Instruction for this case break; case third_case_value: // Instruction for this case break; default: // Default instruction }
Overvej et eksempel med en salgsautomat. Antag, at der er tre knapper til at vælge forskellige typer chips:
- Ostesmag chips;
- Baconsmag chips;
- Chilismag chips.
Main.c
123456789101112131415161718192021222324#include <stdio.h> int main() { int userInput = 2; switch (userInput) { case 1: printf("You selected cheese-flavored chips.\n"); break; case 2: printf("You selected bacon-flavored chips.\n"); break; case 3: printf("You selected chili-flavored chips.\n"); break; default: printf("You selected another item.\n"); } return 0; }
Hvis det testede udtryk ikke matcher nogen af de angivne cases, udføres default-casen. Hvis der ikke er angivet nogen default-case, fortsætter programmet blot sit forløb.
Det udtrykte udtryk i en switch-sætning kan kun være af typen heltal eller char. Du kan ikke bruge strenge eller ikke-heltal datatyper som cases.
Main.c
12345678910111213141516171819202122232425#include <stdio.h> int main() { char userInput = 'y'; switch (userInput) { case 'a': printf("You entered 'a' character\n"); break; case 'b': printf("You entered 'b' character\n"); break; case 'c': printf("You entered 'c' character\n"); break; default: printf("You entered unknown character\n"); } return 0; }
Rollen af break
break-kommandoen stopper udførelsen af det aktuelle blok og fortsætter til næste kodeafsnit. Når den relevante case er afsluttet, forlader du blokken og fortsætter med programmet.
Uden break-kommandoen ville switch-sætningen køre kontinuerligt, hvilket sandsynligvis ville føre til utilsigtede resultater.
Main.c
123456789101112131415161718192021222324#include <stdio.h> int main() { char userInput = 'b'; switch (userInput) { case 'a': printf("You entered 'a' character\n"); // without break case 'b': printf("You entered 'b' character\n"); // without break case 'c': printf("You entered 'c' character\n"); // without break default: printf("You entered unknown character\n"); } return 0; }
Hvis break-kommandoen mangler, begynder programmet straks at udføre koden efter at have fundet en matchende case og fortsætter indtil det finder et break eller når slutningen af switch-blokken.
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat