logo

Přepnout příkaz v C

Příkaz Switch case vyhodnotí daný výraz a na základě vyhodnocené hodnoty (odpovídající určité podmínce) provede příkazy s ním spojené. V zásadě se používá k provádění různých akcí na základě různých podmínek (případů).

  • Příkazy Switch case se řídí mechanismem řízení výběru a umožňují hodnotě změnit řízení provádění.
  • Jsou dlouhodobou náhradou pokud prohlášení které porovnávají proměnnou s několika integrálními hodnotami.
  • Příkaz switch je vícecestný příkaz větvení. Poskytuje snadný způsob, jak odeslat provádění do různých částí kódu na základě hodnoty výrazu.

V jazyce C se příkaz switch case používá pro provedení jedné podmínky z více podmínek. Je to podobné žebříčku if-else-if.



charakter.srovnej java

Příkaz switch se skládá z podmíněných případů a výchozího případu.

Syntaxe příkazu switch v C

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

Jak používat příkaz switch case v C?

Před použitím případu switch v našem programu potřebujeme vědět o některých pravidlech příkazu switch.

Pravidla příkazu switch case

Níže jsou uvedena některá pravidla, která musíme při používání příkazu switch dodržovat:



  1. V příkazu switch je hodnota případu musí být z char a int typ.
  2. Může existovat jeden nebo N počet případů.
  3. Hodnoty v případě musí být unikátní .
  4. Každý výrok případu může mít příkaz přerušení. Je to nepovinné.
  5. Výchozí příkaz je také volitelný.

Příklad

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; }>

Výstup
Case 1 is Matched.>

Jak funguje příkaz switch?

Funkce příkazu switch v C je následující:

  1. Krok 1: Vyhodnocuje se proměnná spínače.
  2. Krok 2: Vyhodnocená hodnota je porovnána se všemi současnými případy.
  3. Krok 3A: Pokud je nalezena odpovídající hodnota velikosti písmen, provede se příslušný kód.
  4. Krok 3B: Pokud se odpovídající kód nenajde, provede se výchozí případ, je-li přítomen.
  5. Krok 4A: Pokud je v případě přítomno klíčové slovo break, pak se ovládání programu vyloučí z příkazu switch.
  6. Krok 4B: Pokud klíčové slovo break není přítomno, provedou se všechny případy po odpovídající velikosti písmen.
  7. Krok 5: Provedou se příkazy po příkazu switch.

Fungování příkazu switch v C můžeme také pochopit pomocí vývojového diagramu.

Vývojový diagram příkazu Switch

skříň spínače v c

Vývojový diagram příkazu switch v C



Rozbití pouzdra spínače

Toto klíčové slovo se používá k zastavení provádění uvnitř bloku přepínače. Pomáhá ukončit blok spínače a vymanit se z něj. Když je dosaženo příkazu break, přepínač se ukončí a tok řízení přeskočí na další řádek za příkazem switch.

The příkaz break je volitelný . Pokud je vynechán, bude provádění pokračovat do dalšího případu. Tok kontroly bude pokračovat v následujících případech, dokud nedojde k přerušení.

Příklad pouzdra spínače bez přerušení

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; }>

Výstup
Case 2 is executed. Case 3 is executed.Case 4 is executed.>

Výchozí v pouzdru spínače

Výchozí klíčové slovo se používá k určení sady příkazy, které se mají provést, pokud neexistuje shoda velkých a malých písmen .

to je volitelný použít výchozí klíčové slovo v případě přepínače. I když příkaz switch case nemá výchozí příkaz, fungoval by bez problémů.

Důležité body týkající se prohlášení o spínací skříňce

1. Přepínací výraz by měl mít za následek a konstantní hodnotu

Pokud výraz uvedený v příkazu switch nevede ke konstantní hodnotě, nebude platný. Některé platné výrazy pro případ přepínače budou,

cm na stopy a palce
// 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. Hodnota výrazu by měla být pouze typu int nebo char.

Příkaz switch může vyhodnotit pouze celočíselnou nebo znakovou hodnotu. Výraz přepínač by tedy měl vracet pouze hodnoty typu int nebo char.

3. Hodnoty případu musí být jedinečné

V příkazu C switch nejsou povoleny duplicitní hodnoty případu.

3. Vnořování příkazů přepínače

Vnořování příkazů switch je povoleno , což znamená, že příkazy switch můžete mít uvnitř jiného přepínače. Je však třeba se vyhnout vnořeným příkazům přepínače, protože to činí program složitějším a méně čitelným.

4. Výchozí blok lze umístit kamkoli

Bez ohledu na jeho umístění se výchozí případ provede pouze v případě, že není splněna žádná z ostatních podmínek případu. Umístění na začátek, střed nebo konec tedy nemění základní logiku.

jak stahovat hudbu

Příklady příkazu switch v C

Příklad 1: C Program pro tisk dne v týdnu pomocí spínacího pouzdra.

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; }>

Výstup
The day with number 2 is Tuesday>

Příklad 2: Jednoduchá kalkulačka s pouzdrem přepínače v 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; }>


Výstup

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

Výhody příkazu C switch

  1. Čtení snadněji, než kdyby.
  2. Snadnější ladění a údržba pro velké množství podmínek.
  3. Vyšší rychlost provádění.

Nevýhody příkazu C switch

  1. Switch case může vyhodnotit pouze typ int nebo char.
  2. Žádná podpora logických výrazů.
  3. Je třeba mít na paměti, že v každém případě přidáte přestávku.

Závěr

V tomto článku jsme diskutovali o příkazu switch v programování C a o tom, jak jej používat. Je to podmíněné prohlášení jako žebříček if-else-if, který má své vlastní přednosti a nedostatky. Většinou se upřednostňuje, když je počet podmínek k vyhodnocení velký.

Nejčastější dotazy k prohlášení C switch

1. Jaký je případ přepínače v C?

Příkaz switch case je příkaz pro řízení toku, ve kterém můžeme definovat proměnnou přepínače a poté spustit jiný kód na základě hodnoty proměnné přepínače. Je to alternativa if else if žebříku.

2. Jaký je případ příkazu switch v C?

Klíčové slovo case se používá k definování různých případů a jejich přidruženého kódu v příkazu switch.

3. Co dělá přerušení skříně spínače?

Klíčové slovo break se používá k opuštění bloku přepínačů po provedení odpovídající velikosti písmen.

4.Jaké jsou rozdíly mezi přepínačem a žebříkem v C?

Následují hlavní rozdíly mezi C spínačem a C, pokud jinak, pokud žebřík :

přepínač

kdyby jinak kdyby

Provádí různé případy na základě hodnoty proměnné přepínače.Provádí různé bloky na základě zadané podmínky.
Může vyhodnotit pouze výrazy typu int nebo char.Dokáže vyhodnotit jakýkoli typ výrazu.
Rychlejší a snadnější čtení pro velké množství podmínek.Může to být nepořádek, když je mnoho podmínek.

Musíš číst:

  • Zajímavá fakta o Switch Case v C
  • Vytiskněte jednotlivé číslice jako slova bez použití if nebo Switch