Przełącznik C++


Instrukcje przełączania C++

Użyj switchinstrukcji, aby wybrać jeden z wielu bloków kodu do wykonania.

Składnia

switch(expression) {
  case x:
    // code block
    break;
  case y:
    // code block
    break;
  default:
    // code block
}

Tak to działa:

  • Wyrażenie switchjest oceniane raz
  • Wartość wyrażenia jest porównywana z wartościami każdegocase
  • Jeśli istnieje dopasowanie, skojarzony blok kodu jest wykonywany
  • Słowa kluczowe i są opcjonalne breaki defaultzostaną opisane w dalszej części tego rozdziału

Poniższy przykład wykorzystuje numer dnia tygodnia do obliczenia nazwy dnia tygodnia:

Przykład

int day = 4;
switch (day) {
  case 1:
    cout << "Monday";
    break;
  case 2:
    cout << "Tuesday";
    break;
  case 3:
    cout << "Wednesday";
    break;
  case 4:
    cout << "Thursday";
    break;
  case 5:
    cout << "Friday";
    break;
  case 6:
    cout << "Saturday";
    break;
  case 7:
    cout << "Sunday";
    break;
}
// Outputs "Thursday" (day 4)

Słowo kluczowe przerwy

Kiedy C++ dotrze do break słowa kluczowego, wyrywa się z bloku przełącznika.

Spowoduje to zatrzymanie wykonywania większej ilości kodu i testowania przypadków wewnątrz bloku.

Po znalezieniu dopasowania i wykonaniu zadania czas na przerwę. Nie ma potrzeby dalszych testów.

Przerwa może zaoszczędzić dużo czasu na wykonanie, ponieważ „ignoruje” wykonanie całej reszty kodu w bloku przełącznika.



Domyślne słowo kluczowe

Słowo defaultkluczowe określa kod do uruchomienia, jeśli nie ma dopasowania wielkości liter:

Przykład

int day = 4;
switch (day) {
  case 6:
    cout << "Today is Saturday";
    break;
  case 7:
    cout << "Today is Sunday";
    break;
  default:
    cout << "Looking forward to the Weekend";
}
// Outputs "Looking forward to the Weekend"

Uwaga: słowo kluczowe default musi być używane jako ostatnia instrukcja w przełączniku i nie wymaga przerwy.


Ćwiczenia C++

Sprawdź się za pomocą ćwiczeń

Ćwiczenie:

Wstaw brakujące części, aby uzupełnić poniższą switchinstrukcję.

int day = 2;
switch () {
 1:
    cout << "Saturday";
    break;
 2:
    cout << "Sunday";
    ;
}