Co to jest instrukcja Switch w C ++?
Instrukcje przełączania są kontrolowanymi instrukcjami, które są uważane za substytut instrukcji if-else. Jest to instrukcja gałęzi wielostronna, która umożliwia zorganizowanie przepływu wykonania do części kodu na podstawie wartości wyrażenia. Mówiąc bardzo prosto, instrukcja switch ocenia wyrażenie, testuje je i porównuje z kilkoma przypadkami zapisanymi w kodzie. Gdy tylko zostanie znalezione dopasowanie do dowolnego przypadku, formant wejdzie do tego przypadku i rozpocznie wykonywanie instrukcji zapisanych w tym przypadku, dopóki nie zostanie znaleziona instrukcja break. Gdy tylko pojawi się instrukcja break, instrukcja switch kończy działanie, a sterowanie programem wychodzi z przełącznika.
Czasami może się zdarzyć, że żadna wielkość liter nie pasuje do wartości wyrażenia. W takich przypadkach wspominamy o przypadku domyślnym, który zawsze będzie wykonywany na wypadek, gdyby nie znaleziono dopasowania. Przypadki w bloku instrukcji switch są reprezentowane przez różne liczby lub ciąg znaków, który jest znany jako identyfikator. Wartość wyrażenia lub wartość podana przez użytkownika jest porównywana z tymi przypadkami do momentu znalezienia dopasowania.
Składnia instrukcji C ++ Switch
Składnia instrukcji switch w języku programowania C ++ jest podana poniżej-
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;
Podczas korzystania z instrukcji Switch należy pamiętać o następujących kwestiach:
- Etykiety liter mogą być liczbami całkowitymi lub znakami i powinny być unikalne
- Etykiety skrzynek zawsze kończą się średnikiem.
- Mimo że domyślna etykieta sprawy nie jest obowiązkowa, może ona być co najwyżej jedna, jeśli zostanie zdefiniowana.
- Potrzebujesz instrukcji break, aby usunąć kontrolę z pętli, w przeciwnym razie wszystkie przypadki przed przerwą zostałyby wykonane.
- Domyślna etykieta sprawy nie ma określonej pozycji.
- Instrukcja switch może być również zagnieżdżona.
Schemat blokowy instrukcji Switch
Jak działa instrukcja Switch w C ++?
Rozumiemy przepływ kontroli przedstawiony na powyższym schemacie blokowym, aby lepiej zrozumieć przepływ wykonania.
Wyrażenie jest przekazywane z instrukcją switch, która jest równa jednej z wartości przypadków. W przypadku, gdy wartość nie jest równa, wykonywana jest wielkość domyślna. Wartość tego wyrażenia jest następnie porównywana z identyfikatorem przypadku lub pierwszym przypadkiem. Jeśli pierwszy przypadek jest zgodny, wówczas wykonywany jest blok kodu związany z pierwszym przypadkiem. Po napotkaniu przerwy wykonanie zostanie zatrzymane i nastąpi wyjście z instrukcji switch. Jeśli jednak sprawa się nie zgadza, wykonanie przechodzi do następnej sprawy. Jeśli ten przypadek jest zgodny, wówczas drugi blok kodu wykonuje się inaczej, przepływ sprawdza następny przypadek w podobny sposób. Na koniec, jeśli żadna wielkość liter nie pasuje, wykonywany jest domyślny blok kodu.
Przykłady instrukcji Switch w C ++
Pozwala zobaczyć niektóre przykłady instrukcji switch w C ++.
Przykład 1
Ten przykład zapewni większą jasność na temat używania instrukcji switch.
#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;
)
Wynik:
Twoje wyniki to: satysfakcjonujący wynik
Przykład nr 2
Ten przykład ilustruje użycie instrukcji break w przełączniku. Jeśli instrukcja case nie zostanie podana po przypadku, przepływ wykonywania będzie kontynuowany, dopóki nie napotka instrukcji break.
#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; ))
Wynik:
Ten przypadek jest również wykonywany, ponieważ nie ma przerwy
Liczba wynosi 40, 50 lub 60
Przykład nr 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;
))
Wynik:
PA
Przykład 4
Instrukcja zagnieżdżonego przełącznika
#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;
))
Wynik:
Będzie to zależeć od wartości wprowadzonych przez użytkownika.
Wyjście 1:
Wpisz swój identyfikator: 300
Wpisz swoje hasło: 1000
Witamy w portalu
Wyjście 2:
Wpisz swój identyfikator: 100
Wpisz poprawny identyfikator
Wyjście 3:
Wpisz swój identyfikator: 300
Wpisz swoje hasło: 000
Wpisz poprawne hasło
Wniosek
Musisz wiedzieć, że podstawowy przepływ i funkcjonalność instrukcji switch pozostają takie same we wszystkich językach programowania. Różnicę widać tylko w ogólnej składni opartej na używanym języku programowania.
Polecane artykuły
Jest to przewodnik po instrukcji Switch w C ++. Tutaj omawiamy koncepcję, składnię, działanie i przykłady instrukcji Switch w C ++. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -
- Funkcje ciągów C ++
- Co to jest klasa szablonów w C ++?
- Aplikacje C ++ w prawdziwym świecie
- Przewodnik po instrukcji Case w Javie
- Przewodnik po instrukcji PHP Switch