Vidéo: Grand Débat des Idées avec des intellectuels (Partie 3) 2024
Quand vous entrez dans les boucles de programmation en langage C, vous découvrez les joies et les redoutes des boucles infinies, ou infinies . Ces boucles continuent pour toujours parce que le programmeur a oublié d'inclure un moyen de quitter la boucle ou la condition de sortie n'est tout simplement jamais remplie. De toute façon, les boucles sans fin sont une douleur.
Mais parfois, un programme C contient une boucle sans fin à dessein. Ce type de construction peut sembler étrange, mais la base de nombreux programmes modernes est qu'ils s'assoient et tournent en attendant que quelque chose se produise. La boucle peut ressembler à ceci:
pour (;;) {check_Keyboard (); check_Mouse (); check_Events (); check_System ();}
Notez que les conditions entre parenthèses après le mot-clé for manquent, ce qui est correct. Le résultat est une boucle sans fin dans laquelle les déclarations sont vérifiées à plusieurs reprises, l'une après l'autre: Le programme recherche une activité quelque part. Lorsque l'activité est trouvée, le programme se déclenche et fait quelque chose d'intéressant. Mais la plupart du temps, le programme se trouve dans ce type de boucle, attendant que quelque chose se produise. (Le traitement de texte typique peut effectuer des milliers de ces boucles pendant qu'il attend entre les frappes pendant que vous tapez.)
Entrez ce code source et enregistrez-le sur le disque. Puis compilez et exécutez le programme:
#include int main () {char ch; puts ("Programme de frappe"); puts ("Tapez loin:"); for (;;) {ch = getchar ();} return (0);}
Oui, vous pouvez taper. Et vous pouvez voir votre texte sur l'écran. Mais comment arrêtez-vous?
Pour arrêter, vous devez casser la boucle sans fin, ce qui peut être fait en appuyant sur Ctrl + C. Mais ce n'est pas comme ça que vous voulez que vos programmes fonctionnent. Au lieu de cela, une condition de sortie doit être définie pour la boucle, où le mot clé break entre en jeu.
Les développeurs de langage C savaient que, dans certains cas, une boucle doit être rompue en fonction de conditions qui n'ont pas pu être prédites ou configurées dans l'instruction for. Donc, dans leur sagesse, ils ont introduit le mot-clé break.
Ce que fait une pause est de quitter immédiatement une boucle (n'importe quelle boucle de langage C, pas seulement pour les boucles). Lorsque l'ordinateur voit une coupure, il suppose simplement que la boucle est terminée et continue comme si la condition de fin de la boucle était remplie:
#include int main () {char ch; puts ("Programme de frappe"); puts ("Tapez loin, appuyez sur '~' pour quitter:"); pour (;;) {ch = getchar (); if (ch == '~') {break;}} return (0);}
Une condition de sortie est maintenant définie. La comparaison de la ligne 12 vérifie si un caractère ~ (tilde) est entré. Si c'est le cas, la boucle est stoppée par l'instruction break.
Modifiez votre code source afin qu'il corresponde à ce qui vient d'être affiché. Compiler et exécuter. Maintenant, vous pouvez arrêter le programme en tapant le caractère ~.
Notez que l'instruction if peut aussi être écrite sans les accolades:
if (ch == '~') break;
Cette ligne peut être un peu plus lisible que l'utilisation d'accolades.