APR1 7 Les Structures de Controle

Analyse et programmation 1

Les structures de contrôle

Où en sommes-nous ?
Thème • Introduction I t d ti • Aperçu du fonctionnement d’un ordinateur • Introduction au langage C • Représentation et traitement de l’information
– Les types de données de base et leurs opérations

• Contrôle du déroulement d’un d un programme
– Les structures de contrôle

• Décomposition d’un algorithme complexe
– Les fonctions

• Approfondissements
Analyse et programmation 1 - Les structures de contrôle 1

1

Thèmes abordés
• Les blocs • Choisir Ch i i entre t diffé différents t t traitements it t
– Les instructions de choix : test, sélection.

• Répéter des traitements
– Les instructions itératives : boucles while, do while, for. – Le contrôle de l’exécution des boucles. – goto.

Analyse et programmation 1 - Les structures de contrôle

2

Précisions sur la notion d’instruction
Expression et instruction

• En C, une expression est un instruction
i++; // Valeur de i incrémentée

• Même si elle n’a pas d’effet sur les variables
i + 2; // Calcul effectué, mais résultat perdu

Analyse et programmation 1 - Les structures de contrôle

3

2

Précisions sur la notion d’instruction
Le bloc d’instructions

• Un bloc d’instructions
– Est délimité par les accolades o ouvrantes rantes et fermantes fermantes. – Est considéré comme une instruction unique dans les structures de contrôle. – Peut comporter des déclarations de variables au début. – Les instructions sont exécutées de façon séquentielle.

• Exemple
{ int i, j; i = 2; j = i + 1; printf("%d\n", j); }

Analyse et programmation 1 - Les structures de contrôle

4

Précisions sur la notion d’instruction
L’instruction vide

• Il existe en C une instruction vide
– Elle ne fait rien. rien – Elle se note tout simplement ;

• Autres formes
– Le bloc vide
{ }

– Le bloc contenant une ou plusieurs instructions vides
{ ; }

• Utilité
– Boucle d’attente.
• On attend qu’une condition apparaisse. • Pendant ce temps, on ne fait rien.
Analyse et programmation 1 - Les structures de contrôle 5

3

Vrai voulant dire.\n").Les structures de contrôle 7 4 . Si la condition est vraie. • Exemple Analyse et programmation 1 . l’exécution continue à la ligne suivante. en langage C.Les structures de contrôle 6 L’instruction de test if Illustration if Expression [Vraie (!= 0)] [Fausse (== 0)] instruction Analyse et programmation 1 . if (x < 0. Sinon.L’instruction de test if Présentation • Structure de base if (expression) instruction. l’instruction suivant le if est exécutée. différent é de 0.0) printf("Les valeurs negatives ne sont pas admises. • Signification de if – si • Fonctionnement – – – – L’instruction if évalue l’expression entre parenthèses.

Les structures de contrôle 8 L’instruction de test if Plusieurs instructions • if n’accepte qu’une seule instruction. // contrôlée par if } Analyse et programmation 1 . // toujours exécutée ! • Pour placer plusieurs instructions dans un if – Utiliser un bloc de code if (x < 0. if (x < 0 0. ) ) ) ) || || || ) Analyse et programmation 1 . x est négatif\n"). printf("Valeur refusée\n").0) { printf("Attention. x est négatif\n"). printf("Valeur refusée\n").L’instruction de test if Conditions complexes • La condition entre parenthèses peut être complexe • Seulement S l t délimitée déli ité par l les parenthèses thè if ( ( (x >= ( (x >= ( (x >= ( (x >= print("x p t( 0) 20) 40) 60) est && (x <= 10) && (x <= 30) && (x <= 50) && (x <= 70) valide\n").Les structures de contrôle 9 5 .0) 0) printf("Attention. a de\ ).

