Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Switch, Break | Kontrollsetninger
C-Grunnleggende

bookSwitch, 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

main.c

copy
1234567891011121314151617
switch (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

Main.c

copy
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.

Note
Merk

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

Main.c

copy
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

Main.c

copy
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.

question mark

Hva er hovedformålet med break-setningen inne i en switch-blokk?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 4

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Suggested prompts:

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

bookSwitch, 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

main.c

copy
1234567891011121314151617
switch (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

Main.c

copy
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.

Note
Merk

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

Main.c

copy
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

Main.c

copy
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.

question mark

Hva er hovedformålet med break-setningen inne i en switch-blokk?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 4
some-alt