0% found this document useful (0 votes)
17 views17 pages

Recursion

Uploaded by

dmn 2000
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views17 pages

Recursion

Uploaded by

dmn 2000
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 17

RECRUSION

WHAT IS RECRUSION

 A function that calls itself is known as a recursive function. And, this technique is
known as recursion.
SUM OF NATURAL NUMBERS USING
RECURSION
#include <stdio.h> int sum(int n) {
int sum(int n); if (n != 0)
int main() { // sum() function calls itself
int number, result; return n + sum(n-1);
printf("Enter a positive integer: "); // sum() function calls itself
scanf("%d", &number); return n + sum(n-1); return n + sum(n-1);
result = sum(number); else
printf("sum = %d", result); return n;
return 0; }
} output :
Enter a positive integer 3
sum = 6
FIND FACTORIAL OF A NUMBER USING
RECURSION
#include<stdio.h>
long int multiplyNumbers(int n); Enter a positive integer:
int main() { 6
int n; Factorial of 6 = 720
printf("Enter a positive integer: ");
scanf("%d",&n);
printf("Factorial of %d = %ld", n, multiplyNumbers(n));
return 0;
}
long int multiplyNumbers(int n) {
if (n>=1)
return n*multiplyNumbers(n-1);
else
return 1;
}
ADD TWO NUMBERS USING FUNCTION IN C
PROGRAMMING
#include<stdio.h>
int main() {
int num1, num2, res; Enter the two numbers : 12 15
Addition of two number is : 27
printf("\nEnter the two numbers : ");
scanf("%d %d", &num1, &num2);
//Call Function Sum With Two Parameters
res = sum(num1, num2);
printf("nAddition of two number is : ");
return (0);
}
int sum(int num1, int num2) {
int num3;
num3 = num1 + num2;
return (num3);
}
WHAT IS A VARIABLE?

 A variable is a name given to a memory location to store values in a computer program. It is


used to store information that can be referenced and manipulated in a program.
 We can choose any name for the variable, but it must follow the programming semantics.
Such as it can be, a, b, x, y, z, sub, div, total, avg, etc.
SCOPE OF VARIABLE

 Each variable is defined and can be used within its scope and determines that wherein the
program this variable is available to use. The scope means the lifetime of that variable. It
means the variable can only be accessed or visible within its scope.

 The scope of variables can be defined with their declaration, and variables are declared
mainly in two ways:

 Global Variable: Outside of all the functions


 Local Variable: Within a function block
WHAT IS A GLOBAL VARIABLE?

 Global variables are those variables which are declared outside of all the functions or block
and can be accessed globally in a program.
 It can be accessed by any function present in the program.
 Once we declare a global variable, its value can be varied as used with different functions.
 The lifetime of the global variable exists till the program executes. These variables are
stored in fixed memory locations given by the compiler and do not automatically clean up.
 Global variables are mostly used in programming and useful for cases where all the
functions need to access the same data.
Example:

#include<stdio.h>
int a=50, b=40;
void main()
{
printf("a = %d and b=%d",a,b);
}

a and b are the global variables.


WHAT IS A LOCAL VARIABLE?

 Variables that are declared within or inside a function block are known as Local variables.
 These variables can only be accessed within the function in which they are declared.
 The lifetime of the local variable is within its function only, which means the variable exists till the
function executes. Once function execution is completed, local variables are destroyed and no longer
exist outside the function.
 The reason for the limited scope of local variables is that local variables are stored in the stack, which
is dynamic in nature and automatically cleans up the data stored within it.
 But by making the variable static with "static" keyword, we can retain the value of local variable.
Example:

#include<stdio.h> we have declared x and y two variables inside the


void main() main function. Hence these are local variables.

{
int x=50, y=40;
printf("x = %d and y=%d",x, y);
}
COMPARISON CHART BETWEEN GLOBAL
VARIABLE AND LOCAL VARIABLE
Global Variable Local Variable

Global variables are declared outside all the function blocks. Local Variables are declared within a function block.
The scope remains throughout the program. The scope is limited and remains within the function only in
which they are declared.
Any change in global variable affects the whole program, Any change in the local variable does not affect other functions
wherever it is being used. of the program.
A global variable exists in the program for the entire time the A local variable is created when the function is executed, and
program is executed. once the execution is finished, the variable is destroyed.
It can be accessed throughout the program by all the functions It can only be accessed by the function statements in which it is
present in the program. declared and not by the other functions.
If the global variable is not initialized, it takes zero by default. If the local variable is not initialized, it takes the garbage value by
default.
Global variables are stored in the data segment of memory. Local variables are stored in a stack in memory.
We cannot declare many variables with the same name. We can declare various variables with the same name but in
other functions.
#include<stdio.h>

// Global variables
int a;
int b;
int Add()
{

return a + b;
}

int Mul()

{
int c=10; //Local Variable
int d=20; ////Local Variable
return c*d;
}
void main()
{
int Ans1, Ans2, c=30;// Local variable
a = 50;
b = 70;

Ans1 = Add();
Ans2= Mul();

printf("The addition result is: %d\n",Ans1);


printf("The Multiplication result is: %d\n",Ans2);
printf("%d\n", c);
}
STATIC VARIABLE IN C

 A static variable possesses the property of preserving its actual value even after it is out of its scope.
Thus, the static variables are able to preserve their previous value according to their previous scope,
and onUse of the Static Variable keyworde doesn’t need to initialize them again in the case of a new
scope.
USE OF THE STATIC VARIABLE KEYWORD

 static Local Variable – When we declare a local variable with a static keyword, it is called a static
local variable. The static local variable’s memory stays valid throughout any program. But the scope
of the visibility of these variables is similar to that of the automatic local variables. But when the
static local variable gets modified by the function during the first function call, the modified value
here will also be available for the next function.

 Static Global Variable – When we declare a global variable with a static keyword, then it is called a
static global variable. This variable gets declared at the top of any program. Added to this, its visibility
stays throughout any program.

 Static Member Variables – When we declare the member variables with a static keyword in a class,
we call them static member variables. All the instances present in a class can easily access this type of
variables, and we don’t require a specific instance to do that.
EXAMPLE OF STATIC VARIABLE IN C

#include <stdio.h>
int main() { Output
The output generated here would be:
auto int x = -30; Value of the auto variable is : -30
static int y = 16; Value of the static variable y is : 16
Sum of the auto variable and static variable is : -18
printf(“Value of the given auto variable is : %d\n”, x);
printf(“Value of the given static variable y is : %d\n”,y);
if(x!=0)
printf(“Sum of the auto variable and static variable is : %d\n”,(x+y));
return 0;
}
WHAT IS MACRO AND PRE PROCESSOR

 The C preprocessor is a macro preprocessor (allows you to define macros) that transforms your
program before it is compiled. These transformations can be the inclusion of header files, macro
expansions, etc.
 All preprocessing directives begin with a # symbol. For example,
 #define PI 3.14
 #include <stdio.h> : The #include preprocessor is used to include header files to C programs.
 You can also create your own header file containing function declaration and include it in your
program using this preprocessor directive.
 #include "my_header.h"

You might also like