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

Awesome!

Completion rate improved to 2.63

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