Switch case statement wordt gebruikt wanneer we meerdere voorwaarden hebben en we verschillende acties moeten uitvoeren op basis van de voorwaarde. Wanneer we meerdere voorwaarden hebben en we een blok instructies moeten uitvoeren wanneer aan een bepaalde voorwaarde is voldaan. In een dergelijk geval kunnen we een >if..else-if-opdracht gebruiken of van hoofdletter wisselen. Het probleem met >
De syntaxis van de case- verklaring van Switch :
schakelaar (variabele of een geheel getal expressie) { zaak constant: // C ++ code ; zaak constant: // C ++ code ; standaard: // C ++ code ; }
Switch Case-instructie wordt meestal gebruikt met break-instructie, hoewel de break-instructie optioneel is. We zullen eerst een voorbeeld zien zonder break-statement en daarna zullen we switch case met break bespreken
Voorbeeld van schakelkast
# include <iostream> namespace std; gebruiken; int main () {int num = 5;schakelaar (aantal + 2) { zaak 1: cout << "Case1: Waarde is:" << num << endl; geval 2: cout << "Case2: Waarde is:" << num << endl; geval 3: cout << "Case3: Waarde is:" << num << endl; standaard: cout << "Standaard: Waarde is:" << num << endl;}terugkeer 0; }
Output:
Standaard: Waarde is: 5
Verklaring : In schakelaar heb ik een uitdrukking gegeven, je kunt ook variabele geven. Ik gaf de uitdrukking num + 2, waarbij num waarde 5 is en na toevoeging resulteerde de uitdrukking in 7. Aangezien er geen geval is gedefinieerd met waarde 4, werd het standaardgeval uitgevoerd.
Schakelkast stroomdiagram
Het evalueert de waarde van expressie of variabele (op basis van wat er binnen schakelhaken staat) en vervolgens op basis van de uitkomst van het overeenkomstige geval.
Break statement in Switch Case
Voordat we het hebben over de break-statement, laten we eens kijken wat er gebeurt als we geen break-statement gebruiken in een schakelgeval. Zie onderstaand voorbeeld:
# include <iostream> namespace std; gebruiken; int main () {int i = 2;schakelaar (i) { case 1: cout << "Case1" << endl; case 2: cout << "Case2" << endl; case 3: cout << "Case3" << endl; case 4: cout << "Case4" << endl; standaard: cout << "Standaard" << endl; }terugkeer 0; }
Output:
case2 Case3 case4 Standaard
In het bovenstaande programma hebben we de variabele i in schakelaarbeugels, wat betekent dat ongeacht de waarde van variabele i, het bijbehorende casusblok wordt uitgevoerd. We hebben de gehele waarde 2 doorgegeven aan de schakelaar, dus de besturing is overgeschakeld naar case 2, maar we hebben geen break-statement na case 2 waardoor de flow tot het einde doorging naar de volgende cases. Dit is echter niet wat we wilden, we wilden het juiste casusblok uitvoeren en restblokken negeren. De oplossing voor dit probleem is om de break-instructie na elk casusblok te gebruiken.
Break-statements worden gebruikt wanneer u wilt dat uw programmastroom uit de behuizing van de schakelaar komt. Wanneer een break-statement wordt aangetroffen in de behuizing van de schakelaar, zou de uitvoeringsstroom rechtstreeks uit de schakelaar komen en de rest van de gevallen negeren. Daarom moet u elk casusblok afsluiten met de instructie break.
Laten we hetzelfde voorbeeld nemen, maar deze keer met pauze-instructie.
# include <iostream> namespace std; gebruiken; int main () {int i = 2;schakelaar (i) { zaak 1: cout << "Case1" << endl; breken; geval 2: cout << "Case2" << endl; breken; geval 3: cout << "Case3" << endl; breken; geval 4: cout << "Case4" << endl; breken; standaard: cout << "Standaard" << endl; } terugkeer 0; }
Output:
case2
Nu kun je zien dat alleen case 2 is uitgevoerd, de rest van de volgende cases is genegeerd.
Waarom heb ik de break-instructie niet standaard gebruikt?
Het besturingselement zou zelf standaard uit de schakelaar komen, dus ik heb er geen break-instructie achter gebruikt, maar als je wilt dat je het kunt gebruiken, is dat geen kwaad.
Be>
1) Case hoeft niet altijd bestelling 1, 2, 3, enzovoort te hebben. Het kan elke gehele waarde na hoofdletterwoord hebben. Het geval hoeft ook niet altijd in oplopende volgorde te staan, u kunt ze in elke volgorde opgeven op basis van de vereiste.
2) U kunt ook tekens in hoofdletters en kleine letters gebruiken. bijvoorbeeld -
# include <iostream> namespace std; gebruiken; int main () {char ch = 'b';schakelaar (ch) { case 'd': cout << "Case1"; breken; case 'b': cout << "Case2"; breken; case 'x': cout << "Case3"; breken; case 'y': cout << "Case4"; breken; standaard: cout << "Standaard";}terugkeer 0; }
3) Het nesten van schakelinstructies is toegestaan, wat betekent dat u schakelinstructies in een andere schakelaar kunt hebben. Geneste schakelinstructies moeten echter worden vermeden, omdat dit het programma complexer en minder leesbaar maakt.
Laat een reactie achter