if Istruzione (C)

L'istruzione if controlla il ramo 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 moduli.

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 tranne 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 contenga un breakoggetto , continueo goto.

Di seguito sono riportati 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 clausole, usare parentesi graffe per raggruppare le istruzioni e else le clausole in istruzioni composte che chiariscono la finalità. Se non sono presenti parentesi graffe, il compilatore risolve le ambiguità associandole ognuna else con la più if vicina che manca di un elseoggetto .

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++)