C # while și do ... while loop (Cu exemple)

În acest articol, vom afla despre bucla while și do… while în C #, cum să le utilizați și diferența dintre ele.

În programare, de multe ori se dorește executarea anumitor blocuri de instrucțiuni pentru un număr specificat de ori. O posibilă soluție va fi să tastați acele declarații pentru numărul necesar de ori. Cu toate acestea, este posibil ca numărul de repetări să nu fie cunoscut în avans (în timpul compilării) sau poate suficient de mare (să zicem 10000).

Cea mai bună soluție la o astfel de problemă este bucla. Buclele sunt utilizate în programare pentru a executa în mod repetat un anumit bloc de instrucțiuni până când este îndeplinită o anumită condiție.

În acest articol, vom învăța să folosim buclele while în C #.

C # while loop

Cuvântul cheie while este folosit pentru a crea bucla while în C #. Sintaxa pentru bucla while este:

 while (test-expression) (// corpul lui while) 

Cum funcționează bucla?

  1. C # în timp ce bucla constă dintr-un test-expression.
  2. Dacă test-expressioneste evaluat la true,
    1. sunt executate instrucțiunile din bucla while.
    2. după executare, test-expressioneste evaluat din nou.
  3. Dacă test-expressioneste evaluat la false, bucla while se termină.

în timp ce Buclă Diagrama de flux

Exemplul 1: while Loop

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

Când rulăm programul, ieșirea va fi:

 C # Pentru buclă: Iterare 1 C # Pentru buclă: Iterare 2 C # Pentru buclă: Iterare 3 C # Pentru buclă: Iterare 4 C # Pentru buclă: Iterare 5

Initial valoarea lui i este 1.

Când programul ajunge la instrucțiunea while loop,

  • i <=5se evaluează expresia testului . Deoarece i este 1 și 1 <= 5este true, execută corpul buclei while. Aici, linia este tipărită pe ecran cu Iterarea 1, iar valoarea lui i este mărită cu 1 pentru a deveni 2.
  • Acum, expresia testului ( i <=5) este evaluată din nou. Și de această dată, expresia revine true(2 <= 5), astfel încât linia este tipărită pe ecran și valoarea lui i este acum mărită la 3 …
  • Aceasta merge și bucla while se execută până când i devine 6. În acest moment, expresia test va evalua falseși, prin urmare, bucla se termină.

Exemplul 2: bucla while pentru a calcula suma primelor 5 numere naturale

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

Când rulăm programul, ieșirea va fi:

 Suma = 15

Acest program calculează suma primelor 5 numere naturale.

  • Initial valoarea sumei este initializata la 0.
  • La fiecare iterație, valoarea sumei este actualizată sum+iși valoarea lui i este mărită cu 1.
  • Când valoarea lui i ajunge la 6, expresia test i<=5va reveni falsă și bucla se va termina.

Să vedem ce se întâmplă în programul dat pe fiecare iterație.

Inițial, i = 1, sumă = 0

În timp ce pașii de execuție a buclei
Repetare Valoarea i i <= 5 Valoarea sumei
1 1 Adevărat 0 + 1 = 1
2 2 Adevărat 1 + 2 = 3
3 3 Adevărat 3 + 3 = 6
4 4 Adevărat 6 + 4 = 10
5 5 Adevărat 10 + 5 = 15
6 6 fals Bucla se termină

Deci, valoarea finală a sumei va fi 15.

C # face … while loop

Cuvântul cheie do și while este folosit pentru a crea o buclă do … while. Este similar cu o buclă while, totuși există o diferență majoră între ele.

În bucla while, starea este verificată înainte de executarea corpului. Este exact opusul în bucla do … while, adică starea este verificată după executarea corpului.

De aceea, corpul do … while loop se va executa cel puțin o dată, indiferent de expresia test.

Sintaxa pentru do … while loop este:

 do (// corpul buclei do while) while (test-expresie); 

Cum … în timp ce bucla funcționează?

  1. Corpul do … while loop este executat la început.
  2. Apoi test-expressioneste evaluat.
  3. Dacă test-expressioneste true, corpul buclei este executat.
  4. Când test-expressioneste false, faceți … în timp ce bucla se termină.

face … în timp ce Bucla Diagrama de flux

Exemplul 3: do … while loop

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

Când rulăm programul, ieșirea va fi:

 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) (// corpul buclei while) 

Infinite do … while loop

 do (// corpul buclei while) while (adevărat); 

Bucla infinită este utilă atunci când avem nevoie de o buclă pentru a rula atâta timp cât rulează programul nostru.

De exemplu, dacă programul dvs. este o animație, va trebui să îl rulați constant până când este oprit. În astfel de cazuri, este necesară o buclă infinită pentru a rula animația în mod repetat.

Articole interesante...