IF ELSE

Nel linguaggio C l'istruzione IF realizza il salto condizionato, ossia l'esecuzione di un blocco di istruzioni oppure di un altro a seconda se si verifica o meno un evento.

È una delle strutture di controllo più frequenti in un linguaggio di programmazione.

La sintassi dell'istruzione IF

L'istruzione è composta da due elementi, una espressione di controllo e uno o più blocchi di istruzione da eseguire, a seconda che l'espressione di controllo sia vera o falsa.

if (espressione)
istruzioni

Ad esempio, la seguente istruzione assegna alla variabile MAX il valore della variabile A, se quest'ultima è maggiore della variabile B.

if ( a > b ) max =a;

In questo caso, l'espressione di controllo è ( a>b ) mentre il blocco di istruzioni è composta da una sola istruzione di assegnazione.

Nel caso in cui il blocco fosse composto da più istruzioni, è necessario delimitare il gruppo delle istruzioni tra due parentesi graffe, una di apertura { e una di chiusura }. Il seguente esempio di Okpedia mostra un esempio di codice sorgente:

if ( a > b ) {
max=a;
}

L'algoritmo del salto condizionale è il seguente. Nell'algoritmo l'istruzione IF è rappresentato dalla figura geometrica a forma di rombo da cui si distaccano due percorsi.

la rappresentazione grafica dell'istruzione IF semplice

Il salto condizionato con attributo Else

Il salto condizionato può essere associato a due blocchi di istruzione alternativi, da eseguire a seconda che l'espressione di controllo abbia valore vero o falso. Il secondo blocco di istruzioni può essere aggiunto tramite l'attributo ELSE.

if (espressione)
blocco di istruzioni 1
else
blocco di istruzioni 2

In questo caso l'algoritmo del salto condizionato prevede due blocchi di istruzione alternativi. La rappresentazione grafica dell'algoritmo IF ELSE ci permette di capire meglio la differenza rispetto a un'istruzione IF semplice.

la rappresentazione grafica dell'istruzione IF ELSE

L'attributo ELSE è un attributo facoltativo dell'istruzione IF. Nell'attributo ELSE può essere indicata una sola istruzione oppure un blocco di istruzioni delimitato da due parentesi graffe. Nel seguente codice sorgente di Okpedia viene mostrato un esempio di istruzione IF con attributo else.

if ( a > b ) {
max=a;
} else {
max=b;
}

Se l'espressione di controllo ( A>B ) è vera, viene eseguito il primo blocco di istruzioni che prevede l'assegnazione del valore di A alla variabile MAX. Viceversa, se l'espressione di controllo è falsa, viene eseguito il secondo blocco di istruzioni dell'attributo ELSE. In questo caso, alla variabile MAX viene assegnato il valore di B.

L'esempio precedente non è perfettamente logico. Se l'espressione ( A>B ) è falsa, non è detto che la variabile A abbia un valore superiore a B. Le due variabili potrebbero anche essere uguali. È possibile correggere questo aspetto ricorrendo a un salto condizionato annidato.

https://www.okpedia.it/if-else-linguaggio-c


Segnala un errore o invia un suggerimento per migliorare la pagina


I salti condizionati in C

  1. Le strutture di controllo
  2. IF ELSE
  3. IF concatenato
  4. IF annidato
  5. IF in linea
  6. SWITCH CASE

FacebookTwitterLinkedinLinkedin