Article original : For Loops in C – Explained with Code Examples
En programmation, vous utiliserez des boucles lorsque vous devrez répéter un bloc de code plusieurs fois.
Ces répétitions du même bloc de code un certain nombre de fois sont appelées itérations. Et il y a une condition de boucle qui détermine le nombre d'itérations.
Les boucles for et while sont largement utilisées dans presque tous les langages de programmation.
Dans ce tutoriel, vous apprendrez à propos des boucles for en C. En particulier, vous apprendrez :
- la syntaxe pour utiliser les boucles
for, - comment les boucles
forfonctionnent en C, et - la possibilité d'une boucle
forinfinie.
Commençons.
Syntaxe de la boucle for en C et son fonctionnement
Dans cette section, vous apprendrez la syntaxe de base des boucles for en C.
La syntaxe générale pour utiliser la boucle for est montrée ci-dessous :
for(initialiser; vérifier_condition; mettre_à_jour)
{
//faire ceci
}
Dans la syntaxe ci-dessus :
initialiserest l'instruction d'initialisation – la variable de contrôle de boucle est initialisée ici.vérifier_conditionest la condition qui détermine si la boucle doit continuer.
Tant que
vérifier_conditionest vraie, le corps de la boucle est exécuté.
- L'instruction
mettre_à_jourmet à jour la variable de contrôle de boucle après que les instructions du corps de la boucle soient exécutées.
Flux de contrôle dans les boucles for en C
Le flux de contrôle est le suivant :
- Initialiser le compteur – l'instruction
initialiserest exécutée. Cela ne se produit qu'une seule fois, au début de la boucle. - Vérifier si la condition de boucle est vraie – l'expression
vérifier_conditionest évaluée. Si la condition est vraie, passer à l'étape 3. Si fausse, quitter la boucle. - Exécuter les instructions du corps de la boucle.
- Mettre à jour le compteur – l'instruction
mettre_à_jourest exécutée. - Aller à l'étape 2.
Cela est également illustré ci-dessous :
Boucle For en C
Maintenant que vous avez une idée de comment les boucles for fonctionnent, prenons un exemple simple pour voir la boucle for en action.
Exemple de boucle for en C
Écrivons une simple boucle for pour compter jusqu'à 10, et afficher la valeur du compteur à chaque passage dans la boucle.
#include <stdio.h>
int main()
{
for(int count = 0; count <= 10; count++)
{
printf("%d\n",count);
}
return 0;
}
Dans l'extrait de code ci-dessus,
countest la variable de compteur, et elle est initialisée à0.- La condition de test ici est
count <= 10. Par conséquent,countpeut être au plus 10 pour que la boucle continue. - Dans le corps de la boucle, la valeur de
countest affichée. - Et la valeur de
countest augmentée de 1. - Le contrôle atteint ensuite la condition
count <= 10et la boucle continue si la condition est évaluée à vraie. - Dans cet exemple, la condition de boucle
count <= 10est évaluée à faux lorsque la valeur de count est 11 – et votre boucle se termine.
Et voici le résultat :
//Sortie
0
1
2
3
4
5
6
7
8
9
10
Lorsque vous utilisez des boucles, vous devez toujours vous assurer que votre boucle se termine à un moment donné.
Vous savez que la boucle continue tant que
vérifier_conditionest vraie. Et la boucle s'arrête une fois quevérifier_conditiondevient fausse. Mais que se passe-t-il lorsque votre condition de boucle est toujours vraie ?
Eh bien, c'est là que vous tombez dans une boucle infinie – votre boucle continue indéfiniment, jusqu'à ce que votre programme plante, ou que votre système s'éteigne.😢
Vous en apprendrez plus sur les boucles infinies dans la section suivante.
Boucle for infinie
Lorsque votre boucle ne s'arrête pas et continue de tourner indéfiniment, vous avez une boucle infinie. Prenons quelques exemples pour comprendre cela.
▶ Dans la construction de la boucle for, si vous ne spécifiez pas la condition de test (vérifier_condition), elle est considérée comme vraie par défaut.
En conséquence, votre condition ne devient jamais fausse. Et la boucle continuera de tourner indéfiniment jusqu'à ce que vous forciez l'arrêt du programme.
Cela est montré dans l'extrait de code ci-dessous :
#include <stdio.h>
int main()
{
for(int i = 0; ; i++) //la condition de test n'est pas mentionnée
{
printf("%d ",i);
}
return 0;
}
▶ Voici un autre exemple.
Vous initialisez la variable de compteur i à 10. Et i augmente de 1 après chaque itération.
Remarquez comment la condition de test est i > 0. La valeur de i ne sera-t-elle pas toujours supérieure à 0 ?
Vous avez donc une autre boucle infinie, comme montré :
#include <stdio.h>
int main()
{
for(int i = 10; i > 0 ; i++) //la condition de test est toujours VRAIE
{
printf("%d ",i);
}
return 0;
}
▶ Dans cet exemple, votre variable de compteur i est initialisée à 0. Mais elle diminue de 1 à chaque itération.
En conséquence, i est toujours inférieur à 10. Donc la condition i < 10 est toujours vraie, et vous aurez une boucle infinie.
#include <stdio.h>
int main()
{
for(int i = 0; i < 10 ; i--) //la condition de test est toujours VRAIE
{
printf("%d",i);
}
return 0;
}
Pour éviter de tomber dans des boucles infinies, vous devez définir correctement la condition de boucle.
Si vous êtes débutant, vous poser les questions suivantes peut aider.
Que veux-je que cette boucle fasse ?
Combien de fois veux-je que la boucle s'exécute ?
Quand ma boucle doit-elle s'arrêter ?
Et ensuite, vous pouvez définir votre construction de boucle en conséquence. 👨💻
Conclusion
J'espère que vous avez trouvé ce tutoriel utile.
Pour résumer, vous avez appris la syntaxe des boucles for et comment elles fonctionnent. Vous savez également comment anticiper la possibilité de boucles for infinies et comment les éviter en définissant soigneusement votre condition de boucle.
À bientôt dans un autre tutoriel. En attendant, bon codage !