Qu'est ce qu'une structure répétitive ?
Comment écrire des programmes C en utilisant l'instruction while?
Comment écrire des programmes C en utilisant l'instruction do .. while ?
Comment écrire des programmes C en utilisant l'instruction for ?
Les boucles, ou structures répétitives, sont des instructions utilisées dans les langages de programmation afin de permettre la répétition de l’exécution d'un bloc un certain nombre de fois. Ce nombre peut être connu à l'avance ou peut dépendre d'une certaine condition.
Le langage C offre trois types de boucles :
Boucle while
Boucle do .. while
Boucle for
La boucle while permet de répéter un bloc de code tant qu'une condition est vérifiée.
while (condition) {
instructions
}
#include <stdio.h>
int main(){
int i = 0;
while(i<3){
i++;
printf("%d",i);
}
}
#include <stdio.h>
int main(){
int i = 0;
while(i<3)
i++;
printf("%d",i);
}
La boucle do..while est comme la boucle while répète un bloc de code tant qu'une condition soit vérifiée. La différence entre la boucle while et la boucle do..while est que la vérification de la condition dans la boucle do .. while se fait à la fin de l'exécution du bloc de code, alors qu'avec la boucle while la condition est vérifiée avant l'exécution du bloc de code. Par conséquent, dans une boucle do..while le bloc de code est exécuté au moins une fois (une ou plusieurs fois). Dans une boucle while le bloc de code est exécuté 0 ou plusieurs fois.
do {
instructions
} while(condition);
#include <stdio.h>
int main(){
int i = 0;
do{
i++;
printf("%d",i);
}while(i<3);
}
Cette boucle est utilisée, généralement, lorsqu'on connait exactement le nombre de fois que notre code va se répéter. Pour cela, on trouve dans cette boucle un compteur qui s’incrémente (ou qui se décrémente) afin de compter le nombre fois que le code a été d'exécuté.
for (initialisation; condition; incrément) {
Instructions
}
La boucle for est composée de quatre éléments :
initialisation : exécutée une seule fois à l'entrée de la boucle. On y trouve l'initialisation du compteur.
condition : vérifiée à chaque itération (tour d'exécution) . Pour décider est-ce qu'on va continuer l’exécution ou il faut sortir de la boucle.
incrément : exécuté à chaque itération. On y trouve, généralement, l'incrémentation ou la décrémentation du compteur.
instructions : Bloc d'instructions à répéter si la condition est vraie.
#include <stdio.h>
int main(){
int i=0;
for (i=0; i<3; i++) {
printf("%d",i);
}
}
#include <stdio.h>
int main(){
int i=0;
for (i=0; i<3; i++)
printf("%d",i+1);
printf("%d",i);
}
Quand utiliser la boucle for, la boucle while et la boucle do .. while ?
Vous pouvez utiliser les trois boucles de façon interchangeable. Cependant , voici quelques recommandations : Si vous connaissez, à l'avance, le nombre de répétitions de votre boucle utilisez la boucle for. Sinon utilisez do..while si votre boucle doit s'exécuter au moins une fois sinon utilisez la boucle while.
Ma boucle s'exécute infiniment
Vérifiez la condition de sortie de la boucle
Vérifiez si vous mettez à jour le compteur
Ma boucle ne s'exécute pas
Vérifiez la condition de la boucle .. Peut-être il fausse au départ.
Est-ce qu'on peut utiliser des boucles à l'intérieur d'autres boucles ?
Oui .. On appelle cela des boucles imbriquées.
Est-ce que l'utilisation des accolades est obligatoire dans les boucles ?
Non .. les accolades "{ et }" sont facultatives pour les trois types de boucles. Si elles sont omises seule la première instruction après la boucle est répétée.