0Pricing
C Academy · Aula

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.
Recursão em C — ilustração 1

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!

Recursão em C — ilustração 9

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.

Todas as aulas deste curso

  1. Definição e chamada de funções
  2. Protótipos de funções e escopo
  3. Recursão em C
← Voltar para C Academy