interruttore ... caso nella programmazione C.

In questo tutorial imparerai a creare l'istruzione switch nella programmazione C con l'aiuto di un esempio.

L'istruzione switch ci consente di eseguire un blocco di codice tra molte alternative.

Puoi fare la stessa cosa con la if… else… ifscala. Tuttavia, la sintassi switchdell'istruzione è molto più facile da leggere e scrivere.

Sintassi di switch … case

 switch (expression) ( case constant1: // statements break; case constant2: // statements break;… default: // default statements )

Come funziona l'istruzione switch?

L'espressione viene valutata una volta e confrontata con i valori di ciascuna etichetta del caso.

  • Se c'è una corrispondenza, vengono eseguite le istruzioni corrispondenti dopo l'etichetta corrispondente. Ad esempio, se il valore dell'espressione è uguale a costante2, le istruzioni dopo case constant2:vengono eseguite finché non breakviene incontrato.
  • Se non c'è corrispondenza, vengono eseguite le istruzioni di default.

Se non lo usiamo break, vengono eseguite tutte le istruzioni dopo l'etichetta corrispondente.

A proposito, la defaultclausola all'interno switchdell'istruzione è facoltativa.

switch Diagramma di flusso delle istruzioni

Esempio: semplice calcolatrice

 // Program to create a simple calculator #include int main() ( char operator; double n1, n2; printf("Enter an operator (+, -, *, /): "); scanf("%c", &operator); printf("Enter two operands: "); scanf("%lf %lf",&n1, &n2); switch(operator) ( case '+': printf("%.1lf + %.1lf = %.1lf",n1, n2, n1+n2); break; case '-': printf("%.1lf - %.1lf = %.1lf",n1, n2, n1-n2); break; case '*': printf("%.1lf * %.1lf = %.1lf",n1, n2, n1*n2); break; case '/': printf("%.1lf / %.1lf = %.1lf",n1, n2, n1/n2); break; // operator doesn't match any case constant +, -, *, / default: printf("Error! operator is not correct"); ) return 0; ) 

Produzione

 Immettere un operatore (+, -, *,): - Immettere due operandi: 32,5 12,4 32,5 - 12,4 = 20,1

L'operatore - inserito dall'utente viene memorizzato nella variabile operator. Inoltre, due operandi 32,5 e 12,4 sono memorizzati rispettivamente nelle variabili n1 e n2.

Poiché l'operatore è -, il controllo del programma passa a

 printf ("%. 1lf -% .1lf =% .1lf", n1, n2, n1-n2);

Infine, l'istruzione break termina l' switchistruzione.

Articoli interessanti...