Instruction if (C)

L’instruction if contrôle le branchement conditionnel. Le corps d’une instruction if est exécuté si la valeur de l’expression est différente de zéro. La syntaxe de l’instruction if a deux formes.

Syntaxe

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

Dans les deux formes de l’instruction if, les expressions (qui peuvent avoir n’importe quelle valeur sauf une structure) sont évaluées, y compris tous les effets secondaires.

Dans la première forme de la syntaxe, si expression a la valeur true (différent de zéro), statement est exécuté. Si expression a la valeur false, statement est ignoré. Dans la deuxième forme de syntaxe, qui utilise else, le second statement est exécuté si expression a la valeur false. Avec les deux formes, le contrôle passe ensuite de l’instruction if à l’instruction suivante dans le programme à moins que l’une des instructions contienne break, continue ou goto.

Voici quelques exemples de l’instruction if :

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

Dans cet exemple, l'instruction y = x/i; est exécutée si i est supérieur à 0. Si i est inférieur ou égal à 0, i est assigné à x, et f( x ) à y. L’instruction formant la clause if se termine par un point-virgule.

Lors de l’imbrication d’instructions if et de clauses else, utilisez des accolades pour grouper les instructions et les clauses dans des instructions composites qui clarifient votre intention. Si aucune accolade n’est présente, le compilateur résout les ambiguïtés en associant chaque clause else avec l’instruction if la plus proche à laquelle il manque une clause else.

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

La clause else est associée avec l’instruction if interne dans cet exemple. Si i est inférieur ou égal à 0, aucune valeur n'est assignée à x.

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

Les accolades entourant l’instruction if interne dans cet exemple composent la partie clause else de l’instruction if externe. Si i est inférieur ou égal à 0, i est assigné à x.

Voir aussi

if-else, instruction (C++)