La dichiarazione dell'interruttore
Ciò è un'altra forma multi della decisione di senso. È strutturata bene, ma può essere usata soltanto in determinati casi dove;
- Soltanto una variabile è esaminata, tutti i rami deve dipendere dal valore di quella variabile. La variabile deve essere un tipo integrale. (interno, lungo, corto o carbone).
- Ogni valore possibile della variabile può controllare un singolo ramo. Un finale, interferisce tutti, ramo di difetto può facoltativamente essere usato intrappolare tutte le casse non specificate.
L'esempio fornito sotto chiarirà le cose. Ciò è una funzione che converte un numero intero in descrizione vaga. È utile dove siamo interessati soltanto nella misurazione della quantità quando è abbastanza piccolo.
estimate(number)
int number;
/* Estimate a number as none, one, two, several, many */
{ switch(number) {
case 0 :
printf("None\n");
break;
case 1 :
printf("One\n");
break;
case 2 :
printf("Two\n");
break;
case 3 :
case 4 :
case 5 :
printf("Several\n");
break;
default :
printf("Many\n");
break;
}
}
Ogni caso interessante è elencato con un'azione corrispondente. La dichiarazione della rottura impedisce nuova dichiarazione l'esecuzione lasciando l'interruttore. Poiché il caso 3 ed il caso 4 non hanno rottura seguente, continuano sul permettere la stessa azione per parecchi valori del numero.
Entrambi se e le costruzioni dell'interruttore permettono che il programmatore faccia una selezione da un certo numero di azioni possibili. Vediamo un esempio:
#include <stdio.h>
int main()
{
int num;
for (num = 3 ; num < 13 ; num = num + 1)
{
switch (num)
{
case 3 :
printf("The value is three\n");
break;
case 4 :
printf("The value is four\n");
break;
case 5 :
case 6 :
case 7 :
case 8 :
printf("The value is between 5 and 8\n");
break;
case 11 :
printf("The value is eleven\n");
break;
default :
printf("It is one of the undefined values\n");
break;
} /* end of switch */
} /* end of for loop */
return 0;
}
L'uscita del programma sarà
The value is three
The value is four
The value is between 5 and 8
The value is between 5 and 8
The value is between 5 and 8
The value is between 5 and 8
It is one of the undefined values
It is one of the undefined values
The value is eleven
It is one of the undefined values |
|