Recursão em C
Explore funções recursivas, entenda seus casos de uso e analise recursão e iteração.
Recursão em C é uma aula grátis de C Academy no CoddyKit. Esta é a aula 3 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de C Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de C Academy inclui 3 aulas no total.
Recursão em C
Recursão em C
Recursão é uma técnica na qual uma função chama a si própria para resolver um problema.
Nesta lição, aprenderá:
- O que é recursão e como funciona.
- Como implementar funções recursivas.
- A diferença entre recursão e iteração.

O que é recursão?
O que é recursão?
Recursão ocorre quando uma função chama a si própria para resolver uma parte menor de um problema.
Sintaxe de exemplo:
void function() {
function(); // Recursive call
}
Toda função recursiva deve ter um caso-base para evitar a recursão infinita.
Exemplo: recursão
Exemplo: recursão
Este programa demonstra a recursão ao imprimir os números de 5 a 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;
}Caso-base na recursão
Caso-base na recursão
Uma função recursiva deve incluir um caso-base para interromper a recursão.
Exemplo:
if (n == 0) return;
Sem um caso-base, a função chamará a si própria infinitamente, causando um estouro da pilha.
Exemplo: fatorial usando recursão
Exemplo: fatorial usando recursão
Este programa calcula o fatorial de um número usando recursão.
#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;
}Recursão e iteração
Recursão e iteração
A recursão e a iteração (laços) podem produzir os mesmos resultados, mas funcionam de formas diferentes.
Diferenças:
- A recursão usa chamadas de função e requer mais memória.
- A iteração usa laços e, em geral, é mais eficiente.
- A recursão torna o código mais simples em problemas como a travessia de árvores.
Exemplo: Sequência de Fibonacci (Recursiva)
Exemplo: Sequência de Fibonacci (Recursiva)
Este programa calcula a sequência de Fibonacci usando recursão.
#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;
}Quando Usar Recursão?
Quando Usar Recursão?
A recursão é útil para problemas que envolvem:
- Travessia de árvores.
- Retrocesso (por exemplo, para resolver labirintos).
- Problemas matemáticos, como fatoriais e Fibonacci.
Resumo
Resumo
Nesta lição, você aprendeu:
- O que é recursão e como ela funciona.
- A importância de um caso-base.
- A diferença entre recursão e iteração.
Em seguida, exploraremos arrays e strings em C!

Perguntas Frequentes
A aula “Recursão em C” é grátis?
Sim — o texto completo de “Recursão em C” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de C Academy, atualize para CoddyKit PRO. O curso de C Academy inclui 3 aulas no total.
O que vou aprender em “Recursão em C”?
Explore funções recursivas, entenda seus casos de uso e analise recursão e iteração. Você pratica C Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar C Academy?
Nenhuma experiência prévia é necessária. C Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 3.
Quanto tempo leva a aula “Recursão em C”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de C Academy?
Sim. Cada aula de C Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.