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

Зміст курсу

Основи C

Основи C

1. Вступ
2. Дані
3. Оператори
4. Оператори управління
5. Функції
6. Вказівники

book
While, Do-While

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

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

While Цикл

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

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

c

Main

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

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

Примітка

Ітерація відноситься до одного циклу в межах циклу. Отже, якщо цикл виконує блок коду 10 разів, він завершив 10 ітерацій.

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

Примітка

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

Давайте створимо програму, щоб продемонструвати елементи цілочисельного масиву:

c

Main

copy
1234567891011121314151617
#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

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

Приклад:

c

Main

copy
12345678910111213141516
#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; }

Цей тип циклу зручний для створення базових інтерфейсів користувача. Наприклад, при запиті пароля програма буде повторно запитувати, поки користувач не введе правильний:

c

Main

copy
1234567891011121314151617181920
#include <stdio.h> int main() { int userInput[] = { 111, 222, 333, 444 }; // arrays of passwords int i = 0; // index of element do { printf("You entered password: %d | incorrect\n", userInput[i]); i++; } while (userInput[i] != 444); printf("You entered password: %d | correct\n", userInput[i]); return 0; }
Яке значення буде мати `x` на 6-й ітерації?

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

Виберіть правильну відповідь

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

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

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

Секція 4. Розділ 5
We're sorry to hear that something went wrong. What happened?
some-alt