sqrt(x)). else printf("racine carrée : %f. Analyse et programmation 1 . • Exemple if (x < 0.Les structures de contrôle 11 6 .\n").Les structures de contrôle 10 L’instruction de test if Illustration if Expression [Vraie (!= 0)] [Fausse (== 0)] instruction 1 instruction_1 instruction 2 instruction_2 Analyse et programmation 1 . instruction_2 est exécutée. exécutée – Sinon.0) printf("Les valeurs negatives ne sont pas admises. – Si la condition est vraie. else instruction_2. • Signification de else: – Autrement (sinon) • Fonctionnement – L’instruction if évalue l’expression entre parenthèses.L’instruction de test if Alternative • Structure de base if (expression) instruction_1. vraie instruction_1 instruction 1 est exécutée.\n" .

else if (tension < 1500) printf("moyenne tension\n"). Analyse et programmation 1 . é\ ). Analyse et programmation 1 .Les structures de contrôle 12 L’instruction de test if Chaînage – forme recommandée if (tension < 0) printf("Cas i tf("C non géré\n").principe if (tension < 0) printf("Cas p t ( Cas non o gé géré\n"). else if (tension < 15000) printf("haute tension\n"). else if (tension < 15000) printf("haute tension\n").Les structures de contrôle 13 7 . else printf("très haute tension\n").L’instruction de test if Chaînage . else printf("très haute tension\n"). else if (tension < 50) printf("basse tension\n"). else if (tension < 1500) printf("moyenne tension\n"). é é\ ") else if (tension < 50) printf("basse tension\n").

L’instruction de test if Imbrications • A quel if se rapporte le else ? if (expression (expression_1) 1) if (expression_2) instruction_1. • Règle : – else se rapporte toujours au if le plus proche qui n’a pas encore de else. Ou if (expression_1) if (expression_2) instruction 1. } else instruction_2.Les structures de contrôle 15 8 . else instruction_2. • Utilisation Utili ti d de l la structure t t d de bl bloc. Analyse et programmation 1 . else instruction_2. instruction_1. if (expression_1) { if (expression_2) instruction_1. Analyse et programmation 1 .Les structures de contrôle 14 L’instruction de test if Imbrications – associer un else avec un if lointain • Il est possible de forcer l’association d’un else.

. default: instruction_defaulta.. .Les structures de contrôle 16 L’instruction de sélection switch Présentation • Structure de base switch (expression_entière) { case valeur1: instruction_1a. • Point virgule à la fin du if if (i == 0)... . . if se termine au ‘. // Attention.’ ! printf("i vaut zero.L’instruction de test if Pièges courants • Affectation dans une expression if (i = 0) // Attention -> > on donne la valeur 0 à i printf("i vaut zero.Les structures de contrôle 17 9 . .. instruction_1b.\n")..... } Expression entière entre parenthèses Accolades Les différents cas La branche par défaut Analyse et programmation 1 . // toujours exécuté Analyse et programmation 1 . instruction_2b. instruction_defaultb..\n").. case valeur2: instruction_2a.

– Elle poursuit sur les cas suivants ! Analyse et programmation 1 . • Particularité – L’exécution ne s’arrête pas automatiquement à la fin du cas. – Commence l’exécution à ce point..Les structures de contrôle 19 10 .L’instruction de sélection switch Présentation • L’instruction switch évalue l’expression entière entre parenthèses. se branche sur ce cas. • Si aucune valeur ne correspond à l’expression – si le cas default existe. instruction default Analyse et programmation 1 ..Les structures de contrôle 18 L’instruction de sélection switch Illustration switch Expression [valeur1] [valeur2] instruction cas 1 instruction cas 2 . parenthèses • En fonction de la valeur de l’expression – Se branche sur le case portant cette valeur.

} Analyse et programmation 1 . a (). Analyse et programmation 1 . on so souhaite haite e exécuter éc ter les instructions correspondant à un cas. switch (choix) { case 's': case 'S': printf("la somme des entiers est %d\n".L’instruction de sélection switch Exemple int choix. continue l’exécution default: printf("Choix incorrect\n").Les structures de contrôle 21 11 .Les structures de contrôle 20 L’instruction de sélection switch break • Constat – Dans la plupart pl part des programmes réels réels. – Permet donc de séparer les cas. i + j). – Mais on ne souhaite pas enchaîner le suivant • L’instruction break – Permet de sortir du switch. choix c o = getc getchar(). case 'p': continue l’exécution case 'P': P : printf("le produit des entiers est %d\n". i * j).

Les structures de contrôle 22 L’instruction de sélection switch Illustration avec break switch Expression [valeur1] [valeur2] instructions1. break.L’instruction de sélection switch Exemple avec break int choix. break.Les structures de contrôle 23 12 . break. switch (choix) { case 's': case 'S': printf("la somme des entiers est %d\n". . . } Analyse et programmation 1 . instructions2. i + j). break. instruction default Analyse et programmation 1 . . i * j). default: printf("Choix incorrect\n"). case 'p': case 'P': P : printf("le produit des entiers est %d\n".. choix = getchar(). break..

• S’il n’existe pas et que le cas ne figure pas dans la liste – Aucun traitement n’est effectué par switch. – C’est utile tile pour po r exécuter e éc ter le même traitement pour po r pl plusieurs sie rs cas cas.L’instruction de sélection switch Cas multiples • D’après ce qu’on a vu. break. même traitement que ‘S’ case 'S': printf("la somme des entiers est %d\n". il est possible de chaîner les cas.Les structures de contrôle 24 L’instruction de sélection switch Le cas par défaut • Syntaxe – Utiliser default: – et non pas case default: • Ce cas n’est pas obligatoire. i + j). k même ê t traitement it t que ‘ ‘P’ ’ case 'P': printf("le produit des entiers est %d\n". i * j). break.Les structures de contrôle 25 13 . } Analyse et programmation 1 . switch (choix) { case 's': // pas de break. switch Analyse et programmation 1 . case 'p': ' ' // pas d de b break.

• Utilisation propre – Préférer switch avec un break à la fin de chaque cas.L’instruction de sélection switch Traduction en if • Il est toujours possible de traduire un switch avec if. if (choix == 's' || choix == 'S') printf("la somme des entiers est %d\n". else if (choix == 'p' || choix == 'P') printf("la somme des entiers est %d\n". Analyse et programmation 1 . le mentionner explicitement par un commentaire. • Cela traduit visuellement moins la sélection 1 parmi N. • C’est moins efficace à l’exécution. i * j). – Evaluation plus rapide. • Conditions d d’utilisation utilisation du chaînage – Si un chaînage est voulu d’un cas sur l’autre. i + j). else printf("le produit des entiers est %d\n". i + j).Les structures de contrôle 27 14 . – Possibilité cependant de mettre plusieurs case avant un bloc d’instructions.Les structures de contrôle 26 L’instruction de sélection switch Utilisation recommandée • Avantage par rapport aux if – Codage en mémoire plus pl s compacte compacte. Analyse et programmation 1 .

\n" . Analyse et programmation 1 .\n").\n" .\n"). else printf("racine carrée : %f.0) printf("Les valeurs negatives ne sont pas admises. } else { printf("Valeur correcte. } • Style Pascal if (x < 0. • Indentation – Disposer le code source pour mettre en évidence sa structure logique. sqrt(x)).\n"). printf("racine carrée : %f.\n").\n"). } else { printf("Valeur correcte. sqrt(x)).\n").Les structures de contrôle 28 Organisation du code pour la lisibilité Indentation – les différentes formes • Style C if (x < 0. – Exploiter p p pour cela la liberté q que nous laisse le compilateur. p • Exemple if (x < 0. rce – On peut mettre autant d’espaces et de sauts de lignes sans changer la signification du code source. sqrt(x)). printf("racine carrée : %f.Les structures de contrôle 29 15 . } Analyse et programmation 1 . \n") printf("Donnez une valeur positive.\n" .Organisation du code pour la lisibilité Indentation • Rappels – Le compilate compilateur r ignore les espaces dans le code so source.0) { printf("Les valeurs ale rs negati negatives es ne sont pas admises admises.\n"). printf("Donnez une valeur positive.0) { printf("Les valeurs negatives ne sont pas admises.

0) 0) printf("Les valeurs negatives ne sont pas admises. carrée : %f. une valeur positive.0) { printf("Donnez printf("Valeur printf("racine printf("valeurs negatives pas admises. commentaires – En indentant correctement.\n" .Les structures de contrôle 31 16 . • Commentez – Seulement lorsqu’il n’y a pas d’autre moyen de rendre le code clair.\n"). au décalage entre l’indentation et la logique if ( (x < 0 0. sqrt(x)).\n").\n").Les structures de contrôle 30 Organisation du code pour la lisibilité Les commentaires • Essayez d’abord de rendre votre code limpide – Sans recourir reco rir aux a commentaires. } – Mais il est fatigant à lire ! • Attention.Organisation du code pour la lisibilité Indentation .\n") } else { correcte. Analyse et programmation 1 . – En utilisant des identificateurs sensés et clairs. printf("Donnez une valeur positive.\n").Recommandations • Indentez toujours le code – Le code ci desso dessous s fonctionne très bien if (x < 0. Analyse et programmation 1 .

2010 .10. • de retrouver toutes les modifications d’un code source depuis une date.Organisation du code pour la lisibilité Les commentaires . .Les structures de contrôle 33 17 .en tête de fichier /* ----------------------------------------------------------------------------.Date création : 20. Analyse et programmation 1 .Les structures de contrôle 32 Organisation du code pour la lisibilité Les commentaires .Modifications : ----------------------------------------------------------------------------*/ Analyse et programmation 1 .But : Labo d'introduction permettant d'utiliser l'outil de développement.Auteur : .en tête de fichier • En tête de fichier : commentaire pouvant contenir – – – – – – – le nom du fichier le nom de l’auteur la date de création la date de dernière modification la liste des modifications le rôle du fichier dans le programme … • Super ! • Mais M i – Il n’est en général pas maintenu à jour. – Il existe des outils qui permettent automatiquement • de mettre à jour la date de modification.

Les structures de contrôle 34 Les structure itératives Introduction • Les structures itératives – Elles permettent de répéter un n traitement plusieurs pl sie rs fois – Il en existe principalement 3 en langage C do while goto while for – Accessoirement. une boucle peut être réalisée avec un saut • Des instructions permettent de contrôler les itérations break continue Analyse et programmation 1 .Les structures de contrôle 35 18 .Analyse et programmation 1 .

do scanf("%d".Les structures de contrôle 36 La boucle do while Illustration do while instruction Expression [Vraie (!= 0)] [Fausse (== 0)] Analyse et programmation 1 .La boucle do while Présentation • Structure de base do instruction. l’expression est évaluée. &i). vraie on reprend l’exécution l exécution de l’instruction l instruction. • Exemple Analyse et programmation 1 . Si elle est vraie. Ensuite. while (expression) • Signification – do : faire – while : tant que • Fonctionnement – – – – L’instruction est exécutée. etc etc… Il est donc souhaitable que l’instruction agisse sur la condition. while (i <= 0).Les structures de contrôle 37 19 .

– Ce n’est pas favorable à la lisibilité. scanf("%d". scanf("%d". &i). &i). • Boucle infinie – Certains compilateurs détectent que la condition est invariable. do i = 0.Les structures de contrôle 39 20 . do . • Pour placer plusieurs instructions dans un do while – Utiliser un bloc de code do { i = 0. – (Mauvais) exemple int i = 10. // erreur syntaxe while (i <= 0). do . Analyse et programmation 1 . while (printf ("%d\n". i).Les structures de contrôle 38 La boucle do while Particularités autorisées par le C • Par l’usage d’opérateurs – On peut pe t placer des instructions instr ctions dans la condition condition. i--). while (1). } while (i <= 0). Analyse et programmation 1 .La boucle do while Plusieurs instructions • do while n’accepte qu’une seule instruction.

Et on recommence.Les structures de contrôle 41 21 .Les structures de contrôle 40 • Exemple La boucle while Illustration while Expression [Fausse (== 0)] [Vraie (!= 0)] instruction Analyse et programmation 1 . &i). while (i <= 0). Si elle est vraie. on exécute l’instruction. la boucle s’arrête s’arrête. i = 0.La boucle while Présentation • Structure de base while (expression) instruction. Il est donc souhaitable que l’instruction agisse sur la condition. Analyse et programmation 1 . • Signification – while : tant que • Fonctionnement – – – – – L’expression est évaluée d’abord. Si l’expression est fausse fausse. scanf("%d".

• Boucle infinie – Certains compilateurs détectent que la condition est invariable. – (Mauvais) exemple int i = 10. – Ce n’est pas favorable à la lisibilité.La boucle while Plusieurs instructions • while n’accepte qu’une seule instruction. scanf("%d". i--). // pas controlée par while ! • Pour placer plusieurs instructions dans un while – Utiliser un bloc de code while (i <= 0) { i = 0. while (printf ("%d\n". scanf("%d". i) . Analyse et programmation 1 .Les structures de contrôle 43 22 . while (1) . while (i <= 0) i = 0.Les structures de contrôle 42 La boucle while Particularités autorisées par le C • Par l’usage d’opérateurs – On peut pe t placer des instructions instr ctions dans la condition condition. &i). } Analyse et programmation 1 . &i).

i >= 1. on exécute l’instruction. i). i). ensuite Si elle est vraie.Les structures de contrôle 45 23 . for (i = 1. Si l’expression 2 est fausse. Analyse et programmation 1 . Il est donc souhaitable que l’instruction agisse sur la condition. expression3) instruction. expression3) instruction. • Rôle habituel des expressions – expression1 : initialisation – expression2 : condition de sortie – expression3 : post incrémentation de variable. L’expression 2 est évaluée ensuite. ". for (i = 10. Et on recommence à l’évaluation de l’expression 2. • Signification – for : pour • Fonctionnement – – – – – – L’expression 1 est évaluée une seule fois au début. ". la boucle s’arrête. puis l’expression3. i <= 10. i).La boucle for Présentation • Structure de base for (expression1 . ". • Utilisations habituelles for (i = 0. 44 Analyse et programmation 1 . expression2 .Les structures de contrôle La boucle for Présentation for (expression1 . i < 10. i--) printf("%d. expression2 . i++) printf("%d. i++) printf("%d.

Les structures de contrôle 47 24 .La boucle for Illustration for expression1 p Expression2 [Fausse (== 0)] [Vraie (!= 0)] instruction expression3 Analyse et programmation 1 . i) i++ Analyse et programmation 1 . printf( %d .Les structures de contrôle 46 La boucle for Illustration for i=0 i < 10 [Fausse (== 0)] [Vraie (!= 0)] printf("%d".

Les structures de contrôle 48 La boucle for Particularités autorisées par le C • Par l’usage d’opérateurs – On peut pe t placer des instructions instr ctions dans la condition condition. ". i). – (Mauvais) exemple // Affiche les entiers de 1 à 10 for (i = 0. i++) printf("%d. // pas controlée par for ! • Pour placer plusieurs instructions dans un for – Utiliser un bloc de code for (i = 1. i++. for (i = 1. printf("%d. i). i < 10. i <= 10. – La variable n’existe qu’à l’intérieur de la boucle Analyse et programmation 1 .Les structures de contrôle 49 25 . i <= 10. "). – Supportée à partir de la norme C99. printf(". "). ". } Analyse et programmation 1 . i). printf(". • Déclaration intégrée g de la variable de boucle for (int i = 1. i <= 10. i)) . – Ce n’est pas favorable à la lisibilité. i++) { printf("%d".La boucle for Plusieurs instructions • for n’accepte qu’une seule instruction. i++) printf("%d".

j--) printf("%d. Analyse et programmation 1 . Donc. i++) printf("%d". i <= 10 . %d\n". for (i = 1 . Son implémentation en C permet d’en faire bien d’autres choses. i).La boucle for Particularités autorisées par le C • Chacune des expressions du for peut être laissée vide. // incrémentation ici • Boucle infinie for (.. la variable est initialisée avant for for ( . // ici. Préférer en g général les usages g normaux du for.) // forme recommandée de la boucle infinie . j). – Pas de condition de sortie.Les structures de contrôle 51 26 . – Pas d d’initialisation initialisation. for (i = 1 . i). i++). // boucle à l’infini – Pas d’incrémentation.) ) for (i = 1. i. i++. ) printf("%d". i <= 10. il est important de connaître la sémantique du for en C. i++) // condition vide considérée vraie printf("%d". . i = 1. On trouve les formes bizarres dans du code industriel. j=10 . Analyse et programmation 1 .Les structures de contrôle 50 La boucle for Particularités autorisées par le C • Encore quelques bizarreries – En utilisant tilisant l’opérateur l’opérate r séq séquence ence ( (. i <= 10 . • A retenir – – – – – for a été conçu pour traduire la boucle « POUR i = 1 à N FAIRE ».

boucle – Sans terminer les instructions de l’itération en cours. bo cle – Poursuite du programme sur l’instruction suivant la boucle. &f) == 0) // saisie incorrecte => iteration suivante continue. } Analyse et programmation 1 . • Exemple int i. i++) { if (scanf("%f". float somme = 0. i++) { if (scanf("%f". float somme = 0. f.0. } Analyse et programmation 1 .Les structures de contrôle 52 Le contrôle des boucles L’instruction continue • Effet – Passe immédiatement à l l’itération itération suivante de la boucle. i < 100. for (i = 0. • Exemple int i. somme += f.Les structures de contrôle 53 27 . i < 100. – Usage peu recommandé. for (i = 0. f. &f) == 0) // saisie incorrecte => sortie de boucle break.Le contrôle des boucles L’instruction break • Effet – Arrêt immédiat de la boucle.0. somme += f.

