De Switch case-instructie evalueert een gegeven expressie en voert op basis van de geëvalueerde waarde (die overeenkomt met een bepaalde voorwaarde) de bijbehorende instructies uit. Kortom, het wordt gebruikt om verschillende acties uit te voeren op basis van verschillende omstandigheden (gevallen).
- Switch case-instructies volgen een selectiecontrolemechanisme en zorgen ervoor dat een waarde de controle over de uitvoering kan veranderen.
- Ze zijn een vervanging voor lang als uitspraken die een variabele vergelijken met verschillende integrale waarden.
- De switch-instructie is een multiway branch-instructie. Het biedt een eenvoudige manier om de uitvoering naar verschillende delen van de code te verzenden op basis van de waarde van de expressie.
In C wordt de switch case-instructie gebruikt voor het uitvoeren van één voorwaarde uit meerdere voorwaarden. Het is vergelijkbaar met een if-else-if-ladder.
java mvc
De switch-instructie bestaat uit conditioneel gebaseerde cases en een standaardcase.
Syntaxis van switch-instructie in C
switch(expression) { case value1 : statement_1; break; case value2 : statement_2; break; . . . case value_n : statement_n; break; default: default_statement; }>Hoe switch case Statement in C te gebruiken?
Voordat we de switch-case in ons programma gebruiken, moeten we enkele regels van de switch-instructie kennen.
Regels van de switch-case-instructie
Hieronder volgen enkele regels die we moeten volgen bij het gebruik van de switch-instructie:
- In een switch-instructie wordt de zaak waarde moet zijn van verkoold En int type.
- Er kunnen één of N aantal gevallen zijn.
- De waarden in het geval moeten zijn uniek .
- Elke verklaring van de zaak kan een break-verklaring hebben. Het is optioneel.
- De standaardverklaring is ook optioneel.
Voorbeeld
C // C program to Demonstrate returning of day based numeric // value #include int main() { // switch variable int var = 1; // switch statement switch (var) { case 1: printf('Case 1 is Matched.'); break; case 2: printf('Case 2 is Matched.'); break; case 3: printf('Case 3 is Matched.'); break; default: printf('Default case is Matched.'); break; } return 0; }> Uitvoer
Case 1 is Matched.>
Hoe schakelverklaring werken?
De werking van het switch-statement in C is als volgt:
- Stap 1: De schakelvariabele wordt geëvalueerd.
- Stap 2: De geëvalueerde waarde wordt vergeleken met alle onderhavige gevallen.
- Stap 3A: Als de overeenkomende case-waarde wordt gevonden, wordt de bijbehorende code uitgevoerd.
- Stap 3B: Als de overeenkomende code niet wordt gevonden, wordt de standaardcase uitgevoerd, indien aanwezig.
- Stap 4A: Als het sleutelwoord break in de case aanwezig is, breekt de programmabesturing de instructie switch af.
- Stap 4B: Als het sleutelwoord break niet aanwezig is, worden alle cases na de overeenkomende case uitgevoerd.
- Stap 5: Verklaringen na de switch-instructie worden uitgevoerd.
We kunnen de werking van de switch-instructie in C ook begrijpen met behulp van het stroomdiagram.
Stroomdiagram van de Switch-verklaring

