SlideShare una empresa de Scribd logo
1 de 19
FUNCTIONS 
EC201- FUNDAMENTAL 
PROGRAMMING
What is Function 
 Block of code that performs a specific task. 
 It has a name and it is reusable i.e. it can be executed 
from as many different parts in a C Program as required. 
Every function has a unique name. This name is used to 
call function from “main()” function. A function can be 
called from within another function. 
 It also optionally returns a value to the calling program 
 Performs a specific task. A task is a distinct job that your 
program must perform as a part of its overall operation, 
such as adding two or more integer, sorting an array into 
numerical order, or calculating a cube root etc.
Sample Function Call 
#include <stdio.h> 
int main ( ) printf is the name of a predefined 
{ function in the stdio library 
printf (“Hello World!n”) ; this statement is 
return 0 ; is known as a 
} function call 
this is a string we are passing 
as an argument (parameter) to 
the printf function
Function 
• The ‘building blocks’ of a C program 
▫ You’ve used predefined functions already: 
 main() 
 printf(), scanf(), pow() 
▫ User-defined functions 
 Your own code 
 In combination with predefined functions
Sample User-Defined Function 
#include <stdio.h> 
void printMessage ( void ) ; 
int main ( void ) 
{ 
printMessage ( ) ; 
return 0 ; 
} 
void printMessage ( void ) 
{ 
printf (“A message for you:nn”) ; 
printf (“Have a nice day!n”) ; 
}
Examining printMessage 
#include <stdio.h> 
void printMessage ( void ) ; function prototype 
int main ( void ) 
{ 
printMessage ( ) ; function call 
return 0 ; 
} 
void printMessage ( void ) function header 
{ 
printf (“A message for you:nn”) ; function 
printf (“Have a nice day!n”) ; body 
} 
function definition
Program example: functions 
#include<stdio.h> 
kira(int t_semasa, int t_lahir); 
main() 
{ 
int t_semasa,t_lahir,u; 
printf("Please enter your birth year:"); 
scanf("%d",&t_lahir); 
printf("Please enter the current year:"); 
scanf("%d",&t_semasa); 
u = kira(t_semasa,t_lahir); 
printf("nYour age is: %d years oldnn",u); 
return 0; 
} 
kira(int t_semasa, int t_lahir) 
{ 
int umur; 
umur = t_semasa-t_lahir; 
return(umur); 
}
Types of functions 
Functions with no arguments and no return values. 
Functions with arguments and no return values. 
Functions with arguments and return values. 
Functions that return multiple values. 
Functions with no arguments and return values.
Functions with no arguments and no 
return value 
 A C function without any 
arguments means you cannot 
pass data (values like int, char 
etc) to the called function. 
 Similarly, function with no 
return type does not pass back 
data to the calling function. It is 
one of the simplest types of 
function in C. 
 This type of function which 
does not return any value 
cannot be used in an expression 
it can be used only as 
independent statement.
Program example: Functions with no arguments and no return 
value 
#include<stdio.h> 
cetak_line1(); 
cetak_line2(); 
main() 
{ 
printf("Welcome to function in C"); 
cetak_line1(); 
printf("Function easy to learn."); 
cetak_line1(); 
printf("Please make sure you really understand about this topic."); 
cetak_line2(); 
return 0; 
} 
cetak_line1() 
{ 
int i; 
printf("n"); 
for(i=0;i<30;i++) 
{ 
printf("-"); 
} 
printf("n"); 
return 0; 
} 
cetak_line2() 
{ 
printf("n--------------------------------------------------------"); 
return 0; 
}
Functions with arguments and no 
return value 
 In our previous example what we have 
noticed that “main()” function has no 
control over the UDF “printfline()”, it 
cannot control its output. Whenever 
“main()” calls “printline()”, it simply 
prints line every time. So the result 
remains the same. 
 A C function with arguments can 
perform much better than previous 
function type. 
 This type of function can accept data 
from calling function. In other words, 
you send data to the called function 
from calling function but you cannot 
send result data back to the calling 
function. Rather, it displays the result 
on the terminal. But we can control the 
output of function by providing various 
values as arguments.
Program example: Functions with arguments and no return value 
#include<stdio.h> 
tambah(int x, int y); 
main() 
{ 
int x,y; 
printf("Please enter a value x:"); 
scanf("%d",&x); 
printf("Please enter a value y:"); 
scanf("%d",&y); 
tambah(x,y); 
return 0; 
} 
tambah(int x, int y) 
{ 
int result; 
result = x+y; 
printf("Sum of %d and %d is %d.nn",x,y,result); 
return 0; 
}
Functions with arguments and return 
value 
 This type of function can send 
