Dans cet article, nous allons découvrir les boucles while et do… while en C #, comment les utiliser et les différences entre elles.
En programmation, il est souvent souhaité d'exécuter certains blocs d'instructions un nombre de fois spécifié. Une solution possible sera de taper ces instructions le nombre de fois requis. Cependant, le nombre de répétitions peut ne pas être connu à l'avance (pendant la compilation) ou peut-être assez grand (disons 10000).
La meilleure solution à ce problème est la boucle. Les boucles sont utilisées dans la programmation pour exécuter à plusieurs reprises un certain bloc d'instructions jusqu'à ce qu'une condition soit remplie.
Dans cet article, nous allons apprendre à utiliser les boucles while en C #.
Boucle while C #
Le mot clé while est utilisé pour créer une boucle while en C #. La syntaxe de la boucle while est:
while (test-expression) (// corps de while)
Comment fonctionne la boucle while?
- La boucle while C # se compose d'un fichier
test-expression
. - Si le
test-expression
est évalué àtrue
,- les instructions à l'intérieur de la boucle while sont exécutées.
- après exécution, le
test-expression
est à nouveau évalué.
- Si le
test-expression
est évalué àfalse
, la boucle while se termine.
Organigramme de la boucle while
Exemple 1: boucle while
using System; namespace Loop ( class WhileLoop ( public static void Main(string() args) ( int i=1; while (i<=5) ( Console.WriteLine("C# For Loop: Iteration (0)", i); i++; ) ) ) )
Lorsque nous exécutons le programme, la sortie sera:
Boucle For C #: Itération 1 Boucle For C #: Itération 2 Boucle For C #: Itération 3 Boucle For C #: Itération 4 Boucle For C #: Itération 5
Initialement, la valeur de i est 1.
Lorsque le programme atteint l'instruction de boucle while,
- l'expression de test
i <=5
est évaluée. Puisque i vaut 1 et1 <= 5
esttrue
, il exécute le corps de la boucle while. Ici, la ligne est imprimée sur l'écran avec l'itération 1 et la valeur de i est augmentée de 1 pour devenir 2. - Maintenant, l'expression de test (
i <=5
) est à nouveau évaluée. Cette fois aussi, l'expression renvoietrue
(2 <= 5), donc la ligne est imprimée à l'écran et la valeur de i est maintenant incrémentée à 3… - Cela va et la boucle while s'exécute jusqu'à ce que i devienne 6. À ce stade, l'expression de test évaluera à
false
et donc la boucle se termine.
Exemple 2: boucle while pour calculer la somme des 5 premiers nombres naturels
using System; namespace Loop ( class WhileLoop ( public static void Main(string() args) ( int i=1, sum=0; while (i<=5) ( sum += i; i++; ) Console.WriteLine("Sum = (0)", sum); ) ) )
Lorsque nous exécutons le programme, la sortie sera:
Somme = 15
Ce programme calcule la somme des 5 premiers nombres naturels.
- Initialement, la valeur de somme est initialisée à 0.
- À chaque itération, la valeur de la somme est mise à jour
sum+i
et la valeur de i est incrémentée de 1. - Lorsque la valeur de i atteint 6, l'expression de test
i<=5
renvoie false et la boucle se termine.
Voyons ce qui se passe dans le programme donné à chaque itération.
Au départ, i = 1, somme = 0
Pendant les étapes d'exécution de la boucleItération | Valeur de i | i <= 5 | Valeur de la somme |
---|---|---|---|
1 | 1 | vrai | 0 + 1 = 1 |
2 | 2 | vrai | 1 + 2 = 3 |
3 | 3 | vrai | 3 + 3 = 6 |
4 | 4 | vrai | 6 + 4 = 10 |
5 | 5 | vrai | 10 + 5 = 15 |
6 | 6 | faux | La boucle se termine |
Ainsi, la valeur finale de la somme sera de 15.
C # faire… boucle while
Le mot clé do et while est utilisé pour créer une boucle do… while. C'est similaire à une boucle while, mais il existe une différence majeure entre eux.
Dans la boucle while, la condition est vérifiée avant que le corps ne soit exécuté. C'est exactement le contraire de la boucle do… while, c'est-à-dire que la condition est vérifiée après l'exécution du corps.
C'est pourquoi, le corps de la boucle do… while s'exécutera au moins une fois indépendamment de l'expression de test.
La syntaxe de la boucle do… while est:
do (// corps de la boucle do while) while (test-expression);
Comment fonctionne la boucle while?
- Le corps de la boucle do… while est d'abord exécuté.
- Ensuite, le
test-expression
est évalué. - Si le
test-expression
esttrue
, le corps de la boucle est exécuté. - Lorsque la boucle
test-expression
estfalse
, faites… tandis que la boucle se termine.
faire… en boucle Organigramme
Exemple 3: boucle do… while
using System; namespace Loop ( class DoWhileLoop ( public static void Main(string() args) ( int i = 1, n = 5, product; do ( product = n * i; Console.WriteLine("(0) * (1) = (2)", n, i, product); i++; ) while (i <= 10); ) ) )
Lorsque nous exécutons le programme, la sortie sera:
5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 5 * 6 = 30 5 * 7 = 35 5 * 8 = 40 5 * 9 = 45 5 * 10 = 50
As we can see, the above program prints the multiplication table of a number (5).
- Initially, the value of i is 1. The program, then enters the body of do… while loop without checking any condition (as opposed to while loop).
- Inside the body, product is calculated and printed on the screen. The value of i is then incremented to 2.
- After the execution of the loop’s body, the test expression
i <= 10
is evaluated. In total, the do… while loop will run for 10 times. - Finally, when the value of i is 11, the test-expression evaluates to
false
and hence terminates the loop.
Infinite while and do… while loop
If the test expression in the while and do… while loop never evaluates to false
, the body of loop will run forever. Such loops are called infinite loop.
For example:
Infinite while loop
while (true) (// corps de la boucle while)
Boucle infinie do… while
do (// corps de la boucle while) while (true);
La boucle infinie est utile lorsque nous avons besoin d'une boucle à exécuter tant que notre programme s'exécute.
Par exemple, si votre programme est une animation, vous devrez l'exécuter constamment jusqu'à ce qu'il soit arrêté. Dans de tels cas, une boucle infinie est nécessaire pour continuer à exécuter l'animation à plusieurs reprises.