Stroomschema van switch-instructie in C
Breuk in schakelkast
Dit trefwoord wordt gebruikt om de uitvoering binnen een schakelblok te stoppen. Het helpt om het schakelblok te beëindigen en eruit te breken. Wanneer een break-instructie wordt bereikt, wordt de switch beëindigd en springt de controlestroom naar de volgende regel na de switch-instructie.
De break-instructie is optioneel . Als dit wordt weggelaten, gaat de uitvoering door naar de volgende zaak. De controlestroom zal doorgaan naar volgende gevallen totdat er een breuk is bereikt.
Voorbeeld van een schakelkast zonder breuk
C // C Program to demonstrate the behaviour of switch case // without break #include int main() { int var = 2; // switch case without break switch (var) { case 1: printf('Case 1 is executed.
'); case 2: printf('Case 2 is executed.
'); case 3: printf('Case 3 is executed.'); case 4: printf('Case 4 is executed.'); } return 0; }> Uitvoer
Case 2 is executed. Case 3 is executed.Case 4 is executed.>
Standaard in schakelkast
Het standaardsleutelwoord wordt gebruikt om de set op te geven instructies die moeten worden uitgevoerd als er geen overeenkomst tussen hoofdletters en kleine letters is .
Het is optioneel om het standaardsleutelwoord te gebruiken in een schakelkast. Zelfs als de switch case-instructie geen standaardinstructie heeft, zou deze zonder enig probleem kunnen worden uitgevoerd.
Belangrijke punten over Switch Case-verklaringen
1. Switch-expressie moet resulteren in a constante waarde
Als de expressie in de switch-instructie niet resulteert in een constante waarde, is deze niet geldig. Enkele geldige uitdrukkingen voor schakelgevallen zijn:
snaar omkeren in c
// Constant expressions allowed switch(1+2+23) switch(1*2+3%4) // Variable expression are allowed provided // they are assigned with fixed values switch(a*b+c*d) switch(a+b+c)>
2. De expressiewaarde mag alleen van het type int of char zijn.
De switch-instructie kan alleen de gehele waarde of tekenwaarde evalueren. De switch-expressie zou dus alleen de waarden van het type int of char moeten retourneren.
3. Casewaarden moeten uniek zijn
In de C-switch-instructie zijn dubbele hoofdletterwaarden niet toegestaan.
3. Nesten van schakelverklaringen
Het nesten van switch-instructies is toegestaan , wat betekent dat u switch-instructies in een andere switch kunt hebben. Geneste switch-instructies moeten echter worden vermeden, omdat dit het programma complexer en minder leesbaar maakt.
4. Het standaardblok kan overal worden geplaatst
Ongeacht de plaatsing wordt de standaardzaak alleen uitgevoerd als aan geen van de andere zaakvoorwaarden is voldaan. Dus als je het aan het begin, midden of einde plaatst, verandert er niets aan de kernlogica.
Voorbeelden van schakelverklaring in C
Voorbeeld 1: C Programma om de dag van de week af te drukken met behulp van een schakelkast.
C // C program to print the day using switch #include // Driver Code int main() { int day = 2; printf('The day with number %d is ', day); switch (day) { case 1: printf('Monday'); break; case 2: printf('Tuesday'); break; case 3: printf('Wednesday'); break; case 4: printf('Thursday'); break; case 5: printf('Friday'); break; case 6: printf('Saturday'); break; case 7: printf('Sunday'); break; default: printf('Invalid Input'); break; } return 0; }> Uitvoer
The day with number 2 is Tuesday>
Voorbeeld 2: Eenvoudige rekenmachine met schakelkast in C
C // C Program to create a simple calculator using switch // statement #include #include // driver code int main() { // switch variable char choice; // operands int x, y; while (1) { printf('Enter the Operator (+,-,*,/)
Enter x to ' 'exit
'); scanf(' %c', &choice); // for exit if (choice == 'x') { exit(0); } printf('Enter the two numbers: '); scanf('%d %d', &x, &y); // switch case with operation for each operator switch (choice) { case '+': printf('%d + %d = %d
', x, y, x + y); break; case '-': printf('%d - %d = %d
', x, y, x - y); break; case '*': printf('%d * %d = %d
', x, y, x * y); break; case '/': printf('%d / %d = %d
', x, y, x / y); break; default: printf('Invalid Operator Input
'); } } return 0; }>
Uitvoer
Enter the operator (+, -, *, /) Enter x to exit + Enter the two numbers: 100 + 200 100 + 200 = 300>
Voordelen van C-switch Verklaring
- Makkelijker te lezen dan anders.
- Gemakkelijker te debuggen en te onderhouden voor een groot aantal omstandigheden.
- Snellere uitvoeringssnelheid.
Nadelen van C-switch Verklaring
- Switch-case kan alleen het int- of char-type evalueren.
- Geen ondersteuning voor logische expressies.
- Houd er rekening mee dat u in elk geval een pauze moet toevoegen.
Conclusie
In dit artikel hebben we de switch-instructie in C-programmeren besproken en hoe deze te gebruiken. Het is een voorwaardelijke verklaring, zoals de if-else-if-ladder, die zijn eigen voor- en nadelen heeft. Het verdient vooral de voorkeur als het aantal te evalueren omstandigheden groot is.
Veelgestelde vragen over de C-switchverklaring
1. Wat is het schakelgeval in C?
De switch case-instructie is een stroomcontrole-instructie waarin we een schakelvariabele kunnen definiëren en vervolgens verschillende code kunnen uitvoeren op basis van de waarde van de schakelvariabele. Het is een alternatief voor if else if ladder.
2. Wat is het geval in de switch-instructie in C?
Het sleutelwoord case wordt gebruikt om de verschillende cases en de bijbehorende code in de switch-instructie te definiëren.
3. Wat doet de breuk in de schakelkast?
Het break-sleutelwoord wordt gebruikt om het schakelblok te verlaten na het uitvoeren van het overeenkomende geval.
4. Wat zijn de verschillen tussen switch en if else if ladder in C?
Hieronder volgen de belangrijkste verschillen tussen C-schakelaar en C als anders als ladder :
schakelaar js-array | als anders als |
|---|---|
| Het voert de verschillende cases uit op basis van de waarde van de schakelvariabele. | Het voert de verschillende blokken uit op basis van de opgegeven voorwaarde. |
| Het kan alleen de expressies van het type int of char evalueren. | Het kan elk type expressie evalueren. |
| Sneller en gemakkelijker afleesbaar voor het grote aantal aandoeningen. | Het kan rommelig worden als er veel omstandigheden zijn. |
Moet lezen:
- Interessante feiten over schakelkast in C
- Druk individuele cijfers af als woorden zonder gebruik te maken van if of Switch