arguments (data) from the 
calling function to the called 
function and wait for the result to 
be returned back from the called 
function back to the calling 
function. 
 This type of function is mostly 
used in programming world 
because it can do two way 
communications; it can accept 
data as arguments as well as can 
send back data as return value. 
 The data returned by the 
function can be used later in our 
program for further calculations.
Program example: Functions with arguments and return value 
#include<stdio.h> 
tambah(int x, int y); 
main() 
{ 
int x,y,z; 
printf("Please enter a value x:"); 
scanf("%d",&x); 
printf("Please enter a value y:"); 
scanf("%d",&y); 
z = tambah(x,y); 
printf("Result %d.nn",z); 
return 0; 
} 
tambah(int x, int y) 
{ 
int result; 
result = x+y; 
return(result); 
}
Functions with no arguments but 
returns value 
 We may need a function which 
does not take any argument but 
only returns values to the 
calling function then this type 
of function is useful. The best 
example of this type of function 
is “getchar()” library function 
which is declared in the header 
file “stdio.h”. We can declare a 
similar library function of own.
Program example: Functions with no arguments but returns value 
#include<stdio.h> 
send(); 
main() 
{ 
int z; 
z = send(); 
printf("nYou entered : %d.", z); 
return 0; 
} 
send() 
{ 
int no1; 
printf("Enter a no : "); 
scanf("%d",&no1); 
return(no1); 
}
Functions that return multiple values 
• We have used arguments to send values to the 
called function, in the same way we can also use 
arguments to send back information to the 
calling function. 
• The arguments that are used to send back data 
are called Output Parameters. 
• Is a bit difficult for novice because this type of 
function uses pointer.
Program example: Functions that return multiple values 
#include<stdio.h> 
calc(int x, int y, int *add, int *sub); 
main() 
{ 
int a,b,p,q; 
printf("Please enter a value a:"); 
scanf("%d",&a); 
printf("Please enter a value b:"); 
scanf("%d",&b); 
calc(a,b,&p,&q); 
printf("Sum = %d, Sub = %d",p,q); 
return 0; 
} 
calc(int x, int y, int *add, int *sub) 
{ 
*add = x+y; 
*sub = x-y; 
return (0); 
}

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Function in c
Function in cFunction in c
Function in c
 
Types of function call
Types of function callTypes of function call
Types of function call
 
Call by value
Call by valueCall by value
Call by value
 
Programming Fundamentals Decisions
Programming Fundamentals  Decisions Programming Fundamentals  Decisions
Programming Fundamentals Decisions
 
function in c
function in cfunction in c
function in c
 
Function & Recursion in C
Function & Recursion in CFunction & Recursion in C
Function & Recursion in C
 
Function in c program
Function in c programFunction in c program
Function in c program
 
Functions and pointers_unit_4
Functions and pointers_unit_4Functions and pointers_unit_4
Functions and pointers_unit_4
 
Programming Fundamentals Arrays and Strings
Programming Fundamentals   Arrays and Strings Programming Fundamentals   Arrays and Strings
Programming Fundamentals Arrays and Strings
 
Functionincprogram
FunctionincprogramFunctionincprogram
Functionincprogram
 
Functions struct&union
Functions struct&unionFunctions struct&union
Functions struct&union
 
Functions
FunctionsFunctions
Functions
 
Function lecture
Function lectureFunction lecture
Function lecture
 
Fucntions & Pointers in C
Fucntions & Pointers in CFucntions & Pointers in C
Fucntions & Pointers in C
 
Introduction to Computer and Programing - Lecture 04
Introduction to Computer and Programing - Lecture 04Introduction to Computer and Programing - Lecture 04
Introduction to Computer and Programing - Lecture 04
 
Functions
FunctionsFunctions
Functions
 
C Prog - Functions
C Prog - FunctionsC Prog - Functions
C Prog - Functions
 
Function
FunctionFunction
Function
 
Decision making and branching
Decision making and branchingDecision making and branching
Decision making and branching
 
Unit 4 (1)
Unit 4 (1)Unit 4 (1)
Unit 4 (1)
 

Similar a CHAPTER 6

Similar a CHAPTER 6 (20)

Function in C program
Function in C programFunction in C program
Function in C program
 
