• Instruction for Destination: Elle réalise une boucle prédéterminée. Forme générale: for (expression1 ; expression2 ; expression3 ) instruction1; for – mot-clé. expression1 donne la valeur initiale du paramètre de la boucle for. On peut faire l'initialisation par quelques moyens différents, par exemple: - par affectation: i = 0 - par définition et affectation: int i =1 - par définition et affectation de quelques variables: int i = 0, S = 0 - par introduction: cin>>i. expression2 pose la condition de vérification, par exemple: i < = 10. expression3 accomplit l'actualisation du paramètre de la boucle, par exemple: i = i+1 ou i++. Les trois expressions sont sépareés par des points – virgules /;/. Elles sont délimitées par des accolades (). L’instruction1 présente le corps de la boucle. Elle peut être remplacée par un bloc. Exécution: 1. Premièrement on fait l’initialisation du paramètre de la boucle par l’évaluation de l’expresion1. 2. Ensuite expression2 s'évalue . Si la valeur de l'expression2 est égale à 0 , on quitte la boucle. Si la valeur de l'expression2 est différente de 0, le corps /l'instruction1 ou le bloc/ s'exécute. 3. expression3 s'évalue /actualisation/. Après on passe au p.2. Exemple: Calculer la somme 1 + 2 + ... + 10: Le corps de la boucle peut être remplacé par une instruction vide: // Calculer la somme de 1 à 10 for( int i = 1, Sum = 0; i<= 10; Sum+=i, i++) ; // instruction vide La forme suivante est possible aussi: for( ; ; ) instruction1; Les points-virgules sont obligatoires. Dans ce cas l'initialisation doit être avant for: int i = 0, Sum = 0; for( ; i< =5; i++) Sum +=i; Si la condition de vérification manque elle est considérée égale à true: for(int i = 0, Sum = 0; ; i++) { Sum += i; if(i= =5) break; } L'actualisation peut être incluse dans le corps de la boucle: for(int i = 0, Sum = 0; i < = 5 ; ) { Sum += i; i = i+1; // actualisation } Le type du paramètre est un type scalaire: /int, float, double, char, bool, énumération/. Le code suivant affiche les codes ASCII des symboles ‘A’, 'B',...,‘Z’: for( char letter = 'A'; letter < = 'Z'; letter++) cout << " code ASCII de " << letter << " : " << (int)letter << endl; |