Rekurencja w C
Proszę poznać funkcje rekurencyjne, zrozumieć ich zastosowania i przeanalizować rekurencję w porównaniu z iteracją.
Rekurencja w C to bezpłatna lekcja C Academy na CoddyKit. To lekcja 3 z 3. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej C Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs C Academy zawiera 3 lekcji w sumie.
Rekurencja w C
Rekurencja w C
Rekurencja to technika, w której funkcja wywołuje samą siebie, aby rozwiązać problem.
W tej lekcji dowie się Pan/Pani:
- Czym jest rekurencja i jak działa.
- Jak implementować funkcje rekurencyjne.
- Czym różnią się rekurencja i iteracja.

Czym jest rekurencja?
Czym jest rekurencja?
Rekurencja występuje wtedy, gdy funkcja wywołuje samą siebie, aby rozwiązać mniejszą część problemu.
Przykładowa składnia:
void function() {
function(); // Recursive call
}
Każda funkcja rekurencyjna musi mieć przypadek bazowy, aby zapobiec nieskończonej rekurencji.
Przykład: rekurencja
Przykład: rekurencja
Ten program demonstruje rekurencję, wyświetlając liczby od 5 do 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;
}Przypadek bazowy w rekurencji
Przypadek bazowy w rekurencji
Funkcja rekurencyjna musi zawierać przypadek bazowy, który zatrzymuje rekurencję.
Przykład:
if (n == 0) return;
Bez przypadku bazowego funkcja będzie wywoływać samą siebie w nieskończoność, powodując przepełnienie stosu.
Przykład: silnia z użyciem rekurencji
Przykład: silnia z użyciem rekurencji
Ten program oblicza silnię liczby za pomocą rekurencji.
#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;
}Rekurencja a iteracja
Rekurencja a iteracja
Rekurencja i iteracja (pętle) mogą prowadzić do tych samych rezultatów, ale działają w różny sposób.
Różnice:
- Rekurencja korzysta z wywołań funkcji i wymaga więcej pamięci.
- Iteracja korzysta z pętli i zazwyczaj jest wydajniejsza.
- Rekurencja upraszcza kod w przypadku problemów takich jak przechodzenie po drzewie.
Przykład: ciąg Fibonacciego (rekurencyjnie)
Przykład: ciąg Fibonacciego (rekurencyjnie)
Ten program oblicza ciąg Fibonacciego za pomocą rekurencji.
#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;
}Kiedy stosować rekurencję?
Kiedy stosować rekurencję?
Rekurencja jest przydatna w problemach obejmujących:
- Przechodzenie po drzewie.
- Przeszukiwanie z nawrotami (np. rozwiązywanie labiryntów).
- Problemy matematyczne, takie jak obliczanie silni i ciągu Fibonacciego.
Podsumowanie
Podsumowanie
W tej lekcji nauczyli się Państwo:
- Czym jest rekurencja i jak działa.
- Jakie znaczenie ma przypadek bazowy.
- Czym różnią się rekurencja i iteracja.
Następnie poznają Państwo tablice i napisy w języku C!

Często zadawane pytania
Czy lekcja „Rekurencja w C” jest bezpłatna?
Tak — pełny tekst „Rekurencja w C” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu C Academy, przejdź na CoddyKit PRO. Kurs C Academy zawiera 3 lekcji w sumie.
Co nauczysz się w „Rekurencja w C”?
Proszę poznać funkcje rekurencyjne, zrozumieć ich zastosowania i przeanalizować rekurencję w porównaniu z iteracją. Ćwiczysz C Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć C Academy?
Nie wymagamy żadnego doświadczenia. C Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 3.
Ile czasu zajmuje lekcja „Rekurencja w C”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji C Academy?
Tak. Każda lekcja C Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.