SlideShare a Scribd company logo
2
A large program in c can be divided to many subprogram

The subprogram posses a self contain components and have well define purpose.

The subprogram is called as a function

Basically a job of function is to do something

C program contain at least one function which is main().

                                Classification of Function



                          User define                   Library
                           function                    function

                           - main()                    -printf()
                                                       -scanf()
                                                       -pow()
                                                       -ceil()
Most read
5
C program doesn't execute the statement in function until the function is called.

When function is called the program can send the function information in the form of one
or more argument.

When the function is used it is referred to as the called function

Functions often use data that is passed to them from the calling function

Data is passed from the calling function to a called function by specifying the variables in
a argument list.

Argument list cannot be used to send data. Its only copy data/value/variable that pass
from the calling function.

The called function then performs its operation using the copies.
Most read
12
A function with no arguments and a return value
      Does not get any value from the calling function

      Can give a return value to calling program
  #include <stdio.h>                                 Enter a no: 46
  #include <conio.h>
  int send();
                                                     You entered : 46.
  void main()
  {
    int z;
    z=send();
    printf("nYou entered : %d.",z);
    getch();
  }

  int send()
  {
     int no1;
     printf("Enter a no: ");
     scanf("%d",&no1);
     return(no1);
  }
Most read
Function in C program
A large program in c can be divided to many subprogram

The subprogram posses a self contain components and have well define purpose.

The subprogram is called as a function

Basically a job of function is to do something

C program contain at least one function which is main().

                                Classification of Function



                          User define                   Library
                           function                    function

                           - main()                    -printf()
                                                       -scanf()
                                                       -pow()
                                                       -ceil()
It is much easier to write a structured program where a large program can be divided into a
smaller, simpler task.

Allowing the code to be called many times

Easier to read and update

It is easier to debug a structured program where there error is easy to find and fix
1: #include <stdio.h>            Arguments/formal parameter     Function names is cube
2:                                                              Variable that are requires is
3: long cube(long x);                                            long
4:                        Return data type                      The variable to be passed on
5: long input, answer;                                           is X(has single arguments)—
6:                                                               value can be passed to
7: int main( void )                                              function so it can perform the
8: {                                                             specific task. It is called
                                           Actual parameters
9: printf(“Enter an integer value: ”);
10: scanf(“%d”, &input);
11: answer = cube(input);
12: printf(“nThe cube of %ld is %ld.n”, input, answer);
13:                                                              Output
14: return 0;
15: }                                                            Enter an integer value:4
16:
17: long cube(long x)
18: {                                                            The cube of 4 is 64.
19: long x_cubed;
20:
21: x_cubed = x * x * x;
22: return x_cubed;
23: }
C program doesn't execute the statement in function until the function is called.

When function is called the program can send the function information in the form of one
or more argument.

When the function is used it is referred to as the called function

Functions often use data that is passed to them from the calling function

Data is passed from the calling function to a called function by specifying the variables in
a argument list.

Argument list cannot be used to send data. Its only copy data/value/variable that pass
from the calling function.

The called function then performs its operation using the copies.
Provides the compiler with the description of functions that will be used later in the
  program
  Its define the function before it been used/called

  Function prototypes need to be written at the beginning of the program.


  The function prototype must have :

         A return type indicating the variable that the function will be return

Syntax for Function Prototype

return-type function_name( arg-type name-1,...,arg-type name-n);


Function Prototype Examples

          double squared( double number );
          void print_report( int report_number );
          int get_menu_choice( void);
It is the actual function that contains the code that will be execute.

   Should be identical to the function prototype.

Syntax of Function Definition
return-type function_name( arg-type name-1,...,arg-type name-n) ---- Function header

{
declarations;
statements;                                       Function Body
return(expression);
}
Function Definition Examples

     float conversion (float celsius)
      {
          float fahrenheit;
          fahrenheit = celcius*33.8
          return fahrenheit;
       }


The function name‟s is conversion

This function accepts arguments celcius of the type float. The function return a float value.

So, when this function is called in the program, it will perform its task which is to convert
fahrenheit by multiply celcius with 33.8 and return the result of the summation.

Note that if the function is returning a value, it needs to use the keyword return.
Can be any of C‟s data type:
        char
        int
        float
        long………

Examples:

