logo

Instrukcja Switch w C

Instrukcja switch case ocenia dane wyrażenie i na podstawie oszacowanej wartości (spełniającej określony warunek) wykonuje powiązane z nią instrukcje. Zasadniczo służy do wykonywania różnych działań w oparciu o różne warunki (przypadki).

  • Instrukcje switch case działają zgodnie z mechanizmem kontroli wyboru i pozwalają wartości zmienić kontrolę wykonania.
  • Są substytutem na długo jeśli oświadczenia które porównują zmienną z kilkoma wartościami całkowitymi.
  • Instrukcja switch jest instrukcją rozgałęzienia wielostronnego. Zapewnia łatwy sposób wysyłania wykonania do różnych części kodu w oparciu o wartość wyrażenia.

W języku C instrukcja switch case służy do wykonania jednego warunku z wielu warunków. Jest to podobne do drabiny „jeżeli-else-jeśli”.



Unix kontra Windows

Instrukcja switch składa się z przypadków warunkowych i przypadku domyślnego.

Składnia instrukcji switch w C

  switch(expression)     {     case   value1  :   statement_1;   break;     case   value2  :   statement_2;   break;   . . .   case   value_n  :   statement_n;   break;     default:   default_statement; }>

Jak korzystać z instrukcji switch case w C?

Zanim zastosujemy w naszym programie przypadek switch, musimy poznać pewne zasady instrukcji switch.

Reguły instrukcji case switch

Poniżej znajdują się niektóre zasady, których musimy przestrzegać podczas korzystania z instrukcji switch:



  1. W instrukcji switch, wartość przypadku musi być zwęglać I wew typ.
  2. Może być jeden lub N liczba przypadków.
  3. Wartości w przypadku muszą być unikalny .
  4. Każda instrukcja przypadku może mieć instrukcję break. Jest to opcjonalne.
  5. Domyślna instrukcja jest również opcjonalna.

Przykład

C
// C program to Demonstrate returning of day based numeric // value #include  int main() {  // switch variable  int var = 1;  // switch statement  switch (var) {  case 1:  printf('Case 1 is Matched.');  break;  case 2:  printf('Case 2 is Matched.');  break;  case 3:  printf('Case 3 is Matched.');  break;  default:  printf('Default case is Matched.');  break;  }  return 0; }>

Wyjście
Case 1 is Matched.>

Jak działa instrukcja switch?

Działanie instrukcji switch w C jest następujące:

  1. Krok 1: Zmienna przełączająca jest oceniana.
  2. Krok 2: Oszacowana wartość jest porównywana ze wszystkimi obecnymi przypadkami.
  3. Krok 3A: Jeśli zostanie znaleziona pasująca wartość przypadku, wykonywany jest powiązany kod.
  4. Krok 3B: Jeśli nie zostanie znaleziony pasujący kod, wykonywany jest przypadek domyślny, jeśli występuje.
  5. Krok 4A: Jeśli w przypadku występuje słowo kluczowe break, sterowanie programem przerywa instrukcję switch.
  6. Krok 4B: Jeśli słowo kluczowe break nie jest obecne, wykonywane są wszystkie przypadki następujące po pasującym przypadku.
  7. Krok 5: Wykonywane są instrukcje następujące po instrukcji switch.

Działanie instrukcji switch w C możemy również zrozumieć, korzystając ze schematu blokowego.

Schemat blokowy instrukcji Switch

zmień obudowę w c

Schemat blokowy instrukcji switch w C



Pęknięcie w obudowie przełącznika

To słowo kluczowe służy do zatrzymywania wykonywania wewnątrz bloku przełączników. Pomaga zakończyć blok przełączników i wyrwać się z niego. Po osiągnięciu instrukcji break funkcja switch kończy działanie, a sterowanie przechodzi do następnej linii następującej po instrukcji switch.

The instrukcja break jest opcjonalna . Jeżeli zostanie pominięty, wykonanie będzie kontynuowane w następnej sprawie. Przepływ kontroli będzie przechodził na kolejne przypadki, aż do momentu osiągnięcia przerwy.

Przykład obudowy przełącznika bez przerwy

C
// C Program to demonstrate the behaviour of switch case // without break #include  int main() {  int var = 2;  // switch case without break  switch (var) {  case 1:  printf('Case 1 is executed.
');  case 2:  printf('Case 2 is executed.
');  case 3:  printf('Case 3 is executed.');  case 4:  printf('Case 4 is executed.');  }  return 0; }>

Wyjście
Case 2 is executed. Case 3 is executed.Case 4 is executed.>

Domyślnie w przypadku przełącznika

Słowo kluczowe default służy do określenia zestawu instrukcje do wykonania, jeśli nie ma dopasowania wielkości liter .

To jest opcjonalny aby użyć domyślnego słowa kluczowego w przypadku przełącznika. Nawet jeśli instrukcja switch case nie zawiera instrukcji domyślnej, będzie działać bez żadnego problemu.

Ważne uwagi dotyczące oświadczeń dotyczących Switch Case

1. Wyrażenie przełączające powinno skutkować a stała wartość

Jeśli wyrażenie podane w instrukcji switch nie daje wartości stałej, nie będzie prawidłowe. Niektóre prawidłowe wyrażenia dotyczące wielkości przełącznika będą następujące:

