Рекурсия в C
Изучите рекурсивные функции, их применение и различия между рекурсией и итерацией
«Рекурсия в C» — бесплатный урок C Academy на CoddyKit. Это урок 3 из 3. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения C Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс C Academy содержит 3 уроков всего.
Рекурсия в C
Рекурсия в C
Рекурсия — это метод, при котором функция вызывает саму себя для решения задачи.
В этом уроке Вы узнаете:
- Что такое рекурсия и как она работает.
- Как реализовывать рекурсивные функции.
- Чем рекурсия отличается от итерации.

Что такое рекурсия
Что такое рекурсия
Рекурсия — это вызов функцией самой себя для решения части задачи меньшего размера.
Пример синтаксиса:
void function() {
function(); // Recursive call
}
У каждой рекурсивной функции должен быть базовый случай, предотвращающий бесконечную рекурсию.
Пример: рекурсия
Пример: рекурсия
Эта программа демонстрирует рекурсию, выводя числа от 5 до 1.
#include <stdio.h>
void countDown(int n) {
if (n <= 0) return; // Base case
printf("%d\n", n);
countDown(n - 1); // Recursive call
}
int main() {
countDown(5);
return 0;
}Базовый случай в рекурсии
Базовый случай в рекурсии
Рекурсивная функция должна содержать базовый случай, который останавливает рекурсию.
Пример:
if (n == 0) return;
Без базового случая функция будет вызывать саму себя бесконечно, что приведёт к переполнению стека.
Пример: вычисление факториала с помощью рекурсии
Пример: вычисление факториала с помощью рекурсии
Эта программа вычисляет факториал числа с помощью рекурсии.
#include <stdio.h>
int factorial(int n) {
if (n == 0) return 1; // Base case
return n * factorial(n - 1);
}
int main() {
printf("Factorial of 5: %d\n", factorial(5));
return 0;
}Рекурсия и итерация
Рекурсия и итерация
Рекурсия и итерация (циклы) могут давать одинаковые результаты, но работают по-разному.
Различия:
- Рекурсия использует вызовы функций и требует больше памяти.
- Итерация использует циклы и обычно работает эффективнее.
- Рекурсия упрощает код для таких задач, как обход дерева.
Пример: последовательность Фибоначчи (рекурсивная)
Пример: последовательность Фибоначчи (рекурсивная)
Эта программа вычисляет последовательность Фибоначчи с помощью рекурсии.
#include <stdio.h>
int fibonacci(int n) {
if (n <= 1) return n;
return fibonacci(n - 1) + fibonacci(n - 2);
}
int main() {
printf("Fibonacci(5): %d\n", fibonacci(5));
return 0;
}Когда следует использовать рекурсию?
Когда следует использовать рекурсию?
Рекурсия полезна для задач, связанных с:
- Обходом деревьев.
- Поиском с возвратом (например, при решении лабиринтов).
- Математическими задачами, такими как вычисление факториала и последовательности Фибоначчи.
Итоги
Итоги
В этом уроке Вы узнали:
- Что такое рекурсия и как она работает.
- О важности базового случая.
- О различии между рекурсией и итерацией.
Далее мы рассмотрим массивы и строки в C!

Часто задаваемые вопросы
Урок «Рекурсия в C» бесплатный?
Да — полный текст урока «Рекурсия в C» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс C Academy, подпишись на CoddyKit PRO. Курс C Academy содержит 3 уроков всего.
Чему я научусь в уроке «Рекурсия в C»?
Изучите рекурсивные функции, их применение и различия между рекурсией и итерацией Ты практикуешь C Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать C Academy?
Предыдущий опыт не требуется. C Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 3.
Сколько времени занимает урок «Рекурсия в C»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке C Academy?
Да. Каждый урок C Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.