Switch, Break
Bruk av switch-setningen
Tenk deg at du kjøper en brus fra en salgsautomat. Etter at du har valgt ønsket drikke, tar variabelen user_input dypt inne i automatens datamaskin en av flere forhåndsdefinerte verdier. Hver av disse alternativene kalles en case, og det er her switch-setningen kommer inn.
Tenk på switch-setningen som en annen versjon av if-else-setningen. Den reagerer på spesifikke verdier du har definert på forhånd.
Slik ser strukturen til en switch-setning ut:
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 }
Tenk deg et eksempel med en salgsautomat. Anta at det finnes tre knapper for å velge ulike typer potetgull:
- Ostesmak potetgull;
- Baconsmak potetgull;
- Chilis smak potetgull.
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 den testede uttrykket ikke samsvarer med noen av de oppførte tilfellene, blir default-tilfellet utført. Hvis det ikke er angitt noe default-tilfelle, fortsetter programmet ganske enkelt sin flyt.
Det testede uttrykket i en switch-setning kan kun være av heltalls- eller char-type. Du kan ikke bruke strenger eller ikke-heltallstyper 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 til break
Kommandoen break stopper utførelsen av den nåværende blokken og går videre til neste del av koden. Når den relevante case er ferdig, forlater du blokken og fortsetter med programmet.
Uten kommandoen break ville switch-setningen kjørt kontinuerlig, og du ville sannsynligvis fått utilsiktede 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, begynner programmet å utføre umiddelbart etter at en samsvarende case er funnet og fortsetter til det finner en break eller når slutten av switch-blokken.
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Can you show me an example of a switch statement in code?
What happens if I forget to include a break statement in one of the cases?
Can you explain how the default case works in more detail?
Awesome!
Completion rate improved to 2.63
Switch, Break
Sveip for å vise menyen
Bruk av switch-setningen
Tenk deg at du kjøper en brus fra en salgsautomat. Etter at du har valgt ønsket drikke, tar variabelen user_input dypt inne i automatens datamaskin en av flere forhåndsdefinerte verdier. Hver av disse alternativene kalles en case, og det er her switch-setningen kommer inn.
Tenk på switch-setningen som en annen versjon av if-else-setningen. Den reagerer på spesifikke verdier du har definert på forhånd.
Slik ser strukturen til en switch-setning ut:
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 }
Tenk deg et eksempel med en salgsautomat. Anta at det finnes tre knapper for å velge ulike typer potetgull:
- Ostesmak potetgull;
- Baconsmak potetgull;
- Chilis smak potetgull.
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 den testede uttrykket ikke samsvarer med noen av de oppførte tilfellene, blir default-tilfellet utført. Hvis det ikke er angitt noe default-tilfelle, fortsetter programmet ganske enkelt sin flyt.
Det testede uttrykket i en switch-setning kan kun være av heltalls- eller char-type. Du kan ikke bruke strenger eller ikke-heltallstyper 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 til break
Kommandoen break stopper utførelsen av den nåværende blokken og går videre til neste del av koden. Når den relevante case er ferdig, forlater du blokken og fortsetter med programmet.
Uten kommandoen break ville switch-setningen kjørt kontinuerlig, og du ville sannsynligvis fått utilsiktede 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, begynner programmet å utføre umiddelbart etter at en samsvarende case er funnet og fortsetter til det finner en break eller når slutten av switch-blokken.
Takk for tilbakemeldingene dine!