RECURSION IN C

V
FUNCTIONS IN C FUNCTIONS IN C FUNCTIONS IN C FUNCTIONS IN C FUNCTIONS IN C
FUNCTIONS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Library Functions User -defined Functions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],FUNCTIONS CLASSIFICATION OF FUNCTION
Problems encountered  when User-defined Functions  are not used ? ,[object Object],[object Object],[object Object],[object Object],[object Object]
Advantage of using  user-defined Functions   ,[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],Advantage of using  user-defined Functions   ,[object Object]
Method of Declaring and Defining a function   Classical Method ANSI (or) Modern Method ,[object Object],[object Object],[object Object],[object Object],Defining Function
FORMAT OF A C FUNCTION Function-name   ( Argument list ) argument declaration; { local variable declaration; executable statement 1; executable statement 2; . . . return  ( expression ); } (Function header ) (Function header ) (Function header ) (Function body )
RULES TO BE FOLLOWED IN NAMING A FUNCTION ,[object Object],[object Object],[object Object]
What is an argument list ? ,[object Object],[object Object],[object Object]
RETURN  STATEMENT A function may or may not send back any value to the calling function. If it sends back any value , it is done through the return statement. The return statement can return only one value to the calling function.   The return statement can take the following form :  Return ;  ( or )  return ( expression )   ;
Return;   This form does not return any value to the calling function. When a return statement is encountered the control is immediately passed back to the calling function. Return ( expression ); This form returns the value of the expression to the calling function. A function may have more than one return statements. This situation arises when the value returned is based on certain conditions.  RETURN STATEMENT
What data type is returned by a function ? ,[object Object],[object Object],[object Object],[object Object]
HANDLING  OF  NON-INTEGER FUNCTIONS In order to enable a calling function to receive a non-integer value from a called function : ,[object Object],Type - specifier   function- name   (  argument list  ) argument declaration  ; { function statements ;  /* body of the function */ }
HANDLING  OF  NON-INTEGER FUNCTIONS 2. The called function must be declared at the start of the body in the calling function, like any other variable. This is to inform the calling function about the type of data that the called function is returning. EXAMPLE
HOW TO CALL A FUNCTION ? A function can be called by simply using the function name in a statement. When the compiler encounters a function call, the control is transferred to the function.  The statements within the body of the function is executed line by line and the value is returned when a return statement is encountered.
A function which returns a value can be used in expression like any other variable. WHERE CAN A FUNCTION CALL APPEAR ? However, a function cannot be used on the left side of an assignment statement.  A function that does not return any value may not be used in expressions, but can be called to perform certain tasks specified in the function.
EXAMPLE OF FUNCTION : ( CLASSIC Method) void main ( ) { int num1, num2 , sum ; sum  =  add  (  num1 , num2 ) ; printf ( “ %d ” , sum ) ; } Function header Body of the function Argument declaration Function call add ( a , b ) int a , b ; { return ( a + b ) ; }
EXAMPLE OF FUNCTION : (  ANSI  Method ) void main ( ) { int num1, num2 , sum ; sum  =  add  (  num1 , num2 )  ; printf ( “ %d ” , sum ) ; } add ( int a , int b ) { return ( a + b ) ; } Function header Body of the function Argument declaration Function call
EXAMPLE OF FUNCTION : (CLASSIC Method) void main ( ) { int num1 ; float num2 , sum ,add(int, float ); sum  =  add  (  num1 , num2 )  ; printf ( “ %f ” , sum ) ; } float add ( a , b ) int a  ; float b ; { return ( a + b ) ; } Function header Body of the function Argument declaration Function call
EXAMPLE OF FUNCTION : ( ANSI Method ) void  main ( ) { int num1 ; float num2 , sum , add ( int , float )  ; sum  =  add  (  num1 , num2 )  ; printf ( “ %f ” , sum ) ; } float add ( int a , float b ) { return ( a + b ) ; } Function header Body of the function Function call
CATEGORY OF FUNCTIONS ,[object Object],[object Object],[object Object]
Function with no argument & no return values void  main ( ) { void printwel( ); printwel ( ) ; } void printwel ( )  { int i ; for ( i = 1; i < = 5 ; i + + ) printf  ( “ n  WELCOME” ) ; } Function header Body of the function Function call Argument declaration
Function with argument & no return values void  main ( ) { int num1, num2  ; void  add  ( int , int )  ; add  (  num1 , num2 )  ; } void  add ( int a , int b ) { int sum ; sum =  a + b  ; printf (“ n SUM OF %d  AND %d IS =  %d”, a, b, sum ); } Function header Body of the function Function call Argument declaration
Function with arguments & return values void  main ( ) { int num1 ; float num2 , sum , add ( ) ; sum  =  add  (  num1 , num2 )  ; printf ( “ %f ” , sum ) ; } float add ( a , b ) int a ; float b ; { return ( a + b ) ; } Function header Body of the function Function call Argument declaration
NESTING OF FUNCTIONS void main ( ) { int m1=10, m2=20, m3=30; int m4=40, m5=50; void sum (int, int, int, int, int ); sum (m1, m2, m3, m4, m5 ); } void sum ( s1, s2, s3, s4, s4) int s1, s2, s3, s4, s5 ; { void avg (float ); float total; total = s1 + s2 + s3 + s4 + s5 ; avg ( total ); } void avg ( tot) float tot; { float average; average = tot / 5 ; printf ( “  The average is %f “, average); }
RECURSION When a called function in turn calls another function a process of chaining occurs. Recursion is a special case of this process, where a function calls itself. Example : void main ( )   { printf ( “  This is an example of recursion”); main ( ) ;  } Recursive function call
factorial (  n  )  int n ; { int fact ; if ( n = = 1 ) return ( 1 ) ; else  fact = n *   factorial ( n - 1 )  ; return ( fact ) ; } void main( ) { int num ; num_fact  = factorial ( num ) ; printf ( “ Factorial is % d”,num); } FACTORIAL OF A GIVEN NUMBER USING RECURSION
void main( ) { int  num  = 5 ; int num_fact  = 0 ;  num_fact   =  factorial ( 5 )  ; printf ( “ Factorial is % d”, num_fact ); } num 5 TO FIND FACTORIAL OF A GIVEN NUMBER  5  num_fact 0 num_fact 1 2 0
factorial ( 5 )  int n ; { int fact ; if ( 5 = = 1 ) return ( 1 ) ; else  fact =  5  *  factorial ( 5 - 1 )   ; return ( fact  )  ; } 120 fact 1 2 0
factorial ( 4 )  int n ; { int fact ; if ( 4 = = 1 ) return ( 1 ) ; else  fact =  4  *     factorial ( 4 - 1 )  ; return ( fact )  ; } 24 fact 2 4
factorial ( 3 )  int n ; { int fact ; if ( 3 = = 1 ) return ( 1 ) ; else  fact = 3 *   factorial ( 3 - 1 )  ; return ( fact ) ; } 6 fact 6
factorial ( 2 )  int n ; { int fact ; if ( 2 = = 1 ) return ( 1 ) ; else  fact = 2  *  factorial ( 2 - 1 )   ; return ( fact )  ; } 2 fact 2
factorial ( 1 )  int n ; { int fact ; if ( 1 = = 1 ) return ( 1 )  ; else  fact = n  *  factorial ( n - 1 )   ; return ( fact ) ; } fact 1
THANK YOU M.O.P. VAISHNAV COLLEGE FOR WOMEN CHENNAI - 34 DATE : 1/10/2001 Presented by A. ANGAYARKANNI Dept. of Computer Science
1 von 35