int func1(...)     /* Returns a type int. */
float func2(...)     /* Returns a type float. */
void func3(...)      /* Returns nothing.     */
Function can be divided into 4 categories:

A function with no arguments and no return value
A function with no arguments and a return value
A function with an argument or arguments and returning no value
A function with arguments and returning a values
A function with no arguments and no return value
    Called function does not have any arguments

    Not able to get any value from the calling function

    Not returning any value

    There is no data transfer between the calling function and called function.
     #include<stdio.h>
     #include<conio.h>
     void printline();

     void main()
     {
       printf("Welcome to function in C");
       printline();
       printf("Function easy to learn.");
       printline();
       getch();
     }

     void printline()
     {
       int i;
       printf("n");
       for(i=0;i<30;i++)
       {      printf("-");   }
       printf("n");
     }
A function with no arguments and a return value
      Does not get any value from the calling function

      Can give a return value to calling program
  #include <stdio.h>                                 Enter a no: 46
  #include <conio.h>
  int send();
                                                     You entered : 46.
  void main()
  {
    int z;
    z=send();
    printf("nYou entered : %d.",z);
    getch();
  }

  int send()
  {
     int no1;
     printf("Enter a no: ");
     scanf("%d",&no1);
     return(no1);
  }
A function with an argument or arguments and returning no
value
    A function has argument/s

    A calling function can pass values to function called , but calling function not receive
    any value

    Data is transferred from calling function to the called function but no data is
    transferred from the called function to the calling function

    Generally Output is printed in the Called function

    A function that does not return any value cannot be used in an expression it can be
    used only as independent statement.
#include<stdio.h>
#include<conio.h>
void add(int x, int y);

void main()
{
  add(30,15);
  add(63,49);
  add(952,321);
  getch();
}

void add(int x, int y)
{
  int result;
  result = x+y;
  printf("Sum of %d and %d is %d.nn",x,y,result);
}
A function with arguments and returning a values
    Argument are passed by calling function to the called function

    Called function return value to the calling function

    Mostly used in programming because it can two way communication

    Data returned by the function can be used later in our program for further calculation.
#include <stdio.h>                          Result 85.
#include <conio.h>
int add(int x,int y);                       Result 1273.
void main()
                                            Send 2 integer value x and y to add()
{                                           Function add the two values and send
    int z;                                  back the result to the calling function

    z=add(952,321);                         int is the return type of function

    printf("Result %d. nn",add(30,55));   Return statement is a keyword and in
    printf("Result %d.nn",z);             bracket we can give values which we
                                            want to return.
    getch();
}
int add(int x,int y)

{
    int result;
    result = x + y;
    return(result);
}
Variable that declared occupies a memory according to it size

It has address for the location so it can be referred later by CPU for manipulation

The „*‟ and „&‟ Operator

Int x= 10
                    x               Memory location name
                    10              Value at memory location
                  76858             Memory location address


We can use the address which also point the same value.
#include <stdio.h>
#include <conio.h>


void main()

{
    int i=9;
                                      & show the address of the variable
    printf("Value of i : %dn",i);
    printf("Adress of i %dn", &i);

    getch();
}
#include <stdio.h>
#include <conio.h>


void main()

{
    int i=9;
                                                  * Symbols called the value at the address
    printf("Value of i : %dn",i);
    printf("Address of i %dn", &i);
    printf("Value at address of i: %d", *(&i));

    getch();
}
#include <stdio.h>
#include <conio.h>                                    int Value(int x)
                                                      {
int Value (int x);                                       x = 1;
int Reference (int *x);                               }
                                                      int Reference(int *x)
int main()                                            {
                                                         *x = 1;
{                                                     }
 int Batu_Pahat = 2;
 int Langkawi = 2;

Value(Batu_Pahat);
Reference(&Langkawi);

    printf("Batu_Pahat is number %dn",Batu_Pahat);
    printf("Langkawi is number %d",Langkawi);
}


Pass by reference
You pass the variable address
Give the function direct access to the variable
The variable can be modified inside the function
#include <stdio.h>
#include <conio.h>
void callByValue(int, int);
void callByReference(int *, int *);