Le contrôle des boucles L’instruction continue • Dans le cas de la boucle while – le contrôle passe en déb début t de bo boucle cle po pour ré évaluer al er la condition et décider de la suite • Dans le cas de la boucle do . – Utiliser break et continue • Seulement lorsque c’est vraiment utile. elles nuisent à l’intelligibilité du code. • nombre d’itérations pour for. – Attention aux boucles sans fin • Un programme qui tombe dans une boucle sans fin devient incontrôlable. while – le contrôle passe à la fin de la boucle pour évaluer la condition et décider de la suite • Dans le cas de la boucle for – le contrôle passe d d'abord abord en fin de boucle pour évaluer expression3 – puis il revient en début de boucle pour évaluer et tester expression2 afin de décider de la suite Analyse et programmation 1 .. • Conseil – Préférer le contrôle normal des boucles • condition pour while et do while. contrôle – Utilisées intensivement. Analyse et programmation 1 .. les données saisies sont perdues.Les structures de contrôle 55 28 . • Il doit être tué.Les structures de contrôle 54 Le contrôle des boucles Recommandations • Les instructions de contrôle de boucle – Modifient le comportement normal de la structure de contrôle. utile • Lorsque cela simplifie notablement l’écriture du code.

while. . l’instruction l instruction peut être exécutée 0 fois • si la condition est initialement fausse. – Exemple : faire la moyenne de 10 valeurs. .Les structures de contrôle 57 29 . le programme continue à l’instruction suivant l’étiquette mentionnée. • Nombre d’itérations dépendant d’une condition – Utiliser while ou do while. . Impossible de" "continuer\n"). . – L’étiquette doit se trouver dans la même fonction que le goto. .Les structures de contrôle 56 L’instruction goto Présentation • Structure de base goto etiquette. gestion_erreur: printf("Une erreur est survenue. etiquette: • Signification – goto : aller à • Fonctionnement – Après l’exécution de goto. • Dans la pratique. Analyse et programmation 1 . . Analyse et programmation 1 . les 3 types de boucles permettent chacun de recréer les autres. for • Nombre d’itérations connu à l’avance – Utiliser la boucle bo cle for for. – Il est possible de sauter au milieu d’une structure de contrôle !!! • Exemple goto gestion_erreur. – Avec do while.Comparaison des 3 boucles do while. l’instruction est exécutée au moins une fois. • même si la condition est initialement fausse ! – Avec while while.

