Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Boucle For | Boucles
Bases de C#
course content

Contenu du cours

Bases de C#

Bases de C#

1. Commencer
2. Traiter Avec les Types de Données
3. Structures de Contrôle
4. Boucles
5. Tableaux
6. Méthodes

book
Boucle For

Une boucle nous permet d'exécuter un morceau de code autant de fois que nous le souhaitons. Il existe différents types de boucles. En C#, si nous voulons exécuter un morceau de code un nombre spécifique de fois, nous utilisons la for loop.

Le modèle (syntaxe) d'une boucle for est le suivant :


Considérons un exemple où nous utilisons cette syntaxe :

cs

main

copy
123456789101112131415
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { // Output "Hello World" ten times. for(int i = 0; i < 10; i++) { Console.WriteLine("Hello World"); } } } }

Remarque

i++ est équivalent à i = i + 1. Cela incrémente la valeur de la variable de 1. De même, i-- décrémente la valeur de 1.

  • int i = 0 est la partie d'initialisation. L'initialisation se produit lorsque la boucle commence. Au début de la boucle, une nouvelle variable temporaire appelée i est créée et initialisée avec une valeur de 0.
  • i < 10 est la condition. La condition est vérifiée à chaque itération (répétition) de la boucle. La boucle continue d'exécuter le bloc de code inclus tant que la condition est vraie.
  • i++ est l'opération à effectuer après chaque itération. L'opération est généralement une incrémentation ou une décrémentation. Étant donné que la valeur de i est incrémentée après chaque itération, la condition i < 10 devient fausse après 10 itérations, et la boucle s'arrête.

Il est important de comprendre que les trois composants de la boucle forinitialization, condition et operation — sont facultatifs. Vous pouvez omettre l'un d'eux, mais cela pourrait modifier le comportement de la boucle.

Bien que cela ne soit pas recommandé, vous pouvez déclarer la variable de boucle en dehors de la boucle et laisser la partie initialization vide. Cela signifie que la boucle fonctionnera toujours, mais vous devez être prudent car cela pourrait entraîner des résultats inattendus si elle n'est pas correctement gérée.

cs

main

copy
12345678910111213141516
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int i = 0; for(; i < 10; i++) { Console.WriteLine("Hello World"); } } } }

Nous pouvons également supprimer la partie operation et la placer à la fin du bloc de code de la boucle. La boucle se comportera de la même manière qu'avant, car la variable i est toujours incrémentée après chaque itération.

cs

main

copy
1234567891011121314151617
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int i = 0; for(; i < 10;) { Console.WriteLine("Hello World"); i++; } } } }

Notez que dans le code ci-dessus, nous avons toujours placé un point-virgule (;) dans la syntaxe de la boucle là où int i = 0 était attendu. Ce point-virgule doit toujours être présent, que nous créions ou non une variable de boucle.

Il est également possible de supprimer la condition de la boucle, mais cela fait que la boucle s'exécute indéfiniment si elle n'est pas terminée manuellement (ce que nous apprendrons plus en détail dans les chapitres suivants).

cs

main

copy
1234567891011121314151617
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { // In this case the variable `i` is useless so we don't create it. // The loop never ends for(;;) { Console.WriteLine("Hello World"); } } } }

Note

Nous avons toujours inclus les deux points-virgules dans la syntaxe de la boucle for(;;), ceux-ci sont essentiels sinon le compilateur affichera des erreurs.

Puisque la valeur de i change à chaque itération, nous pouvons l'utiliser à notre avantage. Pour comprendre cela, regardons un programme simple qui affiche la valeur de i à chaque itération :

cs

main

copy
123456789101112131415
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { for(int i = 0; i < 10; i++) { Console.WriteLine(i); } } } }

Notez qu'il se termine à 9 car il commence par le chiffre 0. Le nombre total d'itérations était de dix. Nous pouvons modifier l'initialisation, la condition et l'opération pour afficher les dix nombres pairs de 2 à 20.

Remarque

Les nombres pairs sont les nombres divisibles par 2. Par exemple 2, 4, 6, 8, 10, etc. Les nombres pairs incluent également le nombre 0, mais nous ne traiterons que les nombres pairs supérieurs à 0 dans ces exemples.

cs

main

copy
123456789101112131415
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { for(int i = 2; i <= 20; i += 2) { Console.WriteLine(i); } } } }

Remarque

i += 2 est une manière plus courte d'écrire i = i + 2. Cette syntaxe est également valable pour d'autres opérateurs, par exemple i -= 2, i *= 2, i /= 2, i %= 2 etc.

La boucle commence à 0 et augmente la valeur de i de 2 à chaque itération. Nous avons changé la condition en i <= 20 pour que la boucle s'arrête à 20.

La logique ci-dessus était pour comprendre le fonctionnement d'une boucle for. Nous pouvons utiliser une logique beaucoup plus simple pour afficher les dix premiers nombres pairs :

cs

main

copy
1234567891011121314
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { for(int i = 1; i <= 10; i++) { Console.WriteLine(i * 2); } } } }

Dans ce cas, la condition est beaucoup plus simple. Par exemple, si nous voulons les 27 premiers nombres pairs, nous devrons savoir quel est le 27ème nombre pair pour pouvoir former la condition pour la méthode précédente, cependant dans ce cas, nous devons simplement modifier la condition à i <= 27:

cs

main

copy
1234567891011121314
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { for(int i = 1; i <= 27; i++) { Console.WriteLine(i * 2); } } } }
Quel sera le résultat du programme suivant ? La valeur de `sum` augmente à chaque itération de `i`, donc sa valeur pendant les quatre premières itérations sera : `1`, `3`, `6`, `10`.

Quel sera le résultat du programme suivant ? La valeur de sum augmente à chaque itération de i, donc sa valeur pendant les quatre premières itérations sera : 1, 3, 6, 10.

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 1
We're sorry to hear that something went wrong. What happened?
some-alt