Functions in C.pptx
Functions in C.pptxFunctions in C.pptx
Functions in C.pptx
 
Functions and pointers_unit_4
Functions and pointers_unit_4Functions and pointers_unit_4
Functions and pointers_unit_4
 
Function
FunctionFunction
Function
 
Functions
FunctionsFunctions
Functions
 
Array Cont
Array ContArray Cont
Array Cont
 
unit_2.pptx
unit_2.pptxunit_2.pptx
unit_2.pptx
 
Dti2143 chapter 5
Dti2143 chapter 5Dti2143 chapter 5
Dti2143 chapter 5
 
eee2-day4-structures engineering college
eee2-day4-structures engineering collegeeee2-day4-structures engineering college
eee2-day4-structures engineering college
 
Functions in c
Functions in cFunctions in c
Functions in c
 
cp Module4(1)
cp Module4(1)cp Module4(1)
cp Module4(1)
 
Functions
Functions Functions
Functions
 
Functions in c
Functions in cFunctions in c
Functions in c
 
unit_2 (1).pptx
unit_2 (1).pptxunit_2 (1).pptx
unit_2 (1).pptx
 
Presentation on Function in C Programming
Presentation on Function in C ProgrammingPresentation on Function in C Programming
Presentation on Function in C Programming
 
C Programming Language Part 7
C Programming Language Part 7C Programming Language Part 7
C Programming Language Part 7
 
6. function
6. function6. function
6. function
 
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
 
Unit 3 (1)
Unit 3 (1)Unit 3 (1)
Unit 3 (1)
 
Unit 5 Foc
Unit 5 FocUnit 5 Foc
Unit 5 Foc
 

Más de mohd_mizan

Mind map chapter 4
Mind map chapter 4Mind map chapter 4
Mind map chapter 4mohd_mizan
 
Dbs 1012 synopsis
Dbs 1012 synopsisDbs 1012 synopsis
Dbs 1012 synopsismohd_mizan
 
Chapter 4 work, energy and power
Chapter 4 work, energy and powerChapter 4 work, energy and power
Chapter 4 work, energy and powermohd_mizan
 

Más de mohd_mizan (8)

Mind map chapter 4
Mind map chapter 4Mind map chapter 4
Mind map chapter 4
 
Dbs 1012 synopsis
Dbs 1012 synopsisDbs 1012 synopsis
Dbs 1012 synopsis
 
Chapter 4 work, energy and power
Chapter 4 work, energy and powerChapter 4 work, energy and power
Chapter 4 work, energy and power
 
CHAPTER 3
CHAPTER 3CHAPTER 3
CHAPTER 3
 
CHAPTER 4
CHAPTER 4CHAPTER 4
CHAPTER 4
 
CHAPTER 5
CHAPTER 5CHAPTER 5
CHAPTER 5
 
CHAPTER 2
CHAPTER 2CHAPTER 2
CHAPTER 2
 
CHAPTER 1
CHAPTER 1CHAPTER 1
CHAPTER 1
 

Último

How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfMr Bounab Samir
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxMaryGraceBautista27
 
FILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinoFILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinojohnmickonozaleda
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)cama23
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfphamnguyenenglishnb
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management systemChristalin Nelson
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 

Último (20)

How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptx
 
FILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinoFILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipino
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management system
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 