boucle: printf("%d\n". i = 0. milieu: j--. goto affiche. i). goto test. A éviter absolument Analyse et programmation 1 . j. } Analyse et programmation 1 .L’instruction goto Exemple – la boucle for avec goto int i.Les structures de contrôle 58 L’instruction goto Que fait ce programme ? int main() { int i. fin: _getch(). j = 9. debut: i++.Les structures de contrôle 59 30 . i = 0. return 0. if (i < 10) goto boucle. goto debut. else if (i > 7) goto milieu. i++. affiche: printf("%d\n". test: if (i > j) goto debut. i).

• Le niveau contrôlé : instructions.L’instruction goto Critique • La programmation utilisant goto amène des problèmes.Les structures de contrôle 60 NE PAS UTILISER goto sauf si cela apporte vraiment quelque chose Analyse et programmation 1 . – Les autres structures de contrôle séparent 2 niveaux : • Le niveau contrôle : condition. Analyse et programmation 1 . t ôl – Ne structure pas le programme de façon hiérarchique. – lorsqu’ils fonctionnent. • goto t n’est ’ t pas une structure t t d de contrôle. • L’enchaînement de nombreux sauts – Devient un véritable jeu de piste. piste – Très difficile de comprendre l’intention du programmeur. – Les programmeurs utilisant beaucoup goto ne comprennent généralement pas pourquoi leurs programmes fonctionnent.Les structures de contrôle 61 31 .

• L’instruction goto – peut permettre d’écrire du code d’une façon optimisée.L’instruction goto Pourquoi existe-t-elle ? • Dans certains environnements très contraints – En taille mémoire. – en consommant le moins de ressources possibles. • Les structures de contrôle itératives – do while. mémoire – En temps d’exécution. • Ce C cas ne se présentera é t pas d dans APR1 APR1. while. for – break. – c’est une programmation proche de la machine. if s switch itch case case. Analyse et programmation 1 .Les structures de contrôle 62 Qu’avons-nous appris ? • Les structures de contrôle de test/sélection – if. – Utiliser judicieusement les commentaires.Les structures de contrôle 63 32 . continue – goto • Quelques recommandations pour organiser le code – Améliorer é la lisibilité é par l’indentation. • Donc… Analyse et programmation 1 .

Vos questions Analyse et programmation 1 .Les structures de contrôle 64 Analyse et programmation 1 .Les structures de contrôle 65 33 .

Sign up to vote on this title
UsefulNot useful