Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте While, Do-While | Керуючі Оператори
Основи C

bookWhile, Do-While

Уявіть ситуацію, коли потрібно багаторазово виконувати певні завдання, наприклад, зчитування даних із сенсора, спроби введення пароля або підрахунок слів у реченні. У таких випадках використовуються цикли.

Цикли дозволяють виконувати певні блоки коду кілька разів — десятки, сотні чи навіть тисячі разів. Розуміння концепції циклів є важливим у програмуванні. У цьому курсі розглядаються основні цикли: цикл while, цикл do-while та цикл for.

Цикл While

Цей цикл продовжує виконання доти, доки виконується певна умова. Як тільки умова перестає виконуватися, цикл зупиняється.

main.c

main.c

copy
123
while (condition) { // Loop body }

Основне використання циклу — відображення кількості його повторень:

Main.c

Main.c

copy
1234567891011121314
#include <stdio.h> int main() { int iterations = 1; while (iterations <= 10) { printf("%d\n", iterations); iterations++; // `iterations = iterations + 1;` } return 0; }

Для зупинки цього циклу необхідна умова завершення. Простий спосіб — використання лічильника для відстеження кількості виконань циклу.

Note
Примітка

Ітерація означає один цикл у межах циклу. Тобто, якщо цикл виконує блок коду 10 разів, це означає, що виконано 10 ітерацій.

Рядок iterations++; є ключовим, оскільки збільшує лічильник (int iterations) при кожному проході. Лічильник визначає умови для завершення циклу.

Note
Примітка

Важливо встановити умови для виходу з циклу. Якщо цього не зробити, виникне нескінченний цикл.

Main.c

Main.c

copy
12345678910111213141516
#include <stdio.h> int main() { int array[] = { 3, 6, 2, 134, 45, 2, 564, 8, 3, 531 }; int i = 0; // Index of array while (i < 10 ) { printf("Index of element: %d\tValue of element: %d\n", i, array[i]); i++; // `i = i + 1` } return 0; }

Зверніть увагу на вираз array[i]. Тут змінна i позначає індекс елементів масиву array[].

З кожною ітерацією змінна i збільшується на 1. Це означає, що під час кожного циклу вираз array[i] звертається до наступного елемента масиву:

Головна відмінність між циклами do-while та while полягає в тому, що перший гарантує хоча б одне виконання, навіть якщо його умова спочатку хибна.

main.c

main.c

copy
123
do { // Do something } while (condition);

Цей тип циклу зручний для створення базових користувацьких інтерфейсів. Наприклад, при запиті пароля, оскільки дозволяє повторювати запит, доки введення не стане коректним. Цикл типу do-while ідеально підходить для таких випадків, оскільки запит має з'явитися хоча б один раз, тоді як цикл while використовується, коли вхід здійснюється лише за умови виконання попередньої умови.

Main.c

Main.c

copy
123456789101112
#include <stdio.h> int main() { int i = 0; do { printf("Condition `i == 1` is false, because i = 0, but loop is working...\n"); } while (i == 1); printf("Loop is over\n"); return 0; }
question mark

Яким буде значення x на 6-й ітерації?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 5

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Awesome!

Completion rate improved to 2.63

bookWhile, Do-While

Свайпніть щоб показати меню

Уявіть ситуацію, коли потрібно багаторазово виконувати певні завдання, наприклад, зчитування даних із сенсора, спроби введення пароля або підрахунок слів у реченні. У таких випадках використовуються цикли.

Цикли дозволяють виконувати певні блоки коду кілька разів — десятки, сотні чи навіть тисячі разів. Розуміння концепції циклів є важливим у програмуванні. У цьому курсі розглядаються основні цикли: цикл while, цикл do-while та цикл for.

Цикл While

Цей цикл продовжує виконання доти, доки виконується певна умова. Як тільки умова перестає виконуватися, цикл зупиняється.

main.c

main.c

copy
123
while (condition) { // Loop body }

Основне використання циклу — відображення кількості його повторень:

Main.c

Main.c

copy
1234567891011121314
#include <stdio.h> int main() { int iterations = 1; while (iterations <= 10) { printf("%d\n", iterations); iterations++; // `iterations = iterations + 1;` } return 0; }

Для зупинки цього циклу необхідна умова завершення. Простий спосіб — використання лічильника для відстеження кількості виконань циклу.

Note
Примітка

Ітерація означає один цикл у межах циклу. Тобто, якщо цикл виконує блок коду 10 разів, це означає, що виконано 10 ітерацій.

Рядок iterations++; є ключовим, оскільки збільшує лічильник (int iterations) при кожному проході. Лічильник визначає умови для завершення циклу.

Note
Примітка

Важливо встановити умови для виходу з циклу. Якщо цього не зробити, виникне нескінченний цикл.

Main.c

Main.c

copy
12345678910111213141516
#include <stdio.h> int main() { int array[] = { 3, 6, 2, 134, 45, 2, 564, 8, 3, 531 }; int i = 0; // Index of array while (i < 10 ) { printf("Index of element: %d\tValue of element: %d\n", i, array[i]); i++; // `i = i + 1` } return 0; }

Зверніть увагу на вираз array[i]. Тут змінна i позначає індекс елементів масиву array[].

З кожною ітерацією змінна i збільшується на 1. Це означає, що під час кожного циклу вираз array[i] звертається до наступного елемента масиву:

Головна відмінність між циклами do-while та while полягає в тому, що перший гарантує хоча б одне виконання, навіть якщо його умова спочатку хибна.

main.c

main.c

copy
123
do { // Do something } while (condition);

Цей тип циклу зручний для створення базових користувацьких інтерфейсів. Наприклад, при запиті пароля, оскільки дозволяє повторювати запит, доки введення не стане коректним. Цикл типу do-while ідеально підходить для таких випадків, оскільки запит має з'явитися хоча б один раз, тоді як цикл while використовується, коли вхід здійснюється лише за умови виконання попередньої умови.

Main.c

Main.c

copy
123456789101112
#include <stdio.h> int main() { int i = 0; do { printf("Condition `i == 1` is false, because i = 0, but loop is working...\n"); } while (i == 1); printf("Loop is over\n"); return 0; }
question mark

Яким буде значення x на 6-й ітерації?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 5
some-alt