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

bookSwitch, Break

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

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 }

Overvej et eksempel med en salgsautomat. Antag, at der er tre knapper til at vælge forskellige typer chips:

  • Ostesmag chips;
  • Baconsmag chips;
  • Chilis­mag chips.
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 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.

Note
Bemærk

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

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

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

question mark

Hvad er hovedformålet med break-sætningen inde i en switch-blok?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 4

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

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?

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

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 }

Overvej et eksempel med en salgsautomat. Antag, at der er tre knapper til at vælge forskellige typer chips:

  • Ostesmag chips;
  • Baconsmag chips;
  • Chilis­mag chips.
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 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.

Note
Bemærk

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

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

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

question mark

Hvad er hovedformålet med break-sætningen inde i en switch-blok?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 4
some-alt