int main()
{
   int x=10, y =20;
   printf("Value of x = %d and y = %d. n",x,y);

    printf("nCAll By Value function call...n");
    callByValue(x,y);
    printf("nValue of x = %d and y = %d.n", x,y);

    printf("nCAll By Reference function call...n");
    callByReference(&x,&y);
    printf("Value of x = %d and y = %d.n", x,y);

    getch();
    return 0;
}
void callByValue(int x, int y)

{
    int temp;
    temp=x;
    x=y;
    y=temp;

    printf("nValue of x = %d and y = %d inside callByValue function",x,y);
}

void callByReference(int *x, int *y)

{
    int temp;
    temp=*x;
    *x=*y;
    *y=temp;

}
Function in C program

More Related Content

What's hot (20)

07. Virtual Functions
07. Virtual Functions07. Virtual Functions
07. Virtual Functions
Haresh Jaiswal
 
Call by value
Call by valueCall by value
Call by value
Dharani G
 
Structure in C
Structure in CStructure in C
Structure in C
Kamal Acharya
 
Pointers in c++
Pointers in c++Pointers in c++
Pointers in c++
Vineeta Garg
 
Pointer in c
Pointer in cPointer in c
Pointer in c
lavanya marichamy
 
Presentation on array
Presentation on array Presentation on array
Presentation on array
topu93
 
File handling in c
File handling in cFile handling in c
File handling in c
David Livingston J
 
Pointers in C Programming
Pointers in C ProgrammingPointers in C Programming
Pointers in C Programming
Jasleen Kaur (Chandigarh University)
 
Object Oriented Programming Using C++
Object Oriented Programming Using C++Object Oriented Programming Using C++
Object Oriented Programming Using C++
Muhammad Waqas
 
Inheritance in c++
Inheritance in c++Inheritance in c++
Inheritance in c++
Vineeta Garg
 
Strings in C
Strings in CStrings in C
Strings in C
Kamal Acharya
 
Structure of a C program
Structure of a C programStructure of a C program
Structure of a C program
David Livingston J
 
Strings in C language
Strings in C languageStrings in C language
Strings in C language
P M Patil
 
Decision making statements in C programming
Decision making statements in C programmingDecision making statements in C programming
Decision making statements in C programming
Rabin BK
 
Conditional Statement in C Language
Conditional Statement in C LanguageConditional Statement in C Language
Conditional Statement in C Language
Shaina Arora
 
Python Functions
Python   FunctionsPython   Functions
Python Functions
Mohammed Sikander
 
Data Types and Variables In C Programming
Data Types and Variables In C ProgrammingData Types and Variables In C Programming
Data Types and Variables In C Programming
Kamal Acharya
 
Object oriented programming c++
Object oriented programming c++Object oriented programming c++
Object oriented programming c++
Ankur Pandey
 
Array ppt
Array pptArray ppt
Array ppt
Kaushal Mehta
 
C tokens
C tokensC tokens
C tokens
Manu1325
 
Call by value
Call by valueCall by value
Call by value
Dharani G
 
Presentation on array
Presentation on array Presentation on array
Presentation on array
topu93
 
Object Oriented Programming Using C++
Object Oriented Programming Using C++Object Oriented Programming Using C++
Object Oriented Programming Using C++
Muhammad Waqas
 
Inheritance in c++
Inheritance in c++Inheritance in c++
Inheritance in c++
Vineeta Garg
 
Strings in C language
Strings in C languageStrings in C language
Strings in C language
P M Patil
 
Decision making statements in C programming
Decision making statements in C programmingDecision making statements in C programming
Decision making statements in C programming
Rabin BK
 
Conditional Statement in C Language
Conditional Statement in C LanguageConditional Statement in C Language
Conditional Statement in C Language
Shaina Arora
 
Data Types and Variables In C Programming
Data Types and Variables In C ProgrammingData Types and Variables In C Programming
Data Types and Variables In C Programming
Kamal Acharya
 
Object oriented programming c++
Object oriented programming c++Object oriented programming c++
Object oriented programming c++
Ankur Pandey
 

Viewers also liked (12)

PPt on Functions
PPt on FunctionsPPt on Functions
PPt on Functions
coolhanddav
 
Lecture20 user definedfunctions.ppt
Lecture20 user definedfunctions.pptLecture20 user definedfunctions.ppt
Lecture20 user definedfunctions.ppt
eShikshak
 
