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
.