CHAPTER 6

  • 2. What is Function  Block of code that performs a specific task.  It has a name and it is reusable i.e. it can be executed from as many different parts in a C Program as required. Every function has a unique name. This name is used to call function from “main()” function. A function can be called from within another function.  It also optionally returns a value to the calling program  Performs a specific task. A task is a distinct job that your program must perform as a part of its overall operation, such as adding two or more integer, sorting an array into numerical order, or calculating a cube root etc.
  • 3. Sample Function Call #include <stdio.h> int main ( ) printf is the name of a predefined { function in the stdio library printf (“Hello World!n”) ; this statement is return 0 ; is known as a } function call this is a string we are passing as an argument (parameter) to the printf function
  • 4. Function • The ‘building blocks’ of a C program ▫ You’ve used predefined functions already:  main()  printf(), scanf(), pow() ▫ User-defined functions  Your own code  In combination with predefined functions
  • 5. Sample User-Defined Function #include <stdio.h> void printMessage ( void ) ; int main ( void ) { printMessage ( ) ; return 0 ; } void printMessage ( void ) { printf (“A message for you:nn”) ; printf (“Have a nice day!n”) ; }
  • 6.
  • 7. Examining printMessage #include <stdio.h> void printMessage ( void ) ; function prototype int main ( void ) { printMessage ( ) ; function call return 0 ; } void printMessage ( void ) function header { printf (“A message for you:nn”) ; function printf (“Have a nice day!n”) ; body } function definition
  • 8. Program example: functions #include<stdio.h> kira(int t_semasa, int t_lahir); main() { int t_semasa,t_lahir,u; printf("Please enter your birth year:"); scanf("%d",&t_lahir); printf("Please enter the current year:"); scanf("%d",&t_semasa); u = kira(t_semasa,t_lahir); printf("nYour age is: %d years oldnn",u); return 0; } kira(int t_semasa, int t_lahir) { int umur; umur = t_semasa-t_lahir; return(umur); }
  • 9. Types of functions Functions with no arguments and no return values. Functions with arguments and no return values. Functions with arguments and return values. Functions that return multiple values. Functions with no arguments and return values.
  • 10. Functions with no arguments and no return value  A C function without any arguments means you cannot pass data (values like int, char etc) to the called function.  Similarly, function with no return type does not pass back data to the calling function. It is one of the simplest types of function in C.  This type of function which does not return any value cannot be used in an expression it can be used only as independent statement.
  • 11. Program example: Functions with no arguments and no return value #include<stdio.h> cetak_line1(); cetak_line2(); main() { printf("Welcome to function in C"); cetak_line1(); printf("Function easy to learn."); cetak_line1(); printf("Please make sure you really understand about this topic."); cetak_line2(); return 0; } cetak_line1() { int i; printf("n"); for(i=0;i<30;i++) { printf("-"); } printf("n"); return 0; } cetak_line2() { printf("n--------------------------------------------------------"); return 0; }
  • 12. Functions with arguments and no return value  In our previous example what we have noticed that “main()” function has no control over the UDF “printfline()”, it cannot control its output. Whenever “main()” calls “printline()”, it simply prints line every time. So the result remains the same.  A C function with arguments can perform much better than previous function type.  This type of function can accept data from calling function. In other words, you send data to the called function from calling function but you cannot send result data back to the calling function. Rather, it displays the result on the terminal. But we can control the output of function by providing various values as arguments.
  • 13. Program example: Functions with arguments and no return value #include<stdio.h> tambah(int x, int y); main() { int x,y; printf("Please enter a value x:"); scanf("%d",&x); printf("Please enter a value y:"); scanf("%d",&y); tambah(x,y); return 0; } tambah(int x, int y) { int result; result = x+y; printf("Sum of %d and %d is %d.nn",x,y,result); return 0; }
  • 14. Functions with arguments and return value  This type of function can send arguments (data) from the calling function to the called function and wait for the result to be returned back from the called function back to the calling function.  This type of function is mostly used in programming world because it can do two way communications; it can accept data as arguments as well as can send back data as return value.  The data returned by the function can be used later in our program for further calculations.
  • 15. Program example: Functions with arguments and return value #include<stdio.h> tambah(int x, int y); main() { int x,y,z; printf("Please enter a value x:"); scanf("%d",&x); printf("Please enter a value y:"); scanf("%d",&y); z = tambah(x,y); printf("Result %d.nn",z); return 0; } tambah(int x, int y) { int result; result = x+y; return(result); }
  • 16. Functions with no arguments but returns value  We may need a function which does not take any argument but only returns values to the calling function then this type of function is useful. The best example of this type of function is “getchar()” library function which is declared in the header file “stdio.h”. We can declare a similar library function of own.
  • 17. Program example: Functions with no arguments but returns value #include<stdio.h> send(); main() { int z; z = send(); printf("nYou entered : %d.", z); return 0; } send() { int no1; printf("Enter a no : "); scanf("%d",&no1); return(no1); }
  • 18. Functions that return multiple values • We have used arguments to send values to the called function, in the same way we can also use arguments to send back information to the calling function. • The arguments that are used to send back data are called Output Parameters. • Is a bit difficult for novice because this type of function uses pointer.
  • 19. Program example: Functions that return multiple values #include<stdio.h> calc(int x, int y, int *add, int *sub); main() { int a,b,p,q; printf("Please enter a value a:"); scanf("%d",&a); printf("Please enter a value b:"); scanf("%d",&b); calc(a,b,&p,&q); printf("Sum = %d, Sub = %d",p,q); return 0; } calc(int x, int y, int *add, int *sub) { *add = x+y; *sub = x-y; return (0); }