L'istruzione if else if nel linguaggio C

La struttura di controllo if else if mi permette di creare una struttura di selezione con due o più blocchi.

if (condizione) {
// codice 1
}
else if (condizione2) {
// codice 2
}
else if (condizione3) {
// codice 3
}

Come funziona

Se la condizione 1 è vera, il programma esegue il blocco di codice 1 ed esce dalla struttura di controllo.

Se la condizione 1 è falsa, il programma controlla se la condizione 2 è vera.

la struttura if else if

Se la condizione 2 è vera, il programma esegue il blocco di codice 2 ed esce dalla struttura di controllo.

Se la condizione 2 è falsa, il programma controlla se la condizione 3 è vera.

il programma verifica la condizione 2

Se la condizione 3 è vera, il programma esegue il blocco di codice 3 ed esce dalla struttura di controllo.

Se nessuna condizione è vera (sono tutte false), la struttura non esegue nessun blocco di codice.

il programma verifica la condizione 3

Quindi, la struttura potrebbe anche non eseguire nessun blocco di codice.

Nota. Alla fine della struttura di controllo posso aggiungere anche un'opzione else (altrimenti) che viene eseguita quando tutte le altre condizioni sono false. In questo caso il programma esegue sempre un blocco di codice tra quelli presenti nella struttura di controllo.
la struttura if else con la clausola else finale

    Un esempio pratico

    Esempio 1 ( if else if )

    In questo programma chiedo all'utente di digitare un numero, la temperatura esterna.

    Poi stampo un messaggio a video a seconda se la temperatura è maggiore di 25, compresa tra 10-25, inferiore di 10 gradi.

    #include <stdio.h>
    int main()
    {
    int gradi;
    printf("Digita la temperatura: ");
    scanf("%d", &gradi);
    if (gradi>25) {
    printf("Fa caldo");
    }
    else if (gradi>=10)
    {
    printf("Né caldo, né freddo");
    }
    else if (gradi<10)
    {
    printf("Fa freddo");
    }

    return 0;
    }


    Ad esempio, se digito 30 l'output del programma è

    Digita la temperatura: 30
    Fa caldo

    Se digito 13 l'output del programma è

    Digita la temperatura: 13
    Né caldo, né freddo

    Se digito 5 l'output del programma è

    Digita la temperatura: 5
    Fa freddo

    Esempio 2 ( if else if + else )

    Posso riscrivere il programma precedente combinando le clausole else if con la clausola else.

    La clausola else non è vincolata a nessuna condizione perché viene eseguita se tutte le clausole precedenti else if sono false.

    #include <stdio.h>
    int main()
    {
    int gradi;
    printf("Digita la temperatura: ");
    scanf("%d", &gradi);
    if (gradi>25) {
    printf("Fa caldo");
    }
    else if (gradi>=10)
    {
    printf("Né caldo, né freddo");
    }

    else
    {
    printf("Fa freddo");
    }

    return 0;
    }

    Il risultato finale è sempre lo stesso.

    E così via.

     


     

    Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

    FacebookTwitterLinkedinLinkedin
    knowledge base

    Libri di approfondimento

    Le strutture di selezione nel linguaggio C