Function in C Language
Function in C Language Function in C Language
Function in C Language
programmings guru
 
Presentation on function
Presentation on functionPresentation on function
Presentation on function
Abu Zaman
 
Loops Basics
Loops BasicsLoops Basics
Loops Basics
Mushiii
 
Function in C
Function in CFunction in C
Function in C
Dr. Abhineet Anand
 
user defined function
user defined functionuser defined function
user defined function
King Kavin Patel
 
Function in c
Function in cFunction in c
Function in c
Raj Tandukar
 
Loops in C
Loops in CLoops in C
Loops in C
Kamal Acharya
 
Loops in C Programming
Loops in C ProgrammingLoops in C Programming
Loops in C Programming
Himanshu Negi
 
String c
String cString c
String c
thirumalaikumar3
 
String in c
String in cString in c
String in c
Suneel Dogra
 
Ad

Similar to Function in C program (20)

C function
C functionC function
C function
thirumalaikumar3
 
Function in c program
Function in c programFunction in c program
Function in c program
umesh patil
 
Fundamentals of functions in C program.pptx
Fundamentals of functions in C program.pptxFundamentals of functions in C program.pptx
Fundamentals of functions in C program.pptx
Dr. Chandrakant Divate
 
Functionincprogram
FunctionincprogramFunctionincprogram
Functionincprogram
Sampath Kumar
 
Functions struct&union
Functions struct&unionFunctions struct&union
Functions struct&union
UMA PARAMESWARI
 
CHAPTER 6
CHAPTER 6CHAPTER 6
CHAPTER 6
mohd_mizan
 
Functions and pointers_unit_4
Functions and pointers_unit_4Functions and pointers_unit_4
Functions and pointers_unit_4
MKalpanaDevi
 
Function in c
Function in cFunction in c
Function in c
CGC Technical campus,Mohali
 
Functions and pointers_unit_4
Functions and pointers_unit_4Functions and pointers_unit_4
Functions and pointers_unit_4
Saranya saran
 
1. DSA - Introduction.pptx
1. DSA - Introduction.pptx1. DSA - Introduction.pptx
1. DSA - Introduction.pptx
hara69
 
Array Cont
Array ContArray Cont
Array Cont
Ashutosh Srivasatava
 
Unit 4 (1)
Unit 4 (1)Unit 4 (1)
Unit 4 (1)
psaravanan1985
 
function_v1.ppt
function_v1.pptfunction_v1.ppt
function_v1.ppt
ssuser823678
 
function_v1.ppt
function_v1.pptfunction_v1.ppt
function_v1.ppt
ssuser2076d9
 
UNIT3.pptx
UNIT3.pptxUNIT3.pptx
UNIT3.pptx
NagasaiT
 
functionsamplejfjfjfjfjfhjfjfhjfgjfg_v1.ppt
functionsamplejfjfjfjfjfhjfjfhjfgjfg_v1.pptfunctionsamplejfjfjfjfjfhjfjfhjfgjfg_v1.ppt
functionsamplejfjfjfjfjfhjfjfhjfgjfg_v1.ppt
RoselinLourd
 
luckfuckfunctioneekefkfejewnfiwnfnenf.pptx
luckfuckfunctioneekefkfejewnfiwnfnenf.pptxluckfuckfunctioneekefkfejewnfiwnfnenf.pptx
luckfuckfunctioneekefkfejewnfiwnfnenf.pptx
TriggeredZulkar
 
function_v1fgdfdf5645ythyth6ythythgbg.ppt
function_v1fgdfdf5645ythyth6ythythgbg.pptfunction_v1fgdfdf5645ythyth6ythythgbg.ppt
function_v1fgdfdf5645ythyth6ythythgbg.ppt
RoselinLourd
 
Types of function call
Types of function callTypes of function call
Types of function call
ArijitDhali
 
Function
FunctionFunction
Function
mshoaib15
 
Function in c program
Function in c programFunction in c program
Function in c program
umesh patil
 
Fundamentals of functions in C program.pptx
Fundamentals of functions in C program.pptxFundamentals of functions in C program.pptx
Fundamentals of functions in C program.pptx
Dr. Chandrakant Divate
 
Functions and pointers_unit_4
Functions and pointers_unit_4Functions and pointers_unit_4
Functions and pointers_unit_4
MKalpanaDevi
 
