Instrukcja switch
w języku C to struktura kontrolna, która umożliwia wielokrotny wybór wykonania różnych bloków kodu na podstawie wartości jednej zmiennej. Jest to alternatywa dla długich ciągów instrukcji if-else
, szczególnie gdy wszystkie warunki zależą od wartości jednej zmiennej. Instrukcja switch
sprawia, że kod jest bardziej zrozumiały i łatwiejszy w utrzymaniu, szczególnie przy dużej liczbie warunków.
Przykład kodu w C z instrukcją switch
Rozważmy przykład, w którym chcemy obsłużyć menu wyboru z różnymi opcjami. Każda opcja zostanie przypisana do konkretnej wartości, a użytkownik poproszony o wybór opcji. Na podstawie wyboru użytkownika, program wykona różne działania.
#include <stdio.h>
int main() {
// Declaration of variable choice with initial value
int choice;
printf("Enter your choice (1-4): ");
scanf("%d", &choice);
// Using switch statement to handle multiple choices
switch(choice) {
case 1:
printf("Option 1 selected: Information.\n");
break;
case 2:
printf("Option 2 selected: Warning.\n");
break;
case 3:
printf("Option 3 selected: Error.\n");
break;
case 4:
printf("Option 4 selected: Exit.\n");
break;
default:
// domyślny kod jak żaden powyższy nie pasuje
printf("Invalid choice. Please select 1, 2, 3, or 4.\n");
}
return 0;
}
W powyższym kodzie po deklaracji zmiennej choice
i wczytaniu wyboru użytkownika, instrukcja switch
jest używana do obsłużenia różnych przypadków (case
). Każdy przypadek odpowiada jednej z opcji w menu. Słowo kluczowe break
kończy każdy przypadek, zapobiegając wykonaniu kodu z kolejnych przypadków. Przypadek default
obsługuje sytuacje, gdy wartość wprowadzona przez użytkownika nie pasuje do żadnego z zdefiniowanych przypadków, informując użytkownika o niepoprawnym wyborze.
Podsumowanie
Instrukcja switch
jest potężnym narzędziem w języku C, umożliwiającym efektywne zarządzanie wielokrotnymi wyborami na podstawie jednej zmiennej. Ułatwia ona pisanie czytelnego kodu, szczególnie w przypadku dużej liczby warunków. Jest często używana do obsługi menu wyboru lub innych scenariuszy, gdzie wymagana jest jedna decyzja z wielu możliwych opcji. Dzięki swojej strukturze switch
pozwala na szybkie porównanie z wieloma wartościami i wykonanie odpowiedniego bloku kodu bez konieczności stosowania wielu zagnieżdżonych instrukcji if-else
.