Unit-4_Strings and Functions
Unit-4_Strings and Functions
RV College world
of
Engineering
Unit -4
Strings
1
RV College
of Go, change the world
Engineerin
g
Contents
2
RV College
of
Engineerin
g
Strings Go, change the world
4
RV College
Go, change the world
of
Engineerin
g
Declaration of a string
• Since we cannot declare string using String Data Type, instead of which
we use array of type “char” to create String.
Syntax :
Examples :
• char city[30];
• char name[20];
• char message[50]; 5
RV College
Go, change the world
of
Engineerin
g
Declaration of a string cont…
6
7
Rules for declaring a string
RV College
of Go, change the world
Engineerin
g
10
Reading Strings
RV College
of Go, change the world
Engineerin
g
11
Writing Strings
RV College
of Go, change the world
Engineerin
g
12
Suppressing Input
RV College
of Go, change the world
Engineerin
g
13
Length
RV College
of Go, change the world
Engineerin
g
14
RV College
of
Engineerin
Converting Character of Strings to Upper Case
Go, change the world
g
15
RV College
Go, change the world
of
Engineerin
g
Appending
16
Comparing Two Strings
RV College
of Go, change the world
Engineerin
g
17
RV College
Go, change the world
of
Engineerin
g
Reversing a String
18
Extracting a substring from Right of the String
RV College
of Go, change the world
Engineerin
g
19
Extracting a substring from Middle of the String
RV College
of Go, change the world
Engineerin
g
20
Insertion
RV College
of Go, change the world
Engineerin
g
21
Indexing
RV College
of Go, change the world
Engineerin
g
22
Deletion
RV College
of Go, change the world
Engineerin
g
23
Replacement
RV College
of Go, change the world
Engineerin
g
24
Array of Strings
RV College
of Go, change the world
Engineerin
g
25
RV College
of Go, change the world
Engineerin
g
Write a program to read and print the names of n students in the class
26
Pointers and Strings
RV College
of Go, change the world
Engineerin
g
• int puts(const char *s); Here the constant modifier is used to assure the
user that the function will not modify the contents pointed to by the source
pointer. Note that the address of the pointer is passed to the function as
27
the argument.
RV College
of
Engineerin
Functions of string.h Go, change the world
g
• strncat( ) function in C language concatenates (appends) portion of one string at the end
of another string.
strcmp( ) function in C compares two given strings and returns zero if they are same.
If length of string1 < string2, it returns < 0 value that is -1.
• Syntax : strcmp (str1 , str2 );strcmp( ) function is case sensitive. i.e, “A” and “a” are
treated as different characters.
31
String Concat (strcat)
RV College
of Go, change the world
Engineerin
g
• strncat( ) function in C language concatenates (appends) portion of one string at the end
of another string.
33
34
35
36
37
Exercise Programs
1Write a program to calculate the length of string without builtin functions
• #include <stdio.h>
• int main() {
• char s[] = "Programming is fun";
• int i;
39
Copying a string without strcpy()
40
Find the frequency of a character in
a string
41
42
RV College
of Go, change the world
Engineerin
g
43
Go, change the world
RV College
of
Engineering
UNIT IV
Functions
(User Defined Functions)
RV College of Go, change the world
Engineering
FUNCTIONS
C enables programmers to break up the program into segments known as functions each of
which can be written more or less independently of each other.
A function in C language is a block of code that performs a specific task.
Every function in C program performs a well defined 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.
Properties of C Functions:
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.
A function is independent and it can perform its task without intervention from or interfering
with other parts of the program.
A function 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.
RV College of Go, change the world
Engineering
Properties of C Functions:
This is optional and depends upon the task your function is going to accomplish.
Suppose you want to just show few lines through function then it is not necessary to return a value.
But if you are calculating area of rectangle and wanted to use result somewhere in program then you
have to send back (return) value to the calling function.
Main calls the function named func1(), so it’s called the calling
function
func1() is the called function.
48
Function calling another function.
49
A function consist of two parts:
•Declaration: the function's name, return type, and parameters (if
any)
•Definition: the body of the function (code to be executed)
50
Function name and number of parameters, type of arguments must be same as in the function
declaration/header.
51
•The name of the variable in the function header (declaration or definition) does not need to match the
name of the variable in the function call.
•The names of arguments in a function call are independent of the names in the function header.
•The function header (declaration or definition) specifies the parameter names for internal use.
•The linkage between the two is made through the values passed, not through the names.
#include <stdio.h>
// Function definition
int addNumbers(int x, int y) {
return x + y;
}
int main() {
int num1 = 5, num2 = 10;
// Function call
int result = addNumbers(num1, num2); // num1 and num2 used here
printf("Sum: %d\n", result);
return 0;
}
52
RV College of Go, change the world
Engineering
Types of functions in C
1. void function(void)
2. void function(int)
3. int function(void)
4. int function(int)
RV College of Go, change the world
Engineering
Type-1
void function(void)
RV College of Go, change the world
Engineering
#include<conio.h>
#include<stdio.h>
void rvce(void); //function declaration
void main()
{
clrscr();
rvce(); //function call
getch();
}
void rvce(void) //function definition
{
printf(”rvce");
}
RV College of Go, change the world
Engineering
Output:
Rvce
#include<conio.h>
#include<stdio.h>
void rvce(void);
void main()
{
clrscr();
rvce();
rvce();
getch();
}
void rvce(void)
{
printf(”rvce");
}
RV College of Go, change the world
Engineering
#include<conio.h>
#include<stdio.h>
void rvce(void); //function declaration
void main()
{
clrscr();
rvce(); //function call
getch();
}
void rvce(void) //function definition
{
printf(”rvce");
}
RV College of Go, change the world
Engineering
Output:
rvce rvce
#include<stdio.h>
void rvce(void);
void college(void);
void main()
{
clrscr();
rvce();
college();
}
void rvce(void)
{
printf(”rvce");
}
Output
rvce
college is rvce
RV College of Go, change the world
Engineering
Type-2
void function(int)
RV College of Go, change the world
Engineering
RV College of Go, change the world
Engineering
#include<conio.h>
#include<stdio.h>
void square(int);
void main()
{
clrscr();
square(5);
getch();
}
void square(int x)
{
printf("Square is %d",x*x);
}
RV College of Go, change the world
Engineering
Output
Square is 25
68
RV College of Go, change the world
Engineering
#include<conio.h>
#include<stdio.h>
void table(int);
void main()
{
clrscr();
table(5);
getch();
}
void table(int x)
{
for(int a=1;a<=10;a++)
printf("%d*%d=%d\n",a,x,a*x);
}
RV College of Go, change the world
Engineering
RV College of Go, change the world
Engineering
Output
1*5=5
2*5=10
3*5=15
4*5=20 We can pass more than one arguments to a function, each
5*5=25
6*5=30 can have different type/same type.
7*5=35
8*5=40
9*5=45
10*5=50
RV College of Go, change the world
Engineering
#include<conio.h>
#include<stdio.h>
void main()
{
clrscr();
add(5, 7);
getch();
}
Output
Addition is 12
RV College of Go, change the world
Engineering
void main()
{
clrscr();
getch();
}
Output
2,3,4,5,6,7,8,9,10,11,12,13,14,15
RV College of Go, change the world
Engineering
Edit same program, get two numbers input from user, then
make a loop between these numbers.
Ex:
Please input two numbers: 5 20
5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
RV College of Go, change the world
Engineering
#include<conio.h>
#include<stdio.h>
void main()
{
clrscr();
int start, end
getch();
}
Type-3
int function(void)
RV College of Go, change the world
Engineering
RV College of Go, change the world
Engineering
#include<conio.h>
#include<stdio.h>
int sum(void);
void main()
{
clrscr();
int a;
a=sum();
printf(“Sum is %d”, a);
getch();
}
int sum(void)
{
int x=2, y=3, z;
z=x+y;
return(z);
}
RV College of Go, change the world
Engineering
#include<conio.h>
#include<stdio.h>
int sum(void);
void main()
{
clrscr();
int a;
a=sum();
printf(“Sum is %d”, a);
getch();
int sum(void)
{
int x=2, y=3, z;
z=x+y;
return(z);
}
RV College of Go, change the world
Engineering
Return Keyword
In functions, where we return any value, we usually use a keyword
“return”, and the value, which is to be returned is written inside braces,
shown after return.
Example: return(z);
The above statement will pass the value of z to the left side variable of
calling function.
ie: a=sum();
Hence the value in z, which is 5 in our program is passed to a.
RV College of Go, change the world
Engineering
Type-4
Returns a value.
int function(int)
#include<conio.h>
#include<stdio.h>
void main()
{
clrscr();
int a;
a=sum(2,3);
printf(“Sum is %d”, a);
getch();
z=x+y;
return(z);
}
RV College of Go, change the world
Engineering
#include<conio.h>
#include<stdio.h>
int sum(int, int);
void main()
{
clrscr();
int a;
a=sum(2,3);
printf(“Sum is %d”, a);
getch();
z=x+y;
return(z);
}
86
87
88
When a function is called, a calling function may have to pass some value to the called function.
There are two ways in which arguments can be passed to the called function.
a)Pass by value :The value of the variables are passed by the calling function to the called function
b)Pass by reference:The address of the variable are passed by the calling function the called function
Pass by value:In call by value method, the called function creates new variables to store the arguments
passed to it.Therefore, the called function uses the copy of arguments to perform the intended task.
•One is the original copy and the other is the function copy.
•Any changes made inside functions are not reflected in the actual parameters of the
caller.
89
90
91
The called function could not modify the value of the argument that was passed to
it.Incase, the value has not been changed , the programmer will have to modify the
program and add return statement to it.
92
93
Pass by Reference:In call by reference method of parameter passing, the address of the
actual parameters is passed to the function as the formal parameters. In C, we use
pointers to achieve call-by-reference.
•Both the actual and formal parameters refer to the same locations.
•Any changes made inside the function are actually reflected in the actual parameters
of the caller.
•In call-by-reference, the function receives implicit reference to the argument , rather
than the copy of its value.Therefore, the function can modify the values of the
variable and that change gets reflected in the calling function as well.
94
95
96
97
Recursion is the technique of making a function call itself. This technique provides
a way to break complicated problems down into simple problems which are easier
to solve.
Recursion is the process of a function calling itself repeatedly till the given
condition is satisfied. A function that calls itself directly or indirectly is called a
recursive function and such kind of function calls are called recursive calls.
98
Eg:
Adding two numbers together is easy to do, but adding a range of numbers is more
complicated. In the following example, recursion is used to add a range of numbers together
by breaking it down into the simple task of adding two numbers:
99
The fundamental of recursion consists of two objects
which are essential for any recursive function. These
are:
1.Recursion Case
2.Base Condition
1. Recursion Case
2. Base Condition
101
RV College of Go, change the world
Engineering