Recomendados

Control statements in c von
Control statements in cControl statements in c
Control statements in cSathish Narayanan
16.7K views39 Folien
Functions in C von
Functions in CFunctions in C
Functions in CKamal Acharya
25.2K views22 Folien
C functions von
C functionsC functions
C functionsUniversity of Potsdam
9.9K views32 Folien
C Programming: Control Structure von
C Programming: Control StructureC Programming: Control Structure
C Programming: Control StructureSokngim Sa
14.1K views46 Folien
Recursion in c von
Recursion in cRecursion in c
Recursion in cSaket Pathak
4K views27 Folien
Constants in C Programming von
Constants in C ProgrammingConstants in C Programming
Constants in C Programmingprogramming9
6.3K views11 Folien

Más contenido relacionado

Was ist angesagt?

Recursive Function von
Recursive FunctionRecursive Function
Recursive FunctionHarsh Pathak
6.9K views8 Folien
Variables in C Programming von
Variables in C ProgrammingVariables in C Programming
Variables in C Programmingprogramming9
9.1K views7 Folien
Functions in c language von
Functions in c language Functions in c language
Functions in c language tanmaymodi4
2.6K views30 Folien
User defined functions in C programmig von
User defined functions in C programmigUser defined functions in C programmig
User defined functions in C programmigAppili Vamsi Krishna
13K views88 Folien
Structure of a C program von
Structure of a C programStructure of a C program
Structure of a C programDavid Livingston J
22.4K views16 Folien
Presentation on Function in C Programming von
Presentation on Function in C ProgrammingPresentation on Function in C Programming
Presentation on Function in C ProgrammingShuvongkor Barman
14.6K views17 Folien

