Istruzioni di selezione

Il costrutto di selezione è uno dei principali costrutti della programmazione imperativa e permette di scegliere due strade in base alla condizione che viene specificata.
In C viene implementato attraverso l’istruzione if…else (se…altrimenti)
Questo costrutto può presentarsi senza il ramo altrimenti, come ci possono essere dei rami if a cascata.

Ecco la sintassi:

Solo if

if (<Condizione>)

[ { ]

<Istruzione/i da eseguire se il valore di Condizione è true>

[ } ]

In questo caso le istruzioni da eseguire nel caso la condizione sia false sono omesse.

Es:

if (a>b)

printf(“a è maggiore di b”);

oppure

if (a>b)
{
printf(“questo programma dice: “);
printf(“a maggiore di b”);
}

if … else

if (<Condizione>)

[ { ]

<Istruzione/i da eseguire se il valore di Condizione è true>

[ } ]

N.B. Non si usano le parentesi graffe se l’istruzione è una sola.

else

[ { ]

<Istruzione/i da eseguire se il valore di Condizione è false>

[ } ]

Es:

if (a>b)
printf(“a è maggiore di b”);
else
printf(“a non è maggiore di b”);

if else if … else if…

if (<Condizione>)

[ { ]

<Istruzione/i da eseguire se il valore di Condizione è true>

[ } ]

N.B. Non si usano le parentesi graffe se l’istruzione è una sola.

else if (<Condizione2>)

[ { ]

<Istruzione/i da eseguire se il valore di Condizione è false e Condizione2 è vera>

[ } ]

else if (<Condizione3>)

[ { ]

<Istruzione/i da eseguire se il valore di Condizione2 è false e Condizione3 è vera>

[ } ]

…..

Es:

if (a>b)
printf(“a maggiore di b\n”);
else if(a<b)
printf(“a e’ minore di b\n”);
else
printf(“a e b sono uguali\n”);

if annidati

All’interno di un’istruzione if è possibile inserire qualsiasi tipo di istruzione anche una nuova istruzione if, si parla in questo caso di if annidate.
Es:
if (voto<10)
if (voto<6) printf(“Mi spiace ma non sei sufficiente”);
else printf(“Bravo!”);

Link utili:

Esempi di selezione

Esempi Switch case

Switch case

Autore dell'articolo: cristina

Avatar per Coding Creativo

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *