La forme la plus simple a une condition et une branche. La condition
doit figurer entre des parenthèses, et son type doit contenir une valeur
nulle. La branche, placée entre {
et }
est exécutée
lorsque la valeur de la condition est non nulle.
if (discriminant(a,b,c) < 0) {
printf("l'équation n'a pas de solution réelle");
}
Dans la forme à deux branches, la première est exécutée quand la valeur de la condition est non-nulle ; la seconde est exécutée quand cette valeur est nulle.
if (delta < 0) {
printf("l'équation n'a pas de solution réelle\n");
} else {
double r = sqrt(delta);
}
Enfin, la branche else peut elle-même contenir un if (et ainsi de suite), ce qui conduit à l'imbrication suivante :
if (delta < 0) {
printf("l'équation n'a pas de solution réelle\n");
} else if (delta == 0) {
x1 = -b/2*a;
printf("l'équation a une solution x1 = %f\n", x1);
} else {
double r = sqrt(delta);
x1 = (-b - r)/(2*a);
x2 = (-b + r)/(2*a);
printf("l'équation a deux solutions ");
printf("x1 = %4.2f et x2 = %4.2\n", x1, x2);
}