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

Recursie is het proces waarbij items worden herhaald op een manier die op zichzelf lijkt. Als een programma u in programmeertalen toestaat een functie binnen dezelfde functie aan te roepen, wordt dit een recursieve aanroep van de functie genoemd.

void recursion() {
   recursion(); /* function calls itself */
}

int main() {
   recursion();
}

De programmeertaal C ondersteunt recursie, d.w.z. een functie om zichzelf aan te roepen. Maar bij het gebruik van recursie moeten programmeurs voorzichtig zijn met het definiëren van een exit-voorwaarde van de functie, anders komt deze in een oneindige lus terecht.

Recursieve functies zijn erg handig om veel wiskundige problemen op te lossen, zoals het berekenen van de faculteit van een getal, het genereren van Fibonacci-reeksen, enz.

Nummer Factorial

Het volgende voorbeeld berekent de faculteit van een gegeven getal met behulp van een recursieve functie −

Live demo
#include <stdio.h>

unsigned long long int factorial(unsigned int i) {

   if(i <= 1) {
      return 1;
   }
   return i * factorial(i - 1);
}

int  main() {
   int i = 12;
   printf("Factorial of %d is %d\n", i, factorial(i));
   return 0;
}

Wanneer de bovenstaande code wordt gecompileerd en uitgevoerd, levert dit het volgende resultaat op −

Factorial of 12 is 479001600

Fibonacci-reeks

Het volgende voorbeeld genereert de Fibonacci-reeks voor een gegeven getal met behulp van een recursieve functie −

Live demo
#include <stdio.h>

int fibonacci(int i) {

   if(i == 0) {
      return 0;
   }
	
   if(i == 1) {
      return 1;
   }
   return fibonacci(i-1) + fibonacci(i-2);
}

int  main() {

   int i;
	
   for (i = 0; i < 10; i++) {
      printf("%d\t\n", fibonacci(i));
   }
	
   return 0;
}

Wanneer de bovenstaande code wordt gecompileerd en uitgevoerd, levert dit het volgende resultaat op −

0	
1	
1	
2	
3	
5	
8	
13	
21	
34

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# break-instructie
  10. C# doorgaan Verklaring
  11. C#-matrices