Was ist angesagt?(20)

Variables in C Programming von programming9
Variables in C ProgrammingVariables in C Programming
Variables in C Programming
programming99.1K views
Functions in c language von tanmaymodi4
Functions in c language Functions in c language
Functions in c language
tanmaymodi42.6K views
Presentation on Function in C Programming von Shuvongkor Barman
Presentation on Function in C ProgrammingPresentation on Function in C Programming
Presentation on Function in C Programming
Shuvongkor Barman14.6K views
Inline function von Tech_MX
Inline functionInline function
Inline function
Tech_MX14.3K views
Type casting in c programming von Rumman Ansari
Type casting in c programmingType casting in c programming
Type casting in c programming
Rumman Ansari4.4K views
Operators in C Programming von programming9
Operators in C ProgrammingOperators in C Programming
Operators in C Programming
programming937.9K views
User defined functions in C von Harendra Singh
User defined functions in CUser defined functions in C
User defined functions in C
Harendra Singh17.1K views
Call by value von Dharani G
Call by valueCall by value
Call by value
Dharani G8.7K views
FUNCTIONS IN c++ PPT von 03062679929
FUNCTIONS IN c++ PPTFUNCTIONS IN c++ PPT
FUNCTIONS IN c++ PPT
0306267992925.3K views

Similar a RECURSION IN C

Dti2143 chapter 5 von
Dti2143 chapter 5Dti2143 chapter 5
Dti2143 chapter 5alish sha
736 views38 Folien
function_v1.ppt von
function_v1.pptfunction_v1.ppt
function_v1.pptssuser823678
12 views33 Folien
Function in c von
Function in cFunction in c
Function in cRaj Tandukar
6.8K views22 Folien
Function in c von
Function in cFunction in c
Function in cCGC Technical campus,Mohali
658 views22 Folien
Function von
Function Function
Function Kathmandu University
101 views56 Folien
C Programming Language Part 7 von
C Programming Language Part 7C Programming Language Part 7
C Programming Language Part 7Rumman Ansari
465 views23 Folien

Similar a RECURSION IN C (20)