Functions and pointers_unit_4
Functions and pointers_unit_4Functions and pointers_unit_4
Functions and pointers_unit_4
Saranya saran
 
1. DSA - Introduction.pptx
1. DSA - Introduction.pptx1. DSA - Introduction.pptx
1. DSA - Introduction.pptx
hara69
 
UNIT3.pptx
UNIT3.pptxUNIT3.pptx
UNIT3.pptx
NagasaiT
 
functionsamplejfjfjfjfjfhjfjfhjfgjfg_v1.ppt
functionsamplejfjfjfjfjfhjfjfhjfgjfg_v1.pptfunctionsamplejfjfjfjfjfhjfjfhjfgjfg_v1.ppt
functionsamplejfjfjfjfjfhjfjfhjfgjfg_v1.ppt
RoselinLourd
 
luckfuckfunctioneekefkfejewnfiwnfnenf.pptx
luckfuckfunctioneekefkfejewnfiwnfnenf.pptxluckfuckfunctioneekefkfejewnfiwnfnenf.pptx
luckfuckfunctioneekefkfejewnfiwnfnenf.pptx
TriggeredZulkar
 
function_v1fgdfdf5645ythyth6ythythgbg.ppt
function_v1fgdfdf5645ythyth6ythythgbg.pptfunction_v1fgdfdf5645ythyth6ythythgbg.ppt
function_v1fgdfdf5645ythyth6ythythgbg.ppt
RoselinLourd
 
Types of function call
Types of function callTypes of function call
Types of function call
ArijitDhali
 
Ad

