logo

Dichiarazione di cambio in C

L'istruzione Switch case valuta una determinata espressione e in base al valore valutato (che corrisponde a una determinata condizione), esegue le istruzioni ad essa associate. Fondamentalmente, viene utilizzato per eseguire azioni diverse in base a condizioni (casi) diversi.

  • Le istruzioni switch case seguono un meccanismo di controllo della selezione e consentono a un valore di modificare il controllo dell'esecuzione.
  • Sono un sostituto a lungo se dichiarazioni che confrontano una variabile con diversi valori integrali.
  • L'istruzione switch è un'istruzione branch a più vie. Fornisce un modo semplice per inviare l'esecuzione a diverse parti del codice in base al valore dell'espressione.

In C, l'istruzione switch case viene utilizzata per eseguire una condizione da più condizioni. È simile a una scala if-else-if.



disattivando la modalità sviluppatore

L'istruzione switch è costituita da casi basati su condizioni e da un caso predefinito.

Sintassi dell'istruzione switch in C

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

Come utilizzare l'istruzione switch case in C?

Prima di utilizzare il caso switch nel nostro programma, dobbiamo conoscere alcune regole dell'istruzione switch.

Regole dell'istruzione switch case

Di seguito sono riportate alcune delle regole che dobbiamo seguire durante l'utilizzo dell'istruzione switch:



  1. In un'istruzione switch, il file valore del caso deve essere di car E int tipo.
  2. Può esserci uno o N numero di casi.
  3. I valori nel caso devono essere unico .
  4. Ogni istruzione del caso può avere un'istruzione break. È facoltativo.
  5. Anche la dichiarazione predefinita è facoltativa.

Esempio

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

Produzione
Case 1 is Matched.>

Come funziona l'istruzione Switch?

Il funzionamento dell'istruzione switch in C è il seguente:

  1. Passo 1: La variabile switch viene valutata.
  2. Passo 2: Il valore valutato viene confrontato con tutti i casi presenti.
  3. Passaggio 3A: Se viene trovato il valore case corrispondente, viene eseguito il codice associato.
  4. Passaggio 3B: Se il codice corrispondente non viene trovato, viene eseguito il caso predefinito, se presente.
  5. Passaggio 4A: Se la parola chiave break è presente nel caso, il controllo del programma interrompe l'istruzione switch.
  6. Passaggio 4B: Se la parola chiave break non è presente, vengono eseguiti tutti i casi successivi al caso corrispondente.
  7. Passaggio 5: Le istruzioni successive all'istruzione switch vengono eseguite.

Possiamo anche comprendere il funzionamento dell'istruzione switch in C utilizzando il diagramma di flusso.

Diagramma di flusso dell'istruzione Switch

caso dell'interruttore in c

Diagramma di flusso dell'istruzione switch in C



Rottura nella custodia dell'interruttore

Questa parola chiave viene utilizzata per interrompere l'esecuzione all'interno di un blocco switch. Aiuta a terminare il blocco dell'interruttore e ad uscirne. Quando viene raggiunta un'istruzione break, l'istruzione switch termina e il flusso di controllo passa alla riga successiva all'istruzione switch.

IL l'istruzione break è facoltativa . Se omesso, l'esecuzione continuerà nel caso successivo. Il flusso di controllo passerà ai casi successivi fino al raggiungimento di una interruzione.

Esempio di caso di interruttore senza interruzione

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

Produzione
Case 2 is executed. Case 3 is executed.Case 4 is executed.>

Predefinito nel caso dell'interruttore

La parola chiave predefinita viene utilizzata per specificare l'insieme di istruzioni da eseguire se non esiste alcuna corrispondenza tra maiuscole e minuscole .

È opzionale per utilizzare la parola chiave predefinita in un caso di commutazione. Anche se l'istruzione switch case non dispone di un'istruzione predefinita, verrà eseguita senza problemi.

Punti importanti sulle dichiarazioni del caso Switch

1. L'espressione Switch dovrebbe risultare in a valore costante

Se l'espressione fornita nell'istruzione switch non restituisce un valore costante, non sarebbe valida. Alcune espressioni valide per switch case saranno,

convertendo int in double java
// 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. Il valore dell'espressione deve essere solo di tipo int o char.

L'istruzione switch può valutare solo il valore intero o il carattere. Quindi l'espressione switch dovrebbe restituire solo i valori di tipo int o char.

3. I valori dei casi devono essere univoci

Nell'istruzione C switch non sono consentiti valori case duplicati.

3. Annidamento delle istruzioni switch

È consentita la nidificazione delle istruzioni switch , il che significa che puoi avere istruzioni switch all'interno di un altro switch. Tuttavia le istruzioni switch annidate dovrebbero essere evitate poiché rendono il programma più complesso e meno leggibile.

4. Il blocco predefinito può essere posizionato ovunque

Indipendentemente dal suo posizionamento, il caso predefinito viene eseguito solo se nessuna delle altre condizioni del caso viene soddisfatta. Quindi, metterlo all’inizio, al centro o alla fine non cambia la logica fondamentale.

Esempi di istruzioni switch in C

Esempio 1: Programma C per stampare il giorno della settimana utilizzando un commutatore.

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

Produzione
The day with number 2 is Tuesday>

Esempio 2: calcolatrice semplice che utilizza il caso di commutazione in 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; }>


Produzione

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

Vantaggi dell'istruzione C switch

  1. Più facile da leggere che se altrimenti se.
  2. Più facile da eseguire il debug e mantenere per un gran numero di condizioni.
  3. Maggiore velocità di esecuzione.

Svantaggi dell'istruzione C switch

  1. Il caso dello switch può valutare solo il tipo int o char.
  2. Nessun supporto per le espressioni logiche.
  3. Bisogna tenere a mente di aggiungere una pausa in ogni caso.

Conclusione

In questo articolo abbiamo discusso l'istruzione switch nella programmazione C e come utilizzarla. È un'affermazione condizionale come la scala if-else-if che ha i suoi meriti e demeriti. È preferibile soprattutto quando il numero di condizioni da valutare è elevato.

Domande frequenti sull'istruzione C switch

1. Qual è il caso dell'interruttore in C?

L'istruzione switch case è un'istruzione di controllo del flusso in cui possiamo definire una variabile switch e quindi eseguire codice diverso in base al valore della variabile switch. È un'alternativa alla scala if else if.

2. Qual è il caso dell'istruzione switch in C?

La parola chiave case viene utilizzata per definire i diversi casi e il codice associato nell'istruzione switch.

3. A cosa serve l'interruzione della custodia dell'interruttore?

La parola chiave break viene utilizzata per uscire dal blocco switch dopo aver eseguito il caso corrispondente.

4. Quali sono le differenze tra switch e if else if ladder in C?

Di seguito i principali differenze tra l'interruttore C e C se altrimenti se scala :

interruttore

se altrimenti se

Esegue i diversi casi in base al valore della variabile switch.Esegue i diversi blocchi in base alla condizione specificata.
Può valutare solo le espressioni di tipo int o char.Può valutare qualsiasi tipo di espressione.
Più veloce e più facile da leggere per il gran numero di condizioni.Può diventare complicato quando ci sono molte condizioni.

Devi leggere:

  • Fatti interessanti sul caso Switch in C
  • Stampa singole cifre come parole senza utilizzare if o Switch