Ricerca nel sito web

Tutorial di programmazione in Linux C Parte 16: istruzioni Switch, Break e Continue


Su questa pagina

  1. Istruzione Switch
  2. Interrompi e continua
  3. Conclusione

Abbiamo già discusso alcuni dei cicli di base utilizzati nel linguaggio di programmazione C, inclusi for, while e do...while. Questi cicli, come molti di voi converranno, fondamentalmente aiutano quando le istruzioni devono essere eseguite ripetutamente in una o più condizioni. Quindi scrivi meno codice rendendolo più leggibile nel processo.

Proprio come questi cicli, ci sono alcune istruzioni che ti aiutano a scrivere codice migliore in C. Alcune di queste istruzioni sono Switch, Break, Continue e Goto. Discutiamoli uno per uno.

Cambia istruzione

Switch è fondamentalmente un'istruzione che accetta un valore, in base al quale esegue un pezzo di codice. È un'istruzione di controllo in quanto cambia il controllo dell'esecuzione in base al valore di input.

Ecco la struttura di switch:

...
...
...
switch (expression)
{
case const_val_1: //some code
break;
case const_val_2: //some code
break;
case const_val_3: //some code
break;
default: //some code
break;
}
...
...
...

Quindi qui, espressione è un valore che viene passato come input all'istruzione switch e, in base al caso che corrisponde al valore dell'espressione, viene eseguito il codice corrispondente. Di seguito è riportato un esempio funzionante in cui l'opzione-in rende il codice meno complesso e migliora la leggibilità.

#include <stdio.h>

int main()
{
int roll;
printf("Enter a roll number in range of 1 - 5: ");

scanf("%d", &roll);

switch(roll)
{
case 1: printf("name of student is RON");
break;
case 2: printf("name of student is ROGER");
break;
case 3: printf("name of student is SAM");
break;
case 4: printf("name of student is LUCIE");
break;
case 5: printf("name of student is DORN");
break;
default: printf("Entered roll number didn't match any candidate");
break;
}
return 0;
}

Quindi qui, il numero di roll immesso dall'utente in input viene inserito nell'istruzione switch e viene eseguito il codice corrispondente al caso che corrisponde.

Si noti che l'istruzione break alla fine di ogni caso assicura che l'istruzione switch venga terminata dopo l'esecuzione del caso corrispondente. Se non è presente alcuna istruzione break, il flusso di esecuzione entra nel caso successivo.

Il caso predefinito è lì per assicurarsi che l'utente riceva una notifica se nessun caso corrisponde al valore in switch. Avere una custodia predefinita non è obbligatorio, ma è sempre utile.

Inoltre, siccome il caso predefinito è di solito l'ultimo caso nell'istruzione switch, anche avere break alla fine non è obbligatorio, ma è incoraggiato in quanto è considerata una programmazione difensiva (solo nel caso in cui più casi vengano aggiunti in futuro dopo il valore predefinito Astuccio).

Interrompi e continua

Si noti che oltre a switch, l'istruzione break può essere utilizzata anche per eseguire un'uscita anticipata da cicli come for, while e do...while.

...
...
...
for(i=0; i<10; i++)
{
//statements

if(condition)
break;

//statements
}
...
...
...

Ora arrivando a continue, proprio come break provoca un'uscita anticipata da un ciclo, continue forza la successiva iterazione del ciclo, che in caso di while e do...while inizia con il controllo della condizione e in caso di un ciclo for è l'incremento fare un passo.

Ecco un esempio che utilizza continue per saltare i numeri dispari all'interno di un ciclo for:

...
...
...
for(i=0; i<100; i++)
{
if(i%2)
continue;

//statements
}
...
...
...

Si noti che non è possibile utilizzare continue all'interno di switch, ad eccezione dei casi in cui switch stesso fa parte di un loop.

Conclusione

In questo tutorial, abbiamo discusso delle istruzioni break, continue e switch. Prova gli esempi o il codice demo che abbiamo condiviso in questo tutorial sul tuo sistema per comprendere meglio questi concetti. In caso di dubbi o domande, faccelo sapere nei commenti qui sotto.

Articoli correlati: