Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> C Taal

C recursie

C-recursie

In deze tutorial leer je recursieve functies te schrijven in C-programmering aan de hand van een voorbeeld.

Een functie die zichzelf aanroept, staat bekend als een recursieve functie. En deze techniek staat bekend als recursie.


Hoe werkt recursie?

void recurse()
{
    ... .. ...
    recurse();
    ... .. ...
}

int main()
{
    ... .. ...
    recurse();
    ... .. ...
}

De recursie gaat door totdat aan een voorwaarde is voldaan om dit te voorkomen.

Om oneindige recursie te voorkomen, kan de instructie if...else (of vergelijkbare benadering) worden gebruikt waarbij de ene branch de recursieve aanroep doet en de andere niet.


Voorbeeld:som van natuurlijke getallen met behulp van recursie

#include <stdio.h>
int sum(int n);

int main() {
    int number, result;

    printf("Enter a positive integer: ");
    scanf("%d", &number);

    result = sum(number);

    printf("sum = %d", result);
    return 0;
}

int sum(int n) {
    if (n != 0)
        // sum() function calls itself
        return n + sum(n-1); 
    else
        return n;
}

Uitvoer

Enter a positive integer:3
sum = 6

Aanvankelijk was de sum() wordt gebeld vanaf de main() functie met nummer doorgegeven als argument.

Stel dat de waarde van n binnen sum() is in eerste instantie 3. Tijdens de volgende functieaanroep wordt 2 doorgegeven aan de sum() functie. Dit proces gaat door tot n is gelijk aan 0.

Wanneer n is gelijk aan 0, de if voorwaarde mislukt en de else deel wordt uitgevoerd en retourneert de som van gehele getallen uiteindelijk naar de main() functie.


Voor- en nadelen van recursie

Recursie maakt het programma elegant. Als prestaties echter van vitaal belang zijn, gebruik dan in plaats daarvan loops, omdat recursie meestal veel langzamer is.

Dat gezegd hebbende, recursie is een belangrijk concept. Het wordt vaak gebruikt in datastructuur en algoritmen. Het is bijvoorbeeld gebruikelijk om recursie te gebruiken bij problemen zoals het doorkruisen van bomen.


C Taal

  1. C# Hello World - Uw eerste C#-programma
  2. C#-zoekwoorden en -ID's
  3. C#-variabelen en (primitieve) gegevenstypen
  4. C#-operators
  5. C# Bitsgewijze en Bit Shift-operators
  6. C# Basisinvoer en -uitvoer
  7. C#-expressies, statements en blokken (met voorbeelden)
  8. C# Opmerkingen
  9. C# switch-instructie
  10. C# ternair (? :) Operator
  11. Fibonacci-serie in Java met behulp van het programma voor recursie en lussen