Dti2143 chapter 5 von alish sha
Dti2143 chapter 5Dti2143 chapter 5
Dti2143 chapter 5
alish sha736 views
C Programming Language Part 7 von Rumman Ansari
C Programming Language Part 7C Programming Language Part 7
C Programming Language Part 7
Rumman Ansari465 views
functionsinc-130108032745-phpapp01.pdf von mounikanarra3
functionsinc-130108032745-phpapp01.pdffunctionsinc-130108032745-phpapp01.pdf
functionsinc-130108032745-phpapp01.pdf
mounikanarra31 view
Unit_5Functionspptx__2022_12_27_10_47_17 (1).pptx von vekariyakashyap
Unit_5Functionspptx__2022_12_27_10_47_17 (1).pptxUnit_5Functionspptx__2022_12_27_10_47_17 (1).pptx
Unit_5Functionspptx__2022_12_27_10_47_17 (1).pptx
vekariyakashyap13 views
Function in c program von umesh patil
Function in c programFunction in c program
Function in c program
umesh patil1.3K views

Último

How to empty an One2many field in Odoo von
How to empty an One2many field in OdooHow to empty an One2many field in Odoo
How to empty an One2many field in OdooCeline George
97 views8 Folien
Collective Bargaining and Understanding a Teacher Contract(16793704.1).pptx von
Collective Bargaining and Understanding a Teacher Contract(16793704.1).pptxCollective Bargaining and Understanding a Teacher Contract(16793704.1).pptx
Collective Bargaining and Understanding a Teacher Contract(16793704.1).pptxCenter for Integrated Training & Education
96 views57 Folien
REPRESENTATION - GAUNTLET.pptx von
REPRESENTATION - GAUNTLET.pptxREPRESENTATION - GAUNTLET.pptx
REPRESENTATION - GAUNTLET.pptxiammrhaywood
151 views26 Folien
UNIDAD 3 6º C.MEDIO.pptx von
UNIDAD 3 6º C.MEDIO.pptxUNIDAD 3 6º C.MEDIO.pptx
UNIDAD 3 6º C.MEDIO.pptxMarcosRodriguezUcedo
139 views32 Folien
The Accursed House by Émile Gaboriau von
The Accursed House  by Émile GaboriauThe Accursed House  by Émile Gaboriau
The Accursed House by Émile GaboriauDivyaSheta
234 views15 Folien
Gopal Chakraborty Memorial Quiz 2.0 Prelims.pptx von
Gopal Chakraborty Memorial Quiz 2.0 Prelims.pptxGopal Chakraborty Memorial Quiz 2.0 Prelims.pptx
Gopal Chakraborty Memorial Quiz 2.0 Prelims.pptxDebapriya Chakraborty
709 views81 Folien

Último(20)

How to empty an One2many field in Odoo von Celine George
How to empty an One2many field in OdooHow to empty an One2many field in Odoo
How to empty an One2many field in Odoo
Celine George97 views
REPRESENTATION - GAUNTLET.pptx von iammrhaywood
REPRESENTATION - GAUNTLET.pptxREPRESENTATION - GAUNTLET.pptx
REPRESENTATION - GAUNTLET.pptx
iammrhaywood151 views
The Accursed House by Émile Gaboriau von DivyaSheta
The Accursed House  by Émile GaboriauThe Accursed House  by Émile Gaboriau
The Accursed House by Émile Gaboriau
DivyaSheta234 views
EILO EXCURSION PROGRAMME 2023 von info33492
EILO EXCURSION PROGRAMME 2023EILO EXCURSION PROGRAMME 2023
EILO EXCURSION PROGRAMME 2023
info33492124 views
EIT-Digital_Spohrer_AI_Intro 20231128 v1.pptx von ISSIP
EIT-Digital_Spohrer_AI_Intro 20231128 v1.pptxEIT-Digital_Spohrer_AI_Intro 20231128 v1.pptx
EIT-Digital_Spohrer_AI_Intro 20231128 v1.pptx
ISSIP407 views
Relationship of psychology with other subjects. von palswagata2003
Relationship of psychology with other subjects.Relationship of psychology with other subjects.
Relationship of psychology with other subjects.
palswagata200377 views
Create a Structure in VBNet.pptx von Breach_P
Create a Structure in VBNet.pptxCreate a Structure in VBNet.pptx
Create a Structure in VBNet.pptx
Breach_P80 views
GCSE Geography von WestHatch
GCSE GeographyGCSE Geography
GCSE Geography
WestHatch47 views
Retail Store Scavenger Hunt.pptx von jmurphy154
Retail Store Scavenger Hunt.pptxRetail Store Scavenger Hunt.pptx
Retail Store Scavenger Hunt.pptx
jmurphy15447 views
CUNY IT Picciano.pptx von apicciano
CUNY IT Picciano.pptxCUNY IT Picciano.pptx
CUNY IT Picciano.pptx
apicciano56 views
Monthly Information Session for MV Asterix (November) von Esquimalt MFRC
Monthly Information Session for MV Asterix (November)Monthly Information Session for MV Asterix (November)
Monthly Information Session for MV Asterix (November)
Esquimalt MFRC91 views

