Module-4 - Pop - Pesce Engineering C Programming
Module-4 - Pop - Pesce Engineering C Programming
Principles of
Programming
Using C
SUB CODE: BPOPS103
1
PRINCIPLES OF PROGRAMMING using C Module-4 BPOPS103
D A V A N G E R E \0 Null character
0 1 2 3 4 5 6 7 8 9
Where,
char: data type used to declare the strings or characters.
string_name: It specifies the name of the given string.
size: The size or maximum length (number of characters including ‘\0’) of the string is specified in
square brackets.
✓ Length of the String: The ‘length’ is the number of characters stored in the string up to but not
including the null character.
Example
1. char name[21];
✓ Size of the string is 21, means that it can store up to 20 characters plus one null character.
2. char str[10];
✓ Size of the string is 10, means that it can store up to 10 characters plus one null character.
Examples:
1. char a[9]={‘C’, ‘O’, ‘M’, ‘P’, ‘U’, ‘T’, ‘E’, ‘R’, ‘\0’};
✓ The compiler allocates 9 memory locations ranging from 0 to 8 and these locations are initialized
with the characters in the order specified.
2
PRINCIPLES OF PROGRAMMING using C Module-4 BPOPS103
a C O M P U T E R \0
0 1 2 3 4 5 6 7 8
2. char b[10]={‘R’, ‘A’, ‘M’, ‘A’, ‘\0’};
✓ The compiler allocates 10 memory locations ranging from 0 to 9 and these locations are
initialized with the characters in the order specified. The remaining locations are automatically
initialized to null-characters as shown below:
b R A M A \0 \0 \0 \0 \0 \0
0 1 2 3 4 5 6 7 8 9
3. char b[ ]={‘C’, ‘O’, ‘M’, ‘P’, ‘U’, ‘T’, ‘E’, ‘R’, ‘\0’};
✓ For this declaration, the compiler will set the array size to the total number of initial values. i.e.
9. The characters will be stored in these memory locations in the order specified as shown below:
b C O M P U T E R \0
0 1 2 3 4 5 6 7 8
4. char b[ ]= “COMPUTER”;
✓ Here, the string length is 8 bytes. But string size is 9 bytes. So, the compiler reserves 8+1
memory locations and these locations are initialized with the characters in the order specified.
The string is terminated by ‘\0’ by the compiler.
b C O M P U T E R \0
0 1 2 3 4 5 6 7 8
3
PRINCIPLES OF PROGRAMMING using C Module-4 BPOPS103
printf(“Enter the name:\n”);
scanf(“%s”, name);
printf(“The entered name is:%s”, name);
Output: Enter the name:
Rama
The entered name is:
Rama
Example C Program: Write a C program to read and display a string using scanf() and
printf().
#include<stdio.h>
void main()
{ Output:
char str[20]; Enter your name:
printf(“Enter your name:\n”); Bapuji
scanf(“%s”,str); Entered name is:
printf(“Entered name is:%s\n”,str); Bapuji
}
Syntax
length=strlen(str);
Where,
‘str’ is a string.
‘length’ is an integer representing the length of ‘str’ in bytes excluding the null character.
5
PRINCIPLES OF PROGRAMMING using C Module-4 BPOPS103
length=strlen(str);
printf(“Length of the string is=%d\n”,length);
}
Output: Length of the string is=5
✓ The ‘sizeof’ operator can be used to determine the size of a declared string.
Syntax
sizeof(str);
Where,
‘str’ is a string.
Example: Write a C program to find the length of string without using strlen() function.
#include<stdio.h>
#include<string.h>
void main()
{
char str[];
int length=0; Output:
printf(“Enter the string\n”); Enter the string
gets(str); Good morning
while(str[length]!=’\0’) Length of the string is=12
{
length ++;
}
printf(“Length of the string is=%d\n”, length);
}
Syntax strcpy(dest,src);
Where,
dest: it is the destination string
src: it is the source string.
6
PRINCIPLES OF PROGRAMMING using C Module-4 BPOPS103
✓ The ‘strcpy()’ function copies the contents of source string src to destination string dest
including ‘\0’.
✓ The strcpy() function copies characters from the source string to the destination string until it finds
null character.
s t r i n g \0
Destination
Syntax
strncpy(dest,src,n);
Where,
7
PRINCIPLES OF PROGRAMMING using C Module-4 BPOPS103
dest: it is the destination string.
src: it is the source string.
n: n is the number of characters to be copied into destination string.
✓ ‘strncpy()’ function is used to copy ‘n’ characters from the source string src to the
destination string dest.
src C o m p u t e r \0
0 1 2 3 4 5 6 7 8 9
dest C o m
0 1 2 3 4 5 6 7 8 9
Syntax
strcat(s1,s2);
Where,
s1: It is the first string
s2: It is the second string
✓ The ‘strcat()’ function is used to concatenate or join the two strings.
✓ The ‘strcat()’ function copies all the characters of string s2 to the end of string s1. The
NULL character of string s1 is replaced by the first character of s2.
8
PRINCIPLES OF PROGRAMMING using C Module-4 BPOPS103
char s2[15]= “Morning”;
strcat(s1,s2);
printf(“The concatenated String=%s”,s1);
}
Output:
The concatenated String=GoodMorning.
s1
G o o d \0
0 1 2 3 4 5 6 7 8 9 10 12 13 14
s2
M o r n i n g \0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
s1
G o o d M o r n i n g \0
0 1 2 3 4 5 6 7 8 9 10 12 13 14
Syntax strncat(s1,s2,n);
9
PRINCIPLES OF PROGRAMMING using C Module-4 BPOPS103
Where,
s1: It is the first string
s2: It is the second string
n: It is the number of characters of string s2 to be concatenated.
✓ The ‘strncat()’ function is used to concatenate or join n characters of string s2 to the end of
string s1.
Example: Write a C program to demonstrate the usage of strncat().
#include<stdio.h>
#include<string.h>
void main()
{
char s1[15]= “Good”;
char s2[15]= “Morning”;
strncat(str1,str2,4);
printf(“The concatenated String=%s”,str1);
}
Output: The concatenated String=GoodMorn.
s1
G o o d \0
0 1 2 3 4 5 6 7 8 9 10 12 13 14
s2
M o r n i n g \0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
s1
G o o d M o r n \0
0 1 2 3 4 5 6 7 8 9 10 12 13 14
Syntax
strcmp(s1,s2);
Where,
s1: It is the first string.
s2: It is the second string.
10
PRINCIPLES OF PROGRAMMING using C Module-4 BPOPS103
✓ The following values are returned after comparison:
1. If two strings are equal, the function returns 0.
2. If s1 is greater than s2, a positive value is returned.
3. If s1 is less than s2, then the function returns a negative value.
Example:
1.
s1 c a r \0
s2 c a t \0
strcmp(s1,s2);
✓ “car” and “cat” are different strings. The characters ‘r’ and ‘t’ have different ASCII values. It
returns negative value since ASCII value of ‘r’ is less than the ASCII value of ‘t’.
2.
s1 c a r \0
s2 c a r \0
strcmp(s1,s2);
✓ Since both the strings are same, the function returns 0.
3.
s1 c a t \0
s2 c a r \0
strcmp(s1,s2);
✓ “cat” and “car” are different strings. The characters ‘t’ and ‘r’ have different ASCII values. It
returns positive value since ASCII value of ‘t’ is greater than the ASCII value of ‘r’.
11
PRINCIPLES OF PROGRAMMING using C Module-4 BPOPS103
Syntax strncmp(s1,s2,n);
Where,
s1: It is the first string.
s2: It is the second string.
n: It is the number of characters to be compared.
✓ This function is used to compare first n number of characters in two strings.
✓ The comparison starts with first character of each string. The comparison continues till the
corresponding characters differ or until the end of the character is reached or specified numbers of
characters have been tested.
✓ The following values are returned after comparison:
1. If two strings are equal, the function returns 0.
2. If s1 is greater than s2, a positive value is returned.
3. If s1 is less than s2, then the function returns a negative value.
Example: Write a C program to demonstrate the usage of strcmp().
#include<stdio.h>
#include<string.h>
void main()
{
12
PRINCIPLES OF PROGRAMMING using C Module-4 BPOPS103
char s1[10]=”Hello”;
char s2[10]=”Hey”;
if(strcmp(s1,s2,2)==0)
printf(“The first two characters in the strings are identical”);
else
printf(“The first two characters in the strings are not identical”);
}
13
PRINCIPLES OF PROGRAMMING using C Module-4 BPOPS103
POINTERS:
➢ A pointer is a derived data type in C. it is built from one of the fundamental data types
available in C.
➢ A pointer is a variable that holds address of other variable. Since these memory addresses are
the locations in the computer memory where program instructions and data are stored,
pointers can be used to access and manipulate data stored in the memory.
➢ Although they appear little confusing and bit difficult to analyze for beginners, but they are a
powerful tool and handy to use once they are mastered.
Syntax:
ptr_data_type *ptr_variable_name
ptr_variable_name = &variable_name //where variable_name is the variable whose address has to
be stored in pointer.
Example:
int a=10;
int *ptr; //pointer declaration
then ptr = &a //
*ptr = a;
i.e. ptr is a pointer holding address of variable ‘a’ and *ptr holds the value of a.
Example program:
#include<stdio.h>
#include<conio.h>
void main()
{
int a=10;
int *ptr;
ptr = &a;
printf(“%d\n”,a);
printf(“%d\n”,&a);
printf(“%d\n”,ptr);
printf(“%d\n”,*ptr);
getch();
}
14
PRINCIPLES OF PROGRAMMING using C Module-4 BPOPS103
Consider an example of swapping two numbers using call by reference or using pointers.
Example:
#include<stdio.h>
#include<conio.h>
void swap(int *a, int *b);
void main()
{
int x=10, y=20;
printf(“before swapping\n x=%d \n y=%d\n\n”, x, y);
swap(&x,&y); //function call, add of 2199823
printf(“after swapping: \n x = %d \n y = %d”,x,y);
getch();
}
15
PRINCIPLES OF PROGRAMMING using C Module-4 BPOPS103
Output:
Syntax:
data_type *ptr_name;
ptr_name = &array_name or ptr_name = array_name or
Here pointer does not point to all the elements of an array, instead initially it points to the first
element of an array later which is incremented to get other elements.
16
PRINCIPLES OF PROGRAMMING using C Module-4 BPOPS103
printf(“%d\t”,a[i]); //a[1]=12
printf(“%d\n”,&a[i]); //2263435
printf(“%d\t”,*ptr); //12
printf(“%d\n”,ptr); //2263435
ptr++; //makes ptr to point to next value by adding ptr= ptr+1
}
getch();
}
Output:
17