C_facile : Introduction au langage C
Cours

Compléments sur la boucle "for"

Rappel

Nous vous rappelons qu'une boucle for s'écrit comme un triplet for (partie1; partie2 ; partie3) ces trois parties sont optionnelles, ainsi la boucle :

for(;;) {

        printf( "\ntaper Q pour quitter la boucle : " );

        scanf("%c", &c);

        if (c == 'Q')

                break;

}

est parfaitement compilée. Elle correspond à une boucle infinie dont on ne peut sortir qu'en tapant la lettre 'Q'.

En outre, chaque partie peut comporter plusieurs éléments syntaxiques séparés par le délimiteur ',',

Exemple

int i,j,compte=0 ;

for (j=5,i=0; i<10, j>0;i++,--j)

{

        printf("\ncompte = %d i = %d j = %d",compte, i,j);

        compte ++;

}

printf("\nsortie : ");

printf("\n\tcompte = %d i = %d j = %d",compte, i,j);

printf("\n");

}

affichera :

compte = 0 i = 0 j = 5

compte = 1 i = 1 j = 4

compte = 2 i = 2 j = 3

compte = 3 i = 3 j = 2

compte = 4 i = 4 j = 1

sortie :

compte = 5 i = 5 j = 0

La boucle ne s'effectue que 5 fois. En effet, la valeur j=0 sera atteinte avant la valeur i=10.

Complément

On peut donc initialiser plusieurs variables dans "partie1", élaborer plusieurs tests séparés dans "partie2" et faire évoluer plusieurs variables de contrôle de boucle dans "partie3".

ConseilCommentaires et conseils pour "continue", "break" et variantes de "for"

Les instructions "continue", "break" et les variantes de "for" sont à déconseiller.

Nous avons tenu à vous les présenter pour que vous les connaissiez si vous les rencontrez.

Cependant, la grande majorité des applications ne nécessitent pas leur usage, on peut toujours trouver une autre solution.

Il n'y a pas d'algorithme unique pour traiter un problème. Si vous voulez les utiliser apprenez bien leur fonctionnement en complétant cette présentation par la lecture d'ouvrages plus détaillés.

Ce cours introductif donne les bases et ouvre des perspectives, libre à vous de les explorer pour aller plus loin.

Tableaux, chaînes, et pointeurs (page suivante)L'instruction break (page Précédente)
AccueilImprimer creativecommons : by-nc-ndRéalisé avec SCENARI