Condividi tramite


if Istruzione (C)

L'istruzione if controlla la diramazione condizionale. Il corpo di un'istruzione if viene eseguito se il valore dell'espressione è diverso da zero. La sintassi per l'istruzione if ha due forme.

Sintassi

selection-statement:
if ( expression ) statement
if ( expression ) statement else statement

In entrambe le forme dell'istruzione if , le espressioni, che possono avere qualsiasi valore ad eccezione di una struttura, vengono valutate, inclusi tutti gli effetti collaterali.

Nella prima forma della sintassi, se expression è true (diverso da zero), statement viene eseguita. Se expression è false, statement viene ignorato. Nella seconda forma di sintassi, che usa else, il secondo statement viene eseguito se expression è false. Con entrambi i moduli, il controllo passa quindi dall'istruzione all'istruzione if successiva nel programma, a meno che una delle istruzioni non contenga un breakoggetto , continueo goto.

Di seguito sono riportati alcuni esempi dell'istruzione if :

if ( i > 0 )
    y = x / i;
else
{
    x = i;
    y = f( x );
}

In questo esempio, l'istruzione y = x/i; viene eseguita se i è maggiore di 0. Se i è minore o uguale a 0, i viene assegnato a xe f( x ) viene assegnato a y. L'istruzione che forma la if clausola termina con un punto e virgola.

Quando si annidano if istruzioni e else clausole, usare le parentesi graffe per raggruppare le istruzioni e le clausole in istruzioni composte che chiariscno la finalità. Se non sono presenti parentesi graffe, il compilatore risolve le ambiguità associando ognuna else a quella più if vicina che non dispone di un oggetto else.

if ( i > 0 )           /* Without braces */
    if ( j > i )
        x = j;
    else
        x = i;

La else clausola è associata all'istruzione interna if in questo esempio. Se i è minore o uguale a 0, nessun valore viene assegnato a x.

if ( i > 0 )
{                      /* With braces */
    if ( j > i )
        x = j;
}
else
    x = i;

Le parentesi graffe che circondano l'istruzione interna if in questo esempio fanno else parte della clausola dell'istruzione esterna if . Se i è minore o uguale a 0, i viene assegnato a x.

Vedi anche

Istruzione if-else (C++)