SlideShare ist ein Scribd-Unternehmen logo
1 von 35
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

Weitere ähnliche Inhalte

Was ist angesagt?

Prsentation on functions
Prsentation on functionsPrsentation on functions
Prsentation on functions
Alisha Korpal
 

Was ist angesagt? (20)

Prsentation on functions
Prsentation on functionsPrsentation on functions
Prsentation on functions
 
User Defined Functions
User Defined FunctionsUser Defined Functions
User Defined Functions
 
Pre defined Functions in C
Pre defined Functions in CPre defined Functions in C
Pre defined Functions in C
 
Function in c program
Function in c programFunction in c program
Function in c program
 
Function in c
Function in cFunction in c
Function in c
 
Function lecture
Function lectureFunction lecture
Function lecture
 
Lecture20 user definedfunctions.ppt
Lecture20 user definedfunctions.pptLecture20 user definedfunctions.ppt
Lecture20 user definedfunctions.ppt
 
Function in c
Function in cFunction in c
Function in c
 
C functions
C functionsC functions
C functions
 
Programming Fundamentals Functions in C and types
Programming Fundamentals  Functions in C  and typesProgramming Fundamentals  Functions in C  and types
Programming Fundamentals Functions in C and types
 
C function
C functionC function
C function
 
Functions in C
Functions in CFunctions in C
Functions in C
 
Function in c program
Function in c programFunction in c program
Function in c program
 
Presentation on function
Presentation on functionPresentation on function
Presentation on function
 
predefined and user defined functions
predefined and user defined functionspredefined and user defined functions
predefined and user defined functions
 
functions in C and types
functions in C and typesfunctions in C and types
functions in C and types
 
C and C++ functions
C and C++ functionsC and C++ functions
C and C++ functions
 
Functions in C++
Functions in C++Functions in C++
Functions in C++
 
Function in C Language
Function in C Language Function in C Language
Function in C Language
 
Recursive Function
Recursive FunctionRecursive Function
Recursive Function
 

Ähnlich wie Recursion in C

Dti2143 chapter 5
Dti2143 chapter 5Dti2143 chapter 5
Dti2143 chapter 5
alish sha
 

Ähnlich wie Recursion in C (20)

Dti2143 chapter 5
Dti2143 chapter 5Dti2143 chapter 5
Dti2143 chapter 5
 
function_v1.ppt
function_v1.pptfunction_v1.ppt
function_v1.ppt
 
function_v1.ppt
function_v1.pptfunction_v1.ppt
function_v1.ppt
 
Function
Function Function
Function
 
C Programming Language Part 7
C Programming Language Part 7C Programming Language Part 7
C Programming Language Part 7
 
UNIT3.pptx
UNIT3.pptxUNIT3.pptx
UNIT3.pptx
 
functionsinc-130108032745-phpapp01.pdf
functionsinc-130108032745-phpapp01.pdffunctionsinc-130108032745-phpapp01.pdf
functionsinc-130108032745-phpapp01.pdf
 
Functions
Functions Functions
Functions
 
Functionincprogram
FunctionincprogramFunctionincprogram
Functionincprogram
 
Unit 4 (1)
Unit 4 (1)Unit 4 (1)
Unit 4 (1)
 
Unit_5Functionspptx__2022_12_27_10_47_17 (1).pptx
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
 
functions
functionsfunctions
functions
 
Function
FunctionFunction
Function
 
unit3 part2 pcds function notes.pdf
unit3 part2 pcds function notes.pdfunit3 part2 pcds function notes.pdf
unit3 part2 pcds function notes.pdf
 
Functions struct&union
Functions struct&unionFunctions struct&union
Functions struct&union
 
Functions
FunctionsFunctions
Functions
 
Functions
FunctionsFunctions
Functions
 
Functions
FunctionsFunctions
Functions
 
unit_2.pptx
unit_2.pptxunit_2.pptx
unit_2.pptx
 
C functions list
C functions listC functions list
C functions list
 

Kürzlich hochgeladen

Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
KarakKing
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 

Kürzlich hochgeladen (20)

Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptx
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptxExploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
 
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptxCOMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Interdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxInterdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptx
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 

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