La boucle for
permet de répéter une séquence d'instructions comme les boucles
while et do..while.
La boucle for
est particulièrement adaptée pour les boucles qui doivent s'exécuter un
nombre de fois donné. Typiquement, pour compter ou pour parcourir des données indexées (comme
des tableaux par exemple) :
for ( i=0 ; i<100 ; i++) {
//...
}
La boucle for
attend 3 paramètres :
for ( initialisation ; test ; itérateur ) {
// ...
Bloc d'instructions
// ...
}
Comme pour les boucles while et do..while
la boucle for
répète la séquence d'instructions tant que la condition est vraie.
Voici l'organigramme correspondant à la boucle for
:
Notez l'agencement des blocs dans l'organigramme, la configuration est similaire à la boucle while, le corps de la boucle peut ne pas être exécuté si le test est faux dès le départ.
for
, sauf si le bloc d'instructions est vide.Chacun des paramètres est optionnel, on peut écrire for(;;);
, ce qui est équivalent à while(1);
.`
Voici un exemple de boucle for
qui affiche tous les entiers entre 0 et 42 :
int i;
// Affiche les entiers de 0 à 42
for ( i=0 ; i<=42 ; i++) {
printf ("%d ", i);
}
Voici un exemple de boucle for
qui affiche les entiers entre -27 et 15 avec un pas de 3 :
int i;
// Affiche les entiers de -27 à 15 avec un pas de 3
for ( i=-27 ; i<=15 ; i+=3) {
printf ("%d ", i);
}
Écrire un programme qui affiche tous les entiers entre 0 et 49 inclus :
int i;
// Affiche les entiers de 0 à 49
// COMPLETEZ ICI
Écrire un programme qui affiche tous les entiers dans l'ordre décroissant de 49 à 0 inclus :
int i;
// Affiche les entiers de 49 à 0 dans l'ordre décroissant
// COMPLETEZ ICI
Écrire un programme qui affiche tous les entiers de 0 à 256 avec un pas de 16 :
int i;
// Affiche les entiers de 0 à 256 avec un pas de 16
// COMPLETEZ ICI
Écrire un programme qui affiche toutes les puissances de 2 de 1 à 1024 :
int i;
// Affiche toutes les puissances de 2 de 1 à 1024
// COMPLETEZ ICI
Voici l'affichage attendu :
1 2 4 8 16 32 64 128 256 512 1024
Écrire le code qui permet d’afficher un carré de n lettres de côté contenant les lettres de l’alphabet.
A
B
C
Voici un exemple pour un carré de taille 6x6 :
ABCDEF
BCDEFG
CDEFGH
DEFGHI
EFGHIJ
FGHIJK
Qu'affiche le code suivant ?
for ( i=0 ; i<5 ; i++)
printf ("%d ",i);
i
vaut 5, on sort de la boucle avant l'affichage.
Essaie encore ...
Qu'affiche le code suivant ?
for ( i=0 ; i<=5 ; i++)
printf ("%d ",i);
i
vaut 5, on fait une dernière itération, car le le test est inférieur ou égal.
Essaie encore ...
Qu'affiche le code suivant ?
for ( i=5 ; i>=0 ; i--)
printf ("%d ",i);
Qu'affiche le code suivant ?
for ( i=5 ; i>0 ; i--);
printf ("%d ",i);
for
, le programme affiche 0.
Essaie encore ...
Qu'affiche le code suivant ?
int i,j;
for ( i=0 ; i<4 ; i++)
for ( j=0 ; j<3 ; j++)
printf ("%d ", j);
Qu'affiche le code suivant ?
int i,j;
for ( i=0 ; i<4 ; i++) {
for ( j=0 ; j<i ; j++)
printf ("%d ", j);
printf ("- ");
}
i
vaut 0, on ne rentre pas dans la deuxième boucle.
Essaie encore ...