usuń plik w Javie
// Constant expressions allowed switch(1+2+23) switch(1*2+3%4) // Variable expression are allowed provided // they are assigned with fixed values switch(a*b+c*d) switch(a+b+c)>

2. Wartość wyrażenia powinna być wyłącznie typu int lub char.

Instrukcja switch może ocenić tylko wartość całkowitą lub znakową. Dlatego wyrażenie przełączające powinno zwracać tylko wartości typu int lub char.

3. Wartości przypadków muszą być unikalne

W instrukcji switch C nie są dozwolone zduplikowane wartości wielkości liter.

3. Zagnieżdżanie instrukcji switch

Zagnieżdżanie instrukcji switch jest dozwolone , co oznacza, że ​​możesz mieć instrukcje switch wewnątrz innego przełącznika. Należy jednak unikać zagnieżdżonych instrukcji switch, ponieważ czynią one program bardziej złożonym i mniej czytelnym.

4. Domyślny blok można umieścić w dowolnym miejscu

Niezależnie od jego umiejscowienia, przypadek domyślny zostanie wykonany tylko wtedy, gdy żaden z pozostałych warunków przypadku nie zostanie spełniony. Zatem umieszczenie go na początku, w środku lub na końcu nie zmienia podstawowej logiki.

Przykłady instrukcji switch w C

Przykład 1: Program C do drukowania dnia tygodnia przy użyciu skrzynki przełącznika.

C
// C program to print the day using switch #include  // Driver Code int main() {  int day = 2;  printf('The day with number %d is ', day);  switch (day) {  case 1:  printf('Monday');  break;  case 2:  printf('Tuesday');  break;  case 3:  printf('Wednesday');  break;  case 4:  printf('Thursday');  break;  case 5:  printf('Friday');  break;  case 6:  printf('Saturday');  break;  case 7:  printf('Sunday');  break;  default:  printf('Invalid Input');  break;  }  return 0; }>

Wyjście
The day with number 2 is Tuesday>

Przykład 2: Prosty kalkulator wykorzystujący przypadek przełącznika w C

C
// C Program to create a simple calculator using switch // statement #include  #include  // driver code int main() {  // switch variable  char choice;  // operands  int x, y;  while (1) {  printf('Enter the Operator (+,-,*,/)
Enter x to '  'exit
');  scanf(' %c', &choice);  // for exit  if (choice == 'x') {  exit(0);  }  printf('Enter the two numbers: ');  scanf('%d %d', &x, &y);  // switch case with operation for each operator  switch (choice) {  case '+':  printf('%d + %d = %d
', x, y, x + y);  break;  case '-':  printf('%d - %d = %d
', x, y, x - y);  break;  case '*':  printf('%d * %d = %d
', x, y, x * y);  break;  case '/':  printf('%d / %d = %d
', x, y, x / y);  break;  default:  printf('Invalid Operator Input
');  }  }  return 0; }>


Wyjście

Enter the operator (+, -, *, /) Enter x to exit + Enter the two numbers: 100 + 200 100 + 200 = 300>

Zalety instrukcji przełącznika C

  1. Łatwiejsze do odczytania, niż gdyby było inaczej.
  2. Łatwiejsze debugowanie i konserwacja dla dużej liczby warunków.
  3. Większa prędkość wykonania.

Wady instrukcji przełącznika C

  1. Obudowa przełącznika może oceniać tylko typ int lub char.
  2. Brak obsługi wyrażeń logicznych.
  3. Należy pamiętać o dodaniu przerwy w każdym przypadku.

Wniosek

W tym artykule omówiliśmy instrukcję switch w programowaniu w C i sposób jej użycia. Jest to instrukcja warunkowa, podobna do drabiny „jeśli inaczej” – jeśli ma swoje zalety i wady. Jest to najczęściej preferowane, gdy liczba warunków do oceny jest duża.

Często zadawane pytania dotyczące instrukcji C switch

1. Jaka jest obudowa przełącznika w C?

Instrukcja switch case to instrukcja kontroli przepływu, w której możemy zdefiniować zmienną przełączającą, a następnie wykonać inny kod w oparciu o wartość zmiennej przełączającej. Jest to alternatywa dla drabiny if else if.

2. Jak jest w przypadku instrukcji switch w C?

Słowo kluczowe case służy do definiowania różnych przypadków i powiązanego z nimi kodu w instrukcji switch.

3. Do czego służy przerwa w obudowie przełącznika?

Słowo kluczowe break służy do wyjścia z bloku przełączania po wykonaniu pasującego przypadku.

4. Jakie są różnice pomiędzy przełącznikiem a drabinką w C?

Oto najważniejsze różnice między przełącznikiem C i C, jeśli jeszcze w przypadku drabiny :

przełącznik

mapa vs zestaw

jeśli jeszcze jeśli

Wykonuje różne przypadki na podstawie wartości zmiennej przełączającej.Wykonuje różne bloki w zależności od określonego warunku.
Może oceniać tylko wyrażenia typu int lub char.Może ocenić każdy rodzaj wyrażenia.
Szybszy i łatwiejszy do odczytania dla dużej liczby warunków.Może być bałagan, gdy jest wiele warunków.

Musisz przeczytać:

  • Interesujące fakty na temat obudowy przełącznika w C
  • Drukuj poszczególne cyfry jako słowa bez użycia przycisku „jeśli” lub „Przełącz”.