Зміст курсу
Основи C
Основи C
While, Do-While
Уявіть ситуацію, коли вам потрібно повторно виконувати певні завдання, такі як зчитування даних з датчика, спроби введення паролів або підрахунок слів у реченні. У таких ситуаціях на допомогу приходять цикли.
Цикли дозволяють виконувати певні блоки коду кілька разів, будь то десятки, сотні або навіть тисячі разів. Розуміння концепції циклів є важливим у програмуванні. Цей курс занурюється у основні цикли: while
цикл, do-while
цикл і for
цикл.
While Цикл
Цей цикл продовжує виконуватися доки виконується певна умова. Як тільки умова не задовольняється, цикл зупиняється.
Основне використання циклу - це відображення кількості його повторень:
Main
#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
) з кожним проходом. Лічильник потім встановлює умови для завершення циклу.
Примітка
Важливо встановити умови для виходу з циклу. Якщо цього не зробити, це призведе до нескінченного циклу.
Давайте створимо програму, щоб продемонструвати елементи цілочисельного масиву:
Main
#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
полягає в тому, що перший гарантує принаймні одне виконання, навіть якщо його умова спочатку хибна.
Приклад:
Main
#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; }
Цей тип циклу зручний для створення базових інтерфейсів користувача. Наприклад, при запиті пароля програма буде повторно запитувати, поки користувач не введе правильний:
Main
#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; }
Дякуємо за ваш відгук!