C # while and do ... while ciklus (példákkal)

Ebben a cikkben megtudhatjuk a while és do… while ciklust a C # -ben, hogyan kell használni őket, és különbséget kell tenni közöttük.

A programozás során gyakran kívánatos végrehajtani bizonyos utasításblokkot meghatározott számú alkalommal. Lehetséges megoldás az, hogy ezeket az utasításokat a szükséges számú alkalommal beírja. Előfordulhat azonban, hogy az ismétlések száma nem ismert előre (a fordítási idő alatt), vagy esetleg elég nagy (mondjuk 10000).

A legjobb megoldás erre a problémára a hurok. A programozási ciklusokat arra használják, hogy egy bizonyos utasításblokkot ismételten végrehajtsanak, amíg valamely feltétel nem teljesül.

Ebben a cikkben megtanuljuk használni a ciklusok használatát a C # -ben.

C # while hurok

A while kulcsszó a while ciklus létrehozására szolgál a C # mezőben. A while ciklus szintaxisa:

 while (teszt-kifejezés) (// a time test) 

Hogyan működik a hurok?

  1. C # míg a hurok a-ból áll test-expression.
  2. Ha a test-expressionkiértékeljük, hogy true,
    1. a while cikluson belüli utasítások végrehajtásra kerülnek.
    2. a végrehajtás után az test-expressionértéket újra kiértékelik.
  3. Ha a test-expressionértékeljük, hogy falsea while ciklus befejeződik.

miközben hurok Folyamatábra

1. példa: míg a hurok

 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++; ) ) ) ) 

A program futtatásakor a kimenet a következő lesz:

 C # Hurok esetén: Iteráció 1 C # Hurok esetén: Iteráció 2 C # Hurok esetén: Iteráció 3 C # Hurok esetén: Iteráció 4 C # Hurok esetén: Iteráció 5

Kezdetben i értéke 1.

Amikor a program eléri a while ciklus utasítást,

  • i <=5kiértékelik a teszt kifejezést . Mivel i = 1 és 1 <= 5az true, hogy végrehajtja a test a while ciklus. Itt a sort az Iteráció 1-gyel kinyomtatják a képernyőre, és az i értékét 1-gyel növelve 2 lesz.
  • Most a teszt kifejezést ( i <=5) újra kiértékeljük. Ezúttal is visszatér a kifejezés true(2 <= 5), így a vonal kinyomtatásra kerül a képernyőn, és az i értéke mostantól 3-ra növekszik.
  • Ez megy, míg a while ciklus addig hajt végre, amíg i nem lesz 6. Ezen a ponton a teszt-kifejezés kiértékeli falseés így a hurok véget ér.

2. példa: while ciklus az első 5 természetes szám összegének kiszámításához

 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); ) ) ) 

A program futtatásakor a kimenet a következő lesz:

 Összeg = 15

Ez a program kiszámítja az első 5 természetes szám összegét.

  • Kezdetben az összeg értéke 0-ra inicializálódik.
  • Minden iterációnál az összeg értéke frissül, sum+iés az i értéke 1-gyel növekszik.
  • Amikor az i értéke eléri a 6 értéket, a teszt kifejezés i<=5hamis értéket ad vissza, és a hurok véget ér.

Lássuk, mi történik az adott programban az egyes iterációkon.

Kezdetben i = 1, összeg = 0

Míg a hurok végrehajtása lépés
Ismétlés I értéke i <= 5 Az összeg értéke
1 1 igaz 0 + 1 = 1
2 2 igaz 1 + 2 = 3
3 3 igaz 3 + 3 = 6
4 4 igaz 6 + 4 = 10
5. 5. igaz 10 + 5 = 15
6. 6. hamis A hurok véget ér

Tehát az összeg végső értéke 15 lesz.

C # do… while ciklus

A do és while kulcsszó a do… while ciklus létrehozására szolgál. Hasonló egy darab hurokhoz, azonban nagy különbség van közöttük.

A while ciklusban az állapotot a test végrehajtása előtt ellenőrizzük. Pontosan az ellenkezője van a do… while ciklusnak, vagyis az állapot ellenőrzése a test végrehajtása után történik.

Ez az oka annak, hogy a do… teste, míg a ciklus legalább egyszer végrehajtja a teszt-kifejezéstől függetlenül.

A do… while ciklus szintaxisa:

 do (// do while loop törzs) while (teszt-kifejezés); 

Hogyan… miközben a hurok működik?

  1. A do… teste, míg a ciklust először végrehajtják.
  2. Ezután a test-expressionkiértékelődik.
  3. Ha az test-expressionvan true, a test hurok kerül végrehajtásra.
  4. Ha a test-expressionvan false, akkor tedd … amíg a hurok véget ér.

csináld … közben folyamatábrát

3. példa: do… while ciklus

 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); ) ) ) 

A program futtatásakor a kimenet a következő lesz:

 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) (// a while ciklus törzse) 

Végtelen do… while loop

 do (// a hurok teste) while (igaz); 

A végtelen ciklus akkor hasznos, ha hurokra van szükségünk, amíg a programunk fut.

Például, ha a program animáció, akkor folyamatosan futtatnia kell, amíg le nem áll. Ilyen esetekben végtelen ciklusra van szükség az animáció ismételt futtatásához.

érdekes cikkek...