Switch, Break
Het gebruik van de switch-instructie
Stel je voor dat je een frisdrank koopt uit een automaat. Nadat je je gewenste drankje hebt geselecteerd, krijgt de variabele user_input diep in de computer van de automaat één van meerdere vooraf gedefinieerde waarden. Elk van deze opties wordt een case genoemd, en hier komt de switch-instructie in beeld.
Beschouw de switch-instructie als een alternatief voor de if-else-instructie. Deze reageert op specifieke waarden die je eerder hebt gedefinieerd.
Hier volgt de structuur van een switch-instructie:
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 }
Beschouw een voorbeeld van een automaat. Stel dat er drie knoppen zijn om verschillende soorten chips te selecteren:
- Kaas-chips;
- Bacon-chips;
- Chili-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; }
Als de geteste expressie niet overeenkomt met een van de vermelde gevallen, wordt het default-geval uitgevoerd. Als er geen default-geval is opgegeven, gaat het programma gewoon verder.
De geteste expressie in een switch-instructie mag alleen van het type integer of char zijn. Het is niet toegestaan om strings of niet-integer datatypes als cases te gebruiken.
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; }
De rol van break
Het break-commando stopt de uitvoering van het huidige blok en gaat verder met het volgende deel van de code. Zodra de relevante case is afgehandeld, verlaat je dat blok en gaat het programma verder.
Zonder het break-commando zou de switch-instructie doorgaan met uitvoeren, wat waarschijnlijk tot onbedoelde resultaten leidt.
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; }
Als het break-commando ontbreekt, begint het programma direct na het vinden van een overeenkomende case met uitvoeren en gaat door totdat het een break tegenkomt of het einde van de switch bereikt.
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Awesome!
Completion rate improved to 2.63
Switch, Break
Veeg om het menu te tonen
Het gebruik van de switch-instructie
Stel je voor dat je een frisdrank koopt uit een automaat. Nadat je je gewenste drankje hebt geselecteerd, krijgt de variabele user_input diep in de computer van de automaat één van meerdere vooraf gedefinieerde waarden. Elk van deze opties wordt een case genoemd, en hier komt de switch-instructie in beeld.
Beschouw de switch-instructie als een alternatief voor de if-else-instructie. Deze reageert op specifieke waarden die je eerder hebt gedefinieerd.
Hier volgt de structuur van een switch-instructie:
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 }
Beschouw een voorbeeld van een automaat. Stel dat er drie knoppen zijn om verschillende soorten chips te selecteren:
- Kaas-chips;
- Bacon-chips;
- Chili-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; }
Als de geteste expressie niet overeenkomt met een van de vermelde gevallen, wordt het default-geval uitgevoerd. Als er geen default-geval is opgegeven, gaat het programma gewoon verder.
De geteste expressie in een switch-instructie mag alleen van het type integer of char zijn. Het is niet toegestaan om strings of niet-integer datatypes als cases te gebruiken.
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; }
De rol van break
Het break-commando stopt de uitvoering van het huidige blok en gaat verder met het volgende deel van de code. Zodra de relevante case is afgehandeld, verlaat je dat blok en gaat het programma verder.
Zonder het break-commando zou de switch-instructie doorgaan met uitvoeren, wat waarschijnlijk tot onbedoelde resultaten leidt.
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; }
Als het break-commando ontbreekt, begint het programma direct na het vinden van een overeenkomende case met uitvoeren en gaat door totdat het een break tegenkomt of het einde van de switch bereikt.
Bedankt voor je feedback!