C # while and do ... while loop (ar piemēriem)

Šajā rakstā mēs uzzināsim par while un do… while ciklu C #, kā tos izmantot un atšķirību starp tiem.

Programmējot, bieži tiek vēlēts izpildīt noteiktu paziņojumu bloku noteiktu skaitu reižu. Iespējamais risinājums būs šo paziņojumu ierakstīšana vajadzīgajā reižu skaitā. Tomēr atkārtojumu skaits var nebūt zināms iepriekš (sastādīšanas laikā) vai varbūt pietiekami liels (teiksim, 10000).

Labākais šādas problēmas risinājums ir cilpa. Cilpas tiek izmantotas programmēšanā, lai atkārtoti izpildītu noteiktu paziņojumu bloku, līdz tiek izpildīts kāds nosacījums.

Šajā rakstā mēs iemācīsimies izmantot ciklus C #.

C # kamēr cilpa

Kamēr atslēgvārds tiek izmantots, lai izveidotu kamēr cilpa C #. Kaut cikla sintakse ir:

 while (testa izteiksme) (// ķermeņa laiks) 

Kā darbojas cilpa?

  1. C # kamēr cilpa sastāv no a test-expression.
  2. Ja test-expressiontiek novērtēts līdz true,
    1. paziņojumi, kamēr cikls tiek izpildīts.
    2. pēc izpildes test-expressiontiek atkārtoti novērtēts.
  3. Ja test-expressiontiek novērtēts līdz false, cilpa while tiek pārtraukta.

kamēr cilpa Blokshēma

1. piemērs: kamēr cilpa

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

Kad mēs palaidīsim programmu, izeja būs:

 C # Loop: Iterācija 1 C # Loop: Iterācija 2 C # Loop: Iterācija 3 C # Loop: Iterācija 4 C # Loop: Iterācija 5

Sākotnēji i vērtība ir 1.

Kad programma sasniedz paziņojumu while ciklu,

  • i <=5tiek vērtēta testa izteiksme . Tā kā i ir 1 un 1 <= 5ir true, tas izpilda kamēr cilpa ķermeni. Šeit līnija tiek drukāta uz ekrāna ar 1. atkārtojumu, un i vērtība tiek palielināta par 1, lai kļūtu par 2.
  • Tagad testa izteiksme ( i <=5) tiek atkārtoti novērtēta. Arī šoreiz izteiksme atgriežas true(2 <= 5), tāpēc līnija tiek drukāta uz ekrāna, un i vērtība tagad tiek palielināta līdz 3 …
  • Tas notiek, kamēr cilpa tiek izpildīta, līdz es kļūstu par 6. Šajā brīdī testa izteiksme novērtēs falseun tādējādi cilpa beigsies.

2. piemērs: while cikls, lai aprēķinātu pirmo 5 dabisko skaitļu summu

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

Kad mēs palaidīsim programmu, izeja būs:

 Summa = 15

Šī programma aprēķina pirmo 5 dabisko skaitļu summu.

  • Sākumā summas vērtība tiek inicializēta līdz 0.
  • Katrā atkārtojumā summas vērtība tiek atjaunināta līdz sum+iun i vērtība tiek palielināta par 1.
  • Kad i vērtība sasniedz 6, testa izteiksme i<=5atgriezīsies nepatiesa un cilpa beigsies.

Apskatīsim, kas notiek dotajā programmā katrā atkārtojumā.

Sākumā i = 1, summa = 0

Kamēr cilpas izpilde notiek
Atkārtojums I vērtība i <= 5 Summas vērtība
1 1 taisnība 0 + 1 = 1
2 2 taisnība 1 + 2 = 3
3 3 taisnība 3 + 3 = 6
4 4 taisnība 6 + 4 = 10
5 5 taisnība 10 + 5 = 15
6 6 nepatiesa Loop beidzas

Tātad galīgā summas vērtība būs 15.

C # darīt … kamēr cilpa

Darīt un kamēr atslēgvārds tiek izmantots, lai izveidotu darīt … kamēr cilpa. Tas ir līdzīgs brīža ciklam, tomēr starp tiem ir liela atšķirība.

In while loop, the condition is checked before the body is executed. It is the exact opposite in do… while loop, i.e. condition is checked after the body is executed.

This is why, the body of do… while loop will execute at least once irrespective to the test-expression.

The syntax for do… while loop is:

 do ( // body of do while loop ) while (test-expression); 

How do… while loop works?

  1. The body of do… while loop is executed at first.
  2. Then the test-expression is evaluated.
  3. If the test-expression is true, the body of loop is executed.
  4. When the test-expression is false, do… while loop terminates.

do… while loop Flowchart

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

When we run the program, the output will be:

 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 (patiess) (// body of while cilpa) 

Bezgalīgs darīt … kamēr cilpa

 do (// body of while loop) kamēr (patiess); 

Bezgalīgā cilpa ir noderīga, ja mums ir nepieciešama cilpa, lai tā darbotos tik ilgi, kamēr darbojas mūsu programma.

Piemēram, ja jūsu programma ir animācija, tā būs nepārtraukti jāpalaiž, līdz tā tiek pārtraukta. Šādos gadījumos animācijas atkārtota palaišana ir nepieciešama bezgalīga cilpa.

Interesanti raksti...