Function in C program

  • 2. A large program in c can be divided to many subprogram The subprogram posses a self contain components and have well define purpose. The subprogram is called as a function Basically a job of function is to do something C program contain at least one function which is main(). Classification of Function User define Library function function - main() -printf() -scanf() -pow() -ceil()
  • 3. It is much easier to write a structured program where a large program can be divided into a smaller, simpler task. Allowing the code to be called many times Easier to read and update It is easier to debug a structured program where there error is easy to find and fix
  • 4. 1: #include <stdio.h> Arguments/formal parameter  Function names is cube 2:  Variable that are requires is 3: long cube(long x); long 4: Return data type  The variable to be passed on 5: long input, answer; is X(has single arguments)— 6: value can be passed to 7: int main( void ) function so it can perform the 8: { specific task. It is called Actual parameters 9: printf(“Enter an integer value: ”); 10: scanf(“%d”, &input); 11: answer = cube(input); 12: printf(“nThe cube of %ld is %ld.n”, input, answer); 13: Output 14: return 0; 15: } Enter an integer value:4 16: 17: long cube(long x) 18: { The cube of 4 is 64. 19: long x_cubed; 20: 21: x_cubed = x * x * x; 22: return x_cubed; 23: }
  • 5. C program doesn't execute the statement in function until the function is called. When function is called the program can send the function information in the form of one or more argument. When the function is used it is referred to as the called function Functions often use data that is passed to them from the calling function Data is passed from the calling function to a called function by specifying the variables in a argument list. Argument list cannot be used to send data. Its only copy data/value/variable that pass from the calling function. The called function then performs its operation using the copies.
  • 6. Provides the compiler with the description of functions that will be used later in the program Its define the function before it been used/called Function prototypes need to be written at the beginning of the program. The function prototype must have : A return type indicating the variable that the function will be return Syntax for Function Prototype return-type function_name( arg-type name-1,...,arg-type name-n); Function Prototype Examples  double squared( double number );  void print_report( int report_number );  int get_menu_choice( void);
  • 7. It is the actual function that contains the code that will be execute. Should be identical to the function prototype. Syntax of Function Definition return-type function_name( arg-type name-1,...,arg-type name-n) ---- Function header { declarations; statements; Function Body return(expression); }
  • 8. Function Definition Examples float conversion (float celsius) { float fahrenheit; fahrenheit = celcius*33.8 return fahrenheit; } The function name‟s is conversion This function accepts arguments celcius of the type float. The function return a float value. So, when this function is called in the program, it will perform its task which is to convert fahrenheit by multiply celcius with 33.8 and return the result of the summation. Note that if the function is returning a value, it needs to use the keyword return.
  • 9. Can be any of C‟s data type: char int float long……… Examples: int func1(...) /* Returns a type int. */ float func2(...) /* Returns a type float. */ void func3(...) /* Returns nothing. */
  • 10. Function can be divided into 4 categories: A function with no arguments and no return value A function with no arguments and a return value A function with an argument or arguments and returning no value A function with arguments and returning a values
  • 11. A function with no arguments and no return value Called function does not have any arguments Not able to get any value from the calling function Not returning any value There is no data transfer between the calling function and called function. #include<stdio.h> #include<conio.h> void printline(); void main() { printf("Welcome to function in C"); printline(); printf("Function easy to learn."); printline(); getch(); } void printline() { int i; printf("n"); for(i=0;i<30;i++) { printf("-"); } printf("n"); }
  • 12. A function with no arguments and a return value Does not get any value from the calling function Can give a return value to calling program #include <stdio.h> Enter a no: 46 #include <conio.h> int send(); You entered : 46. void main() { int z; z=send(); printf("nYou entered : %d.",z); getch(); } int send() { int no1; printf("Enter a no: "); scanf("%d",&no1); return(no1); }
  • 13. A function with an argument or arguments and returning no value A function has argument/s A calling function can pass values to function called , but calling function not receive any value Data is transferred from calling function to the called function but no data is transferred from the called function to the calling function Generally Output is printed in the Called function A function that does not return any value cannot be used in an expression it can be used only as independent statement.
  • 14. #include<stdio.h> #include<conio.h> void add(int x, int y); void main() { add(30,15); add(63,49); add(952,321); getch(); } void add(int x, int y) { int result; result = x+y; printf("Sum of %d and %d is %d.nn",x,y,result); }
  • 15. A function with arguments and returning a values Argument are passed by calling function to the called function Called function return value to the calling function Mostly used in programming because it can two way communication Data returned by the function can be used later in our program for further calculation.
  • 16. #include <stdio.h> Result 85. #include <conio.h> int add(int x,int y); Result 1273. void main() Send 2 integer value x and y to add() { Function add the two values and send int z; back the result to the calling function z=add(952,321); int is the return type of function printf("Result %d. nn",add(30,55)); Return statement is a keyword and in printf("Result %d.nn",z); bracket we can give values which we want to return. getch(); } int add(int x,int y) { int result; result = x + y; return(result); }
  • 17. Variable that declared occupies a memory according to it size It has address for the location so it can be referred later by CPU for manipulation The „*‟ and „&‟ Operator Int x= 10 x Memory location name 10 Value at memory location 76858 Memory location address We can use the address which also point the same value.
  • 18. #include <stdio.h> #include <conio.h> void main() { int i=9; & show the address of the variable printf("Value of i : %dn",i); printf("Adress of i %dn", &i); getch(); }
  • 19. #include <stdio.h> #include <conio.h> void main() { int i=9; * Symbols called the value at the address printf("Value of i : %dn",i); printf("Address of i %dn", &i); printf("Value at address of i: %d", *(&i)); getch(); }
  • 20. #include <stdio.h> #include <conio.h> int Value(int x) { int Value (int x); x = 1; int Reference (int *x); } int Reference(int *x) int main() { *x = 1; { } int Batu_Pahat = 2; int Langkawi = 2; Value(Batu_Pahat); Reference(&Langkawi); printf("Batu_Pahat is number %dn",Batu_Pahat); printf("Langkawi is number %d",Langkawi); } Pass by reference You pass the variable address Give the function direct access to the variable The variable can be modified inside the function
  • 21. #include <stdio.h> #include <conio.h> void callByValue(int, int); void callByReference(int *, int *); int main() { int x=10, y =20; printf("Value of x = %d and y = %d. n",x,y); printf("nCAll By Value function call...n"); callByValue(x,y); printf("nValue of x = %d and y = %d.n", x,y); printf("nCAll By Reference function call...n"); callByReference(&x,&y); printf("Value of x = %d and y = %d.n", x,y); getch(); return 0; }
  • 22. void callByValue(int x, int y) { int temp; temp=x; x=y; y=temp; printf("nValue of x = %d and y = %d inside callByValue function",x,y); } void callByReference(int *x, int *y) { int temp; temp=*x; *x=*y; *y=temp; }