|
L a n g a g e C
L e s i n s t r u c t i o n s d e c o n t r ô l e
Les instructions conditionnelles
Elles permettent d'exécuter des instructions sous certaines conditions. if (expression) instruction L'expression est évaluée et si elle est non nulle, c'est à dire vraie, l'instruction est exécutée. if (expression) instruction_1 else instruction_2 Dans ce cas, l'expression est évaluée, si elle est non nulle, instruction_1 est exécutée sinon c'est instruction_2. Exemple :
L'instruction sélective
Elle permet de réaliser un branchement calculé suivant la valeur d'une expression. switch (expression)ou switch (expression)L'expression est évaluée et comparée aux valeurs des expressions constantes. Si sa valeur apparaît dans une étiquette case, le contrôle du programme est transféré à cette étiquette, sinon il est transféré à l'étiquette default (si elle existe). L'exécution se poursuit jusqu'à la fin du switch, à moins qu'une instruction de rupture de séquence (break, return, continue, goto) ne soit rencontrée. Les instructions de tous les cases suivant le case de branchement et du default s'il est présent sont également exécutées. L'instruction switch est souvent utilisée avec l'instruction break afin d'exécuter seulement les instructions spécifiques au case sélectionné. Exemple :
Les instructions itératives
Elles permettent de répéter l'exécution d'instructions. While
while (expression) instruction L'instruction est exécutée tant que la valeur de l'expression est non nulle. Le test ayant lieu avant l'exécution de l'instruction, celle-ci peut ne pas être exécutée si l'expression est nulle à la première évaluation.
Do while
do instruction while (expression) L'instruction est exécutée tant que la valeur de l'expression est non nulle. Le test ayant lieu après l'exécution de l'instruction, celle-ci est toujours exécutée au moins une fois, même si l'expression est nulle à la première évaluation.
For
for (exp1; exp2; exp3) instruction Chacune des expressions est optionnelle, mais les points virgules sont obligatoires. C'est équivalent à : exp1L'instruction for du C est plus générale que celle de la plupart des langages. Néanmoins, si on veut lui faire jouer une rôle équivalent :
Mais il est par exemple possible de gérer plusieurs variables de contrôle ce qui peut s'écrire en utilisant l'opérateur d'évaluation séquentielle (la virgule) :
L'instruction for ( ; ; ) ou while(1) sont souvent utilisées pour implémenter une boucle infinie, do while(1) étant bien entendu équivalent (mais plus rare). Les instructions de ruptures de séquence
Break
L'instruction break provoque la sortie de l'instruction switch, while, do while ou for la plus interne. L'instruction break est souvent indispensable dans un switch. Il est également intéressant pour sortir d'une boucle infinie :
Continue, goto
Ces instructions de rupture de séquence (héritées du basic) n'ont pas leur place dans la programmation structurée car elles donnent lieu à des programmes sans queue ni tête, et peuvent toujours être remplacées par des formes plus structurées. De plus, elles peuvent nuire aux performances du compilateur.
|
© 2000-2024 Exood4 Studio. Tous droits réservés. |