COSTRUTTO – IF … ELSE


Il costrutto if per il controllo di flusso è uguale al C e al C++


forma 1:

----------

-versione con una sola istruzione

if(espressione)

istruzione;

-versione con più di un istruzione

if(espressione)

{

//blocco istruzioni

}


forma 2:

----------

-versione con una sola istruzione (ovviamente se uno dei due blocchi di istruzioni ha più istruzioni richiede l'uso delle graffe

if(espressione)

istruzione1;

else

istruzione2;

-versione con più di una istruzione

if(espressione)

{

//blocco istruzioni eseguite se l'espressione è vera

}

else

{

//blocco istruzioni eseguite se l'espressione è falsa

}


forma 3 (unire più costrutti if...else):

--------------------------------------------

if(espressione1)

{

//blocco istruzioni 1 eseguite se l'espressione1 è vera

}

else if(espressione2)

{

//blocco istruzioni 2 eseguite se l'espressione2 è vera

}

else if(espressione3)

{

//blocco istruzione 3 eseguite se l'espressione3 è vera

}

else

{

//blocco istruzioni eseguite se l'espressione è falsa

}

osservazioni : anche in quest'ultimo caso nei blocchi istruzioni formati da una sola istruzione si possono omettere le graffe. L'ultimo blocco else è opzionale.


------------------------------------------------------------

note

1. a differenza di altri linguaggi, una espressione non è vera se diversa da zero, ma va creata un espressione di confronto che dia un esito true o false. Questo vuol dire che NON C'E' EQUIVALENZA FRA INTERI E BOOLEAN

2. le variabili definite internamente al blocco istruzioni sono dette variabili locali e sono visibili solo all'interno del blocco. Se si crea un blocco istruzioni annidato, non si può creare una variabile locale con lo stesso nome del blocco che la contiene. Il motivo è che le variabili del blocco esterno sono visibili al blocco interno.

3. utilizzando return in una funzione, il sistema è in grado di valutare se per errore viene generato un loop infinito