C # while и направете ... while цикъл (с примери)

В тази статия ще научим за while и do … while цикъл в C #, как да ги използваме и каква е разликата между тях.

При програмирането често се желае да се изпълни определен блок от изрази за определен брой пъти. Възможно решение ще бъде да въведете тези изявления за необходимия брой пъти. Броят на повторенията обаче може да не е известен предварително (по време на компилиране) или може би достатъчно голям (да речем 10000).

Най-доброто решение на такъв проблем е цикълът. Цикли се използват при програмиране за многократно изпълнение на определен блок от инструкции, докато се изпълни някакво условие.

В тази статия ще се научим да използваме циклите while в C #.

C # while цикъл

В а ключовата дума се използва за създаване на линия, докато в C #. Синтаксисът на цикъл while е:

 while (тест-израз) (// тяло на while) 

Как работи цикълът while?

  1. Цикълът C # while се състои от a test-expression.
  2. Ако test-expressionсе оценява на true,
    1. се изпълняват инструкции в цикъла while.
    2. след изпълнението test-expressionсе оценява отново.
  3. Ако test-expressionсе изчисли false, цикълът while се прекратява.

, докато цикъл Блок схема

Пример 1: докато 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 # За цикъл: Итерация 1 C # За цикъл: Итерация 2 C # За цикъл: Итерация 3 C # За цикъл: Итерация 4 C # За цикъл: Итерация 5

Първоначално стойността на i е 1.

Когато програмата достигне до цикъла while,

  • тестовият израз i <=5се оценява. Тъй като i е 1 и 1 <= 5е true, той изпълнява тялото на цикъла while. Тук редът се отпечатва на екрана с итерация 1 и стойността на i се увеличава с 1, за да стане 2.
  • Сега тестовият израз ( i <=5) се оценява отново. И този път изразът се връща true(2 <= 5), така че редът се отпечатва на екрана и стойността на i сега се увеличава до 3 …
  • Това продължава и цикълът while се изпълнява, докато i стане 6. В този момент тест-изразът ще оцени falseи следователно цикълът ще прекрати.

Пример 2: цикъл while за изчисляване на сумата от първите 5 естествени числа

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

Когато стартираме програмата, изходът ще бъде:

 Сума = 15

Тази програма изчислява сумата от първите 5 естествени числа.

  • Първоначално стойността на сумата се инициализира до 0.
  • При всяка итерация стойността на сумата се актуализира до sum+iи стойността на i се увеличава с 1.
  • Когато стойността на i достигне 6, тестовият израз i<=5ще върне false и цикълът се прекратява.

Нека да видим какво се случва в дадената програма на всяка итерация.

Първоначално i = 1, сума = 0

Докато стъпки за изпълнение на цикъл
Повторение Стойност на i i <= 5 Стойност на сумата
1 1 вярно 0 + 1 = 1
2 2 вярно 1 + 2 = 3
3 3 вярно 3 + 3 = 6
4 4 вярно 6 + 4 = 10
5 5 вярно 10 + 5 = 15
6 6 невярно Цикълът завършва

И така, крайната стойност на сумата ще бъде 15.

C # do … while цикъл

В направя и докато ключова дума се използва за създаване на задачи … докато контур. Той е подобен на цикъл while, но има голяма разлика между тях.

В цикъл while състоянието се проверява, преди тялото да бъде изпълнено. Точно обратното е в do … while цикъл, т.е. състоянието се проверява след изпълнението на тялото.

Ето защо тялото на do … while цикъл ще се изпълни поне веднъж, независимо от тестовия израз.

Синтаксисът за цикъл do … while е:

 do (// тяло на do while цикъл) while (тест-израз); 

Как … докато цикълът работи?

  1. Тялото на do … while цикълът се изпълнява отначало.
  2. След това test-expressionсе оценява.
  3. Ако test-expressionе true, тялото на цикъла се изпълнява.
  4. Когато test-expressionе false, направете …, докато цикълът се прекратява.

do … while цикъл на блок-схема

Пример 3: 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); ) ) ) 

Когато стартираме програмата, изходът ще бъде:

 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) (// тяло на цикъл while) 

Безкраен do … while цикъл

 do (// тяло на цикъл while) while (true); 

Безкрайният цикъл е полезен, когато се нуждаем от цикъл, който да работи, докато нашата програма работи.

Например, ако вашата програма е анимация, ще трябва постоянно да я изпълнявате, докато не бъде спряна. В такива случаи е необходим безкраен цикъл, за да продължите да изпълнявате анимацията многократно.

Интересни статии...