C # while і do ... 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 завершується.

схема циклу while

Приклад 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 # Для циклу: Ітерація 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 виконується, поки я не стану 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 loop

Зробити і в той час як ключове слово використовується для створення робити … в той час як цикл. Це схоже на цикл 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); 

Нескінченний цикл корисний, коли нам потрібен цикл, який запускається стільки, скільки працює наша програма.

Наприклад, якщо ваша програма є анімацією, вам потрібно буде постійно запускати її, доки її не зупинити. У таких випадках необхідний нескінченний цикл для постійного запуску анімації.

Цікаві статті...