RECURSION IN C

  • 1. FUNCTIONS IN C FUNCTIONS IN C FUNCTIONS IN C FUNCTIONS IN C FUNCTIONS IN C
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8. FORMAT OF A C FUNCTION Function-name ( Argument list ) argument declaration; { local variable declaration; executable statement 1; executable statement 2; . . . return ( expression ); } (Function header ) (Function header ) (Function header ) (Function body )
  • 9.
  • 10.
  • 11. RETURN STATEMENT A function may or may not send back any value to the calling function. If it sends back any value , it is done through the return statement. The return statement can return only one value to the calling function. The return statement can take the following form : Return ; ( or ) return ( expression ) ;
  • 12. Return; This form does not return any value to the calling function. When a return statement is encountered the control is immediately passed back to the calling function. Return ( expression ); This form returns the value of the expression to the calling function. A function may have more than one return statements. This situation arises when the value returned is based on certain conditions. RETURN STATEMENT
  • 13.
  • 14.
  • 15. HANDLING OF NON-INTEGER FUNCTIONS 2. The called function must be declared at the start of the body in the calling function, like any other variable. This is to inform the calling function about the type of data that the called function is returning. EXAMPLE
  • 16. HOW TO CALL A FUNCTION ? A function can be called by simply using the function name in a statement. When the compiler encounters a function call, the control is transferred to the function. The statements within the body of the function is executed line by line and the value is returned when a return statement is encountered.
  • 17. A function which returns a value can be used in expression like any other variable. WHERE CAN A FUNCTION CALL APPEAR ? However, a function cannot be used on the left side of an assignment statement. A function that does not return any value may not be used in expressions, but can be called to perform certain tasks specified in the function.
  • 18. EXAMPLE OF FUNCTION : ( CLASSIC Method) void main ( ) { int num1, num2 , sum ; sum = add ( num1 , num2 ) ; printf ( “ %d ” , sum ) ; } Function header Body of the function Argument declaration Function call add ( a , b ) int a , b ; { return ( a + b ) ; }
  • 19. EXAMPLE OF FUNCTION : ( ANSI Method ) void main ( ) { int num1, num2 , sum ; sum = add ( num1 , num2 ) ; printf ( “ %d ” , sum ) ; } add ( int a , int b ) { return ( a + b ) ; } Function header Body of the function Argument declaration Function call
  • 20. EXAMPLE OF FUNCTION : (CLASSIC Method) void main ( ) { int num1 ; float num2 , sum ,add(int, float ); sum = add ( num1 , num2 ) ; printf ( “ %f ” , sum ) ; } float add ( a , b ) int a ; float b ; { return ( a + b ) ; } Function header Body of the function Argument declaration Function call
  • 21. EXAMPLE OF FUNCTION : ( ANSI Method ) void main ( ) { int num1 ; float num2 , sum , add ( int , float ) ; sum = add ( num1 , num2 ) ; printf ( “ %f ” , sum ) ; } float add ( int a , float b ) { return ( a + b ) ; } Function header Body of the function Function call
  • 22.
  • 23. Function with no argument & no return values void main ( ) { void printwel( ); printwel ( ) ; } void printwel ( ) { int i ; for ( i = 1; i < = 5 ; i + + ) printf ( “ n WELCOME” ) ; } Function header Body of the function Function call Argument declaration
  • 24. Function with argument & no return values void main ( ) { int num1, num2 ; void add ( int , int ) ; add ( num1 , num2 ) ; } void add ( int a , int b ) { int sum ; sum = a + b ; printf (“ n SUM OF %d AND %d IS = %d”, a, b, sum ); } Function header Body of the function Function call Argument declaration
  • 25. Function with arguments & return values void main ( ) { int num1 ; float num2 , sum , add ( ) ; sum = add ( num1 , num2 ) ; printf ( “ %f ” , sum ) ; } float add ( a , b ) int a ; float b ; { return ( a + b ) ; } Function header Body of the function Function call Argument declaration
  • 26. NESTING OF FUNCTIONS void main ( ) { int m1=10, m2=20, m3=30; int m4=40, m5=50; void sum (int, int, int, int, int ); sum (m1, m2, m3, m4, m5 ); } void sum ( s1, s2, s3, s4, s4) int s1, s2, s3, s4, s5 ; { void avg (float ); float total; total = s1 + s2 + s3 + s4 + s5 ; avg ( total ); } void avg ( tot) float tot; { float average; average = tot / 5 ; printf ( “ The average is %f “, average); }
  • 27. RECURSION When a called function in turn calls another function a process of chaining occurs. Recursion is a special case of this process, where a function calls itself. Example : void main ( ) { printf ( “ This is an example of recursion”); main ( ) ; } Recursive function call
  • 28. factorial ( n ) int n ; { int fact ; if ( n = = 1 ) return ( 1 ) ; else fact = n * factorial ( n - 1 ) ; return ( fact ) ; } void main( ) { int num ; num_fact = factorial ( num ) ; printf ( “ Factorial is % d”,num); } FACTORIAL OF A GIVEN NUMBER USING RECURSION
  • 29. void main( ) { int num = 5 ; int num_fact = 0 ; num_fact = factorial ( 5 ) ; printf ( “ Factorial is % d”, num_fact ); } num 5 TO FIND FACTORIAL OF A GIVEN NUMBER 5 num_fact 0 num_fact 1 2 0
  • 30. factorial ( 5 ) int n ; { int fact ; if ( 5 = = 1 ) return ( 1 ) ; else fact = 5 * factorial ( 5 - 1 ) ; return ( fact ) ; } 120 fact 1 2 0
  • 31. factorial ( 4 ) int n ; { int fact ; if ( 4 = = 1 ) return ( 1 ) ; else fact = 4 * factorial ( 4 - 1 ) ; return ( fact ) ; } 24 fact 2 4
  • 32. factorial ( 3 ) int n ; { int fact ; if ( 3 = = 1 ) return ( 1 ) ; else fact = 3 * factorial ( 3 - 1 ) ; return ( fact ) ; } 6 fact 6
  • 33. factorial ( 2 ) int n ; { int fact ; if ( 2 = = 1 ) return ( 1 ) ; else fact = 2 * factorial ( 2 - 1 ) ; return ( fact ) ; } 2 fact 2
  • 34. factorial ( 1 ) int n ; { int fact ; if ( 1 = = 1 ) return ( 1 ) ; else fact = n * factorial ( n - 1 ) ; return ( fact ) ; } fact 1
  • 35. THANK YOU M.O.P. VAISHNAV COLLEGE FOR WOMEN CHENNAI - 34 DATE : 1/10/2001 Presented by A. ANGAYARKANNI Dept. of Computer Science