Ricorsione in C
Esplori le funzioni ricorsive, ne comprenda i casi d'uso e analizzi la ricorsione rispetto all'iterazione.
Ricorsione in C è una lezione C Academy gratuita su CoddyKit. Questa è la lezione 3 di 3. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento C Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso C Academy include 3 lezioni in totale.
Ricorsione in C
Ricorsione in C
La ricorsione è una tecnica in cui una funzione chiama sé stessa per risolvere un problema.
In questa lezione imparerà:
- Che cos'è la ricorsione e come funziona.
- Come implementare funzioni ricorsive.
- La differenza tra ricorsione e iterazione.

Che cos'è la ricorsione?
Che cos'è la ricorsione?
Si parla di ricorsione quando una funzione chiama sé stessa per risolvere una parte più piccola di un problema.
Sintassi di esempio:
void function() {
function(); // Recursive call
}
Ogni funzione ricorsiva deve avere un caso base per impedire una ricorsione infinita.
Esempio: ricorsione
Esempio: ricorsione
Questo programma illustra la ricorsione stampando i numeri da 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 nella ricorsione
Caso base nella ricorsione
Una funzione ricorsiva deve includere un caso base per interrompere la ricorsione.
Esempio:
if (n == 0) return;
Senza un caso base, la funzione chiamerà sé stessa all'infinito, causando un overflow dello stack.
Esempio: fattoriale con la ricorsione
Esempio: fattoriale con la ricorsione
Questo programma calcola il fattoriale di un numero utilizzando la ricorsione.
#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;
}Ricorsione e iterazione
Ricorsione e iterazione
La ricorsione e l'iterazione (tramite cicli) possono produrre gli stessi risultati, ma funzionano in modo diverso.
Differenze:
- La ricorsione utilizza chiamate di funzione e richiede più memoria.
- L'iterazione utilizza cicli ed è generalmente più efficiente.
- La ricorsione rende più semplice il codice per problemi come l'attraversamento di alberi.
Esempio: sequenza di Fibonacci (ricorsiva)
Esempio: sequenza di Fibonacci (ricorsiva)
Questo programma calcola la sequenza di Fibonacci usando la ricorsione.
#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 usare la ricorsione?
Quando usare la ricorsione?
La ricorsione è utile per i problemi che richiedono:
- Attraversamento di alberi.
- Backtracking (ad es., per risolvere labirinti).
- Problemi matematici come il calcolo del fattoriale e della sequenza di Fibonacci.
Riepilogo
Riepilogo
In questa lezione ha imparato:
- Che cos'è la ricorsione e come funziona.
- L'importanza del caso base.
- La differenza tra ricorsione e iterazione.
Successivamente, esplorerà gli array e le stringhe in C!

Domande Frequenti
La lezione «Ricorsione in C» è gratuita?
Sì — il testo completo di «Ricorsione in C» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso C Academy, passa a CoddyKit PRO. Il corso C Academy include 3 lezioni in totale.
Cosa imparerò in «Ricorsione in C»?
Esplori le funzioni ricorsive, ne comprenda i casi d'uso e analizzi la ricorsione rispetto all'iterazione. Eserciti C Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare C Academy?
Non è richiesta alcuna esperienza precedente. C Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 3.
Quanto tempo richiede la lezione «Ricorsione in C»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione C Academy?
Sì. Ogni lezione C Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.