Hvad er en switch-erklæring i C ++?
Udsagnssagangivelser er en kontrolleret erklæring, der betragtes som en erstatning for hvis ellers udsagn. Det er en multiway gren erklæring, der giver en måde at organisere strømmen af udførelse til dele af koden baseret på værdien af udtrykket. I et meget grundlæggende udtryk evaluerer en switch-erklæring et udtryk, tester det og sammenligner det med de flere tilfælde, der er skrevet i koden. Så snart der er fundet et match med ethvert tilfælde, vil kontrollen indtaste den sag og begynde at udføre de erklæringer, der er skrevet i den sag, indtil der er fundet en pauseerklæring. Så snart der vises en pausedirektion, slutter switch-erklæringen, og programstyringen afslutter kontakten.
Det kan undertiden ske, at intet tilfælde stemmer overens med værdien af udtrykket. I sådanne tilfælde nævner vi en standardsag, der altid udføres, hvis der ikke findes noget match. Tilfældene i en blok af en switch-sætning er repræsenteret med forskellige numre eller streng, der er kendt som en identifikator. Værdien af udtrykket eller den værdi, der er leveret af brugeren, sammenlignes med disse tilfælde, indtil kampen findes.
Syntaks for C ++ switch statement
Syntaks for switch statement i C ++ programmeringssprog er givet nedenfor-
switch( expression )
(
case value1:
//Block of code;
break;
case value2:
//Block of code;
break;
case valueN:
//Block of code
break;
default:
//Block of code
break;
Du skal huske at følge tingene, når du bruger en switch-erklæring:
- Sagetiketter kan være et heltal eller et tegn, og de skal være unikke
- Sagetiketter slutter altid med en semikolon.
- Selvom et standard case label ikke er obligatorisk, kan det højst være et, hvis det er defineret.
- Du har brug for en pauseerklæring for at tage kontrollen ud af løkken, ellers er alle sager inden en pause udført.
- Standardkodemærket har ikke nogen specifik position.
- Skifterklæringen kan også indlejres.
Flowchart of switch-erklæring
Hvordan fungerer Switch Statement i C ++?
Lad os forstå strømmen af kontrol, der er afbildet i flowdiagrammet ovenfor for at få en bedre forståelse af strømmen af udførelse.
Et udtryk sendes med switch-sætningen, der er lig med en af sagsværdierne. I tilfælde af at værdien ikke er ens, udføres standardtilfældet. Værdien af dette udtryk sammenlignes derefter med sagsidentifikatoren eller det første tilfælde. Hvis den første sag stemmer overens, udføres den kodeblok, der er knyttet til den første sag. Når pausen er fundet, stopper udførelsen, og du afslutter switch-erklæringen. Hvis sagen ikke stemmer overens, flyder henrettelsen til den næste sag. Hvis dette tilfælde stemmer overens, udføres den anden kodeblok ellers, flyden kontrollerer det næste tilfælde på en lignende måde. Endelig, hvis intet tilfælde matcher, udføres standardkodeblokken.
Eksempler på switch-erklæring i C ++
Lad os se nogle af eksemplerne på switch-erklæringen i C ++.
Eksempel 1
Dette eksempel giver mere klarhed omkring brugen af switch-udsagn.
#include
using namespace std;
int main () (
char grade_report = 'D';
cout << "Your performance is: " << endl;
switch(grade_report) (
case 'A' :
cout << "Outstanding Result!\n" << endl;
break;
case 'B' :
cout << "Excellent Result!\n" << endl;
break;
case 'C' :
cout << "Good Result\n" << endl;
break;
case 'D' :
cout << "Satisfying Result\n" << endl;
break;
case 'F' :
cout << "Poor Result\n" << endl;
break;
default :
cout << "You did not appear for exam\n" << endl;
)
return 0;
)
Produktion:
Din præstation er: Tilfredsstillende resultat
Eksempel 2
Dette eksempel viser brugen af pausedeklarationen i en switch. Hvis pausedeklarationen ikke er specificeret efter sagen, fortsætter eksekveringsstrømmen, indtil den støder på pausedeklarationen.
#include
using namespace std;
int main() (
int range_of_number=50;
switch (range_of_number) (
case 10:
case 20:
case 30:
cout << "The number is 10 or 20 or 30 " << endl;
break;
case 50:
case 55:cout << "This case also executes because there is no break " << endl;
cout << "\n" << endl;
case 60:
cout << "The number is either 40 or 50 or 60" << endl;
break;
default:
cout << "The number is greater than 60" << endl; ))
Produktion:
Denne sag udføres også, fordi der ikke er nogen pause
Antallet er enten 40 eller 50 eller 60
Eksempel 3
#include
using namespace std;
int main()
(
int x = 10, y = 5;
switch(x==y && x+y<10)
(
case 1:
cout << "hi" << endl;
break;
case 0:
cout << "bye" << endl;
break;
default:
cout << " Hello bye " << endl;
))
Produktion:
farvel
Eksempel 4
Reddet om indlejret switch
#include
using namespace std;
int main() (
int ID = 300;
int password = 1000;
cout << "Enter Your ID:\n " << endl;
scanf("%d", & ID);
switch (ID) (
case 300:
cout << "Enter your password:\n " << endl;
scanf("%d", & password);
switch (password) (
case 1000:
cout << "Welcome to the portal\n" << endl;
break;
default:
cout << "Enter correct password" << endl;
break;
)
break;
default:
cout << "Enter correct ID" << endl;
break;
))
Produktion:
Dette afhænger af de værdier, der er indtastet af brugeren.
Output 1:
Indtast dit ID: 300
Indtast dit kodeord: 1000
Velkommen til portalen
Output 2:
Indtast dit ID: 100
Indtast korrekt ID
Output 3:
Indtast dit ID: 300
Indtast dit kodeord: 000
Indtast det korrekte kodeord
Konklusion
Du skal vide, at basestrømmen og funktionaliteten i switch-sætningen forbliver den samme i alle programmeringssprog. Forskellen kan kun ses i den generelle syntaks baseret på det programmeringssprog, der bruges.
Anbefalede artikler
Dette har været en guide til switch-erklæringen i C ++. Her diskuterer vi konceptet, syntaks, arbejde og eksempler på switch statement i C ++. Du kan også gennemgå vores andre foreslåede artikler for at lære mere -
- C ++ strengfunktioner
- Hvad er skabelonklasse i C ++?
- Anvendelser af C ++ i Real World
- Vejledning til sagopgørelse i Java
- Vejledning til PHP-switch-erklæring