C Academy · leksjon

Rekursjon i C

Utforsk rekursive funksjoner, forstå bruksområdene deres og analyser rekursjon kontra iterasjon.

Leksjon 3 av 39 trinn

Rekursjon i C er en gratis leksjon i C Academy på CoddyKit. Dette er leksjon 3 av 3. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i C Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i C Academy inneholder totalt 3 leksjoner.

Rekursjon i C

Rekursjon er en teknikk der en funksjon kaller seg selv for å løse et problem.

I denne leksjonen lærer De:

  • Hva rekursjon er, og hvordan den fungerer.
  • Hvordan De implementerer rekursive funksjoner.
  • Forskjellen mellom rekursjon og iterasjon.
Rekursjon i C — illustrasjon 1

Hva er rekursjon?

Rekursjon oppstår når en funksjon kaller seg selv for å løse en mindre del av et problem.

Eksempel på syntaks:

void function() { function(); // Recursive call }

Alle rekursive funksjoner må ha et basistilfelle for å forhindre uendelig rekursjon.

Eksempel: rekursjon

Dette programmet demonstrerer rekursjon ved å skrive ut tallene fra 5 til 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;
}

Basistilfelle i rekursjon

En rekursiv funksjon må inneholde et basistilfelle for å stoppe rekursjonen.

Eksempel:

if (n == 0) return;

Uten et basistilfelle vil funksjonen kalle seg selv uendelig mange ganger, noe som fører til stack overflow.

Eksempel: fakultet ved hjelp av rekursjon

Dette programmet beregner fakultetet til et tall ved hjelp av rekursjon.

#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;
}

Rekursjon kontra iterasjon

Rekursjon og iterasjon (løkker) kan gi samme resultat, men fungerer på ulike måter.

Forskjeller:

  • Rekursjon bruker funksjonskall og krever mer minne.
  • Iterasjon bruker løkker og er vanligvis mer effektiv.
  • Rekursjon gjør koden enklere for problemer som traversering av trær.

Eksempel: Fibonacci-følgen (rekursiv)

Dette programmet beregner Fibonacci-følgen ved hjelp av rekursjon.

#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;
}

Når bør rekursjon brukes?

Rekursjon er nyttig for problemer som omfatter:

  • Traversering av trær.
  • Backtracking (for eksempel løsning av labyrinter).
  • Matematiske problemer som fakultet og Fibonacci.

Sammendrag

I denne leksjonen har du lært:

  • Hva rekursjon er, og hvordan det fungerer.
  • Hvor viktig et basistilfelle er.
  • Forskjellen mellom rekursjon og iterasjon.

Deretter skal vi utforske tabeller og strenger i C!

Rekursjon i C — illustrasjon 9
Gratis å komme i gang

Lær deg C med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
39
Leksjoner
144

Ofte stilte spørsmål

Er leksjonen «Rekursjon i C» gratis?

Ja – hele teksten i «Rekursjon i C» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av C Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i C Academy inneholder totalt 3 leksjoner.

Hva lærer jeg i «Rekursjon i C»?

Utforsk rekursive funksjoner, forstå bruksområdene deres og analyser rekursjon kontra iterasjon. Du øver på C Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med C Academy?

Ingen tidligere erfaring er nødvendig. C Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 3.

Hvor lang tid tar leksjonen «Rekursjon i C»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne C Academy-leksjonen?

Ja. Alle C Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Definere og kalle funksjoner
  2. Funksjonsprototyper og synlighet
  3. Rekursjon i C
← Tilbake til C Academy