[go: up one dir, main page]

0% found this document useful (0 votes)
20 views21 pages

CH 5

functions s gtu

Uploaded by

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

CH 5

functions s gtu

Uploaded by

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

CH-5 FUNCTIONS

What is Function?
◻ A function is a group of statements that perform a specific task.
◻ It divides a large program into smaller parts.
◻ A function is something like hiring a person to do a specific job for you.
◻ Every C program can be thought of as a collection of these functions.
◻ Program execution in C language starts from the main function.
Syntax
void main()
{
// body part
}
◻ Why function ?
Avoids rewriting the same code over and over.
Using functions it becomes easier to write programs and keep track of what they
doing.
Types of Function

Function

Library Function User Defined Function (UDF)

Predefined or inbuilt Created by User


Declarations inside header files Programmer need to declare it
Eg. printf() – stdio.h Eg. findSimpleInterest()
pow() – math.h areaOfCircle()
strcmp() – string.h
Program Structure for Function

◻ When we use a user-defined function program structure is divided into three


parts.
Function Structure
void func1(); Function Prototype

void main()
{
....
func1(); Function call
}

void func1()
{
.... Function definition
//function body
....
}
Function Prototype
A function Prototype also know as function declaration.
A function declaration tells the compiler about a function name and
how to call the function.
It defines the function before it is being used or called.
A function prototype needs to be written at the beginning of the
program.
Syntax
return-type function-name (arg-1, arg 2, …);

Example
void addition(int, int);
Function Definition
A function definition defines the functions header and body.
A function header part should be identical to the function prototype.
Function return type
Function name
List of parameters
A function body part defines function logic.
Function statements

Syntax Example
return-type function-name (arg-1, arg void addition(int x, int y)
2, …) {
{ printf("Addition is=%d“,
//... Function body (x+y));
} }
WAP to add two number using add(int, int) Function

Program
1 #include <stdio.h>
2 void add(int, int); // function declaration
3
4 void main()
5 {
6 int a = 5, b = 6;
7 add(a, b); // function call
8 }
9
10 void add(int x, int y) // function definition
11 {
12 printf("Addition is = %d", x + y);
13 }

Output
Addition is = 11
Actual parameters and Formal parameters

◻ Values that are passed to the called function from the main function
are known as Actual parameters.
◻ The variables declared in the function prototype or definition are
known as Formal parameters.
◻ When a method is called, the formal parameter is temporarily "bound"
to the actual parameter.

Actual parameters Formal parameters


void main() void add(int x, int y) // x and y
{ are formal parameters.
int a = 5, b = 6; {
add(a, b); // a and b are the printf("Addition is = %d", x +
actual parameters in this call. y);
}
}
Return Statement
◻ If function is returning a value to calling function, it
needs to use the keyword return.
◻ The called function can only return one value per call.
Syntax
return;
Or

return
(expression);
WAP to find maximum number from two
number
Program
1 #include <stdio.h> Output
2 int max(int a, int b); Max value is : 200
3 void main()
4 {
5 int a = 100;
6 int b = 200;
7 int maxvalue;
8 maxvalue = max(a, b);
9 printf("Max value is : %d\n",
10 maxvalue);
11 }
12 int max(int a, int b)
13 {
14 if (a > b)
15 return a; // return a
16 else
17 return b; // return b
18 }
WAP to calculate the Power of a Number
Program Output
1 #include <stdio.h> Enter any number : 5
2 int power(int, int); Enter power of number : 3
3 void main() 5's power 3 = 125
4 {
5 int num, pow, res;
6 printf("Enter any number : ");
7 scanf("%d", &num);
8 printf("Enter power of number : ");
9 scanf("%d", &pow);
10 res = power(num, pow);
11 printf("%d's power %d = %d", num, pow, res);
12 }
13 int power(int n, int p)
14 { int r = 1;
15 while (p >= 1)
16 {
17 r = r * n;
18 p--;
19 }
20 return r;}
WAP to find Factorial of a Number
Program Output
1 #include <stdio.h> Enter the number :
2 int fact(int); 5
3 int main() factorial = 120
4 {
5 int n, f;
6 printf("Enter the number :\n");
7 scanf("%d", &n);
8 f = fact(n);
9 printf("factorial = %d", f);
10 }
11 int fact(int n)
12 {
13 int i, fact = 1;
14 for (i = 1; i <= n; i++)
15 fact = fact * i;
16 return fact;
17 }
WAP to check Number is Prime or not
Program Program contd.
1 #include <stdio.h> 14 int checkPrime(int n1)
2 int checkPrime(int); 15 {
3 void main() 16 int i = 2;
4 { while (i <= n1 / 2)
17
5 int n1, prime; {
6 printf("Enter the number :");
18 if (n1 % i == 0)
7 scanf("%d", &n1); 19 return 0;
8 prime = checkPrime(n1); 20 else
9 if (prime == 1) 21 i++;
10 printf("The number %d is a prime 22 }
number.\n", n1); 23 return 1;
11 else 24 }
Output
12 printf("The number %d is not a
prime number.\n", n1); Enter the number :7
13 } The number 7 is a prime number.
Category of Function

(1) Function with no argument and but no return value


No
void main() Input void fun1()
{ {
..... .....
No return .....
fun1();
value .....
.....
} }

(2) Function with no argument and returns value


No
void main() Input int fun1(void)
{ {
..... .....
a = fun1() Function .....
..... result return b;
} }
Category of Function cont.

(3) Function with argument and but no return value


Value of
void main() Argument void fun1(int f)
{ {
..... .....
fun1(a); No Return .....
..... value .....
} }

(4) Function with argument and returns value


Value of
void main() Argument int fun1(int f)
{ {
..... .....
b = fun1(a); Function .....
..... Result return e;
} }
Storage Classes

◻ Storage class decides the scope, lifetime and memory allocation of


variable.
◻ Scope of a variable is the boundary within which a variable can be used.

Storage Initial
Storage Scope Life Example
Specifier Value

Automatic Within int a;


Stack Garbage End of block
{auto} block auto int a;

Within
Register CPU Garbage End of block register int
block
{register} register var;

External Data Global Till end of


Zero extern int var;
{extern} segment Multiple file program

Within Till end of static extern


Static Data Zero
block program int var;
{static} segment
static int var;
Static Example
Program Output
1 #include <stdio.h> Counter = 1
2 int incrementCounter(); Counter = 2
3
4 void main()
5 {
6 printf("Counter = %d \n", incrementCounter());
7 printf("Counter = %d \n", incrementCounter());
8 }
9
10 int incrementCounter()
11 {
12 static int count = 0; // static variable
13 count++;
14 return count;
15 }
Advantages of Function
◻ Using function we can avoid rewriting the same logic
or code again and again in a program.
◻ We can track or understand large program easily when
it is divide into functions.
◻ It provides reusability.
◻ It help in testing and debugging because it can be tested
for errors individually in the easiest way.
◻ Reduction in size of program due to code of a function
can be used again and again, by calling it.
Practice Programs
1) WAP to count simple interest using function.
2) WAP that defines a function to add first n numbers.
3) WAP using global variable, static variable.
4) WAP that will scan a character string passed as an argument and
convert all lowercase character into their uppercase equivalents.
5) Build a function to check number is prime or not. If number is
prime then function return value 1 otherwise return 0.
6) Write a program to calculate nCr using user defined function.
nCr = n! / (r! * (n-r)!)
7) Create a function to swap the values of two variables.
8) Write a function which takes 2 numbers as parameters and
returns the gcd of the 2 numbers. Call the function in main().
Any Question??
Thank you!!

You might also like