SlideShare a Scribd company logo
Module-2 Strings
• A string is a sequence of characters terminated by a null character ‘0’.
• ‘0’ is automatically encountered at the end of the string.
Declaration of string
char ch[6] ;
Here, ch is a string which can store a maximum of 5 characters and 1 character is reserved for
‘0’.
Introduction
char ch[6] = “HELLO” ;
char ch[6] = “Good” ;
Initialization of string
ch[0] ch[1] ch[2] ch[3] ch[4] ch[5]
‘H’ ‘E’ ‘L’ ‘L’ ‘O’ ‘0’
ch[0] ch[1] ch[2] ch[3] ch[4] ch[5]
‘G’ ‘o’ ‘o’ ‘d’ ‘0’ ‘0’
char ch[6] = { ‘P’, ‘r’, ‘e’, ‘m’, ‘0’ } ; ch[0] ch[1] ch[2] ch[3] ch[4] ch[5]
‘P’ ‘r’ ‘e’ ‘m’ ‘0’ ‘0’
char ch[6] = “Program” ; ch[0] ch[1] ch[2] ch[3] ch[4] ch[5]
‘P’ ‘r’ ‘o’ ‘g’ ‘r’ ‘a’
Initialization of string
Invalid Initialization
char str3[5];
str3 = “GOOD”;
I/O operations on strings
scanf()
char address[10] ;
scanf(“%s”, address);
gets()
char address[10] ;
gets(address);
Reading Text till ~ is encountered
char line[10] ;
scanf("%[^~]", line);
printf()
char address[10] ;
scanf(“%s”, address);
printf(“%s”, address);
puts()
char address[10] ;
gets(address);
puts(address);
I/O operations on strings
#include<stdio.h>
void main()
{
char line[10] ;
printf("Enter stringn");
gets(line);
printf("The string is: ");
puts(line);
}
I/O operations on strings
#include<stdio.h>
void main()
{
char a[10]="GLOBAL" ;
int i,j;
for(i=0;i<6;i++)
{
for(j=0;j<=i;j++)
printf("%ct", a[j]);
printf("n");
}
}
#include<stdio.h>
void main()
{
char a[10]="GLOBAL" ;
int i,j;
for(i=0;i<6;i++)
{
for(j=0;j<=i;j++)
putchar(a[j]);
printf("n");
}
}
Outputs:
G
G L
G L O
G L O B
G L O B A
G L O B A L
G
GL
GLO
GLOB
GLOBA
GLOBAL
Arithmetic Operations on Characters
To write a character in its integer representation, we may write it as an integer.
char x = ‘a’;
// 97
printf(“%dn”, x);
x = ‘z’–1;
printf(“%dn”, x); // 122-1 = 121
char number[21] = “1988”;
int year = atoi(number);
The function atoi() converts the string “1988” (contained in number) to its numeric equivalent 1988
and assigns it to the integer variable year.
String conversion functions are stored in the header file <std.lib.h>.
String concepts
Variable Length string
C Strings
Storing String
Storing strings and Characters
Differences between Strings and Character array
Character literals and String literals
String literal reference
Defining Strings
Initializing Strings
String Input and Output Function
String Input/Output
Examples of gets and fgets
puts and fputs
Example of puts and fputs
String Manipulation Functions
Function Action
#include<string.h>
strlen() finds the length of a string excluding ‘0’
strcpy() copies one string over another
strcmp() compares two strings
strcat() concatenates two strings
strlwr() Converts the string to lowercase letters
strupr() Converts the string to uppercase letters
String handling Functions
strlen()
strcpy()
strcmp()
strcat()
strlwr()
strupr()
#include<string.h>
void main()
{
char a[21] ;
int len;
printf("Enter a stringn");
gets(a);
len=strlen(a);
printf("The length of the string is: %d", len);
}
String handling Functions
strlen()
strcpy()
strcmp()
strcat()
strlwr()
strupr()
works similar to string-assignment operator.
Syntax:
strcpy(string1, string2);
Assigns the contents of string2 to string1.
string2 may be a string variable or a string constant.
Example:
strcpy(city, “DELHI”);
will assign the string “DELHI” to the string variable city.
strcpy(city1, city2);
will assign the contents of the string variable city2 to the string variable city1.
The size of the array city1 should be large enough to receive the contents of
city2.
String handling Functions
strlen()
strcpy()
strcmp()
strcat()
strlwr()
strupr()
#include<stdio.h>
#include<string.h>
void main()
{
char a[21],b[21] ;
printf("Enter a stringn");
gets(a);
strcpy(b,a);
printf("The copied string is: %s",b);
}
String handling Functions
strlen()
strcpy()
strcmp()
strcat()
strlwr()
strupr()
Syntax:
strcmp(string1, string2);
It compares string1 with string2 (case sensitive)
Returns 0 if string1==string2
Returns value > 0 if string1 > string2
Returns value < 0 if string1 < string2
Examples:
char name1[21]=“string”, name2[21]=“string”;
strcmp(name1, name2);
strcmp(name1, “John”);
strcmp(“Rom”, “Ram”);
String handling Functions
strlen()
strcpy()
strcmp()
strcat()
strlwr()
strupr()
#include<stdio.h>
#include<string.h>
void main()
{
char name1[21]="string", name2[21]="string";
int p1, p2, p3, p4;
p1=strcmp(name1, name2);
p2=strcmp(name1, "String");
p3=strcmp(name1, "Lohit");
p4=strcmp("RAM", "ROM");
printf("p1=%dnp2=%dnp3=%dnp4=%dn",p1,p2,p3,p4);
}
String handling Functions
char name1[21]="string", name2[21]="string";
int p1, p2, p3, p4;
p1=strcmp(name1, name2);
p2=strcmp(name1, "String");
p3=strcmp(name1, "Lohit");
p4=strcmp("RAM", "ROM");
0 1 2 3 4 5 6 -
-
-
-
20
s t r i n g 0
0 1 2 3 4 5 6 - - 20
- -
name1
name2
s t r i n g 0
0 1 2 3 4 5 6 - - 20
- -
S t r i n g 0
0 1 2 3 4 5
L o h i t 0
0 1 2 3
R A M 0
0 1 2 3
R O M 0
String handling Functions
strlen()
strcpy()
strcmp()
strcat()
strlwr()
strupr()
Joins two strings together.
Syntax:
strcat(string1, string2);
• string2 is appended to string1.
• It does so by removing the null character at the end of string1 and placing
string2 from there.
• The string at string2 remains unchanged.
• We must make sure that the size of string1 (to which string2 is appended) is
large enough to accommodate the final string.
String handling Functions
strlen()
strcpy()
strcmp()
strcat()
strlwr()
strupr()
strcat(part1, part2);
String handling Functions
strlen()
strcpy()
strcmp()
strcat()
strlwr()
strupr()
#include<stdio.h>
#include<string.h>
void main()
{
char name1[10]="abc", name2[10]="xyz";
printf("Before concatenationn");
printf("name1= %sn",name1);
printf("name2= %sn",name2);
strcat(name1, name2);
printf("After concatenationn");
printf("name1= %sn",name1);
printf("name2= %sn",name2);
}
String handling Functions
strlen()
strcpy()
strcmp()
strcat()
strlwr()
strupr()
Used to convert a given string into lowercase.
Syntax:
strlwr(string);
#include<stdio.h>
#include<string.h>
void main()
{
char a[21]="C PROGRAM";
printf("Original string= %sn",a);
strlwr(a);
printf("Converted string= %sn",a);
}
String handling Functions
strlen()
strcpy()
strcmp()
strcat()
strlwr()
strupr()
Used to convert a given string into uppercase.
Syntax:
strupr(string);
#include<stdio.h>
#include<string.h>
void main()
{
char a[21]="good morning";
printf("Original string= %sn",a);
strupr(a);
printf("Converted string= %sn",a);
}
Programs on strings
1. Write a C program, which reads your name
from the keyboard and outputs a list of
ASCII codes, which represent your name.
#include<stdio.h>
#include<string.h>
void main()
{
char name[21] ;
int i,len;
printf("Enter your name:n");
gets(name);
len=strlen(name);
printf("The name is ASCII form:n");
for(i=0;i<len;i++)
printf("%d",name[i]);
}
Programs on strings
2. Write a C program to find
length of a string without using
library function.
#include<stdio.h>
void main()
{
char a[21] ;
int len=0, i;
printf("Enter a stringn");
gets(a);
for(i=0;a[i]!='0';i++)
len++;
printf("The length of the string is: %d", len);
}
Programs on strings
3. Write a C program to input a string, convert lowercase letters to uppercase and vice
versa without using library functions.
#include <stdio.h> for(i=0;i<len;i++)
#include<string.h> {
void main() if(a[i]>='A' && a[i]<='Z')
{ a[i]=a[i]+32;
char a[21]; else if(a[i]>='a' && a[i]<='z')
int i, len; a[i]=a[i]-32;
printf("Enter a stringn"); }
gets(a); printf("The modified string is %s", a);
len=strlen(a); }
Programs on strings
4. Write a C program to find total number of alphabets, digits in a string without using library
functions.
#include <stdio.h> for(i=0;i<len;i++)
#include<string.h> {
void main() if((a[i]>='A' && a[i]<='Z') || (a[i]>='a' && a[i]<='z'))
{ alpha++;
char a[21]; else if(a[i]>='0' && a[i]<='9')
int i, len, alpha=0, digit=0; digit++;
printf("Enter a stringn"); }
gets(a); printf("No. of alphabets=%dnNo. of digits=%d", alpha, digit);
len=strlen(a); }
Programs on strings
5. Write a C program to count total number of vowels and consonants in a string.
#include<stdio.h>
#include<string.h>
void main()
{
char a[21];
int i, len, vow=0, cons=0;
printf("Enter a stringn");
gets(a);
strupr(a);
len=strlen(a);
for(i=0;i<len;i++)
{
if (isalpha(a[i]))
{
if(a[i]=='A' || a[i]=='E' || a[i]=='I' || a[i]== 'O' || a[i]=='U')
vow++;
else cons++;
}
}
printf("No. of vowels = %dn", vow);
printf("No. of consonants = %dn", cons);
}
Program to Sort String Characters in C
for (i = 0; i < n-1; i++)
{
for (j = i+1; j < n; j++)
{
if (string[i] > string[j])
{
temp = string[i];
string[i] = string[j];
string[j] = temp;
}
}
}
printf("String after sorting - %s n", string);
return 0;
}
#include <stdio.h>
#include <string.h>
int main (void)
{
char string[] = "simplyeasylearning";
char temp;
int i, j;
int n = strlen(string);
printf("String before sorting - %s n", string);
Program to Reverse String in C
#include <stdio.h>
int main() {
char s1[] = "TajMahal"; // String Given
char s2[8]; // Variable to store
reverse string
int length = 0;
int loop = 0;
while(s1[length] != '0’)
{
length++;
}
printf("nPrinting in reverse - ");
for(loop = --length; loop>=0; loop--)
printf("%c", s1[loop]);
loop = 0;
printf("nStoring in reverse - ");
while(length >= 0)
{
s2[length] = s1[loop];
length--;
loop++;
}
s1[loop] = '0'; // Terminates the string
printf("%sn", s2);
return 0;
}
Program to Swap Strings in C
#include <stdio.h>
int main()
{
char s1[] = "TajMahal";
char s2[] = "Dazzling";
char ch;
int index = 0;
//Character by Character
approach
printf("Before Swapping - n");
printf("Value of s1 - %s n", s1);
printf("Value of s2 - %s n", s2);
while(s1[index] != '0’)
{
ch = s1[index];
s1[index] = s2[index];
s2[index] = ch;
index++;
}
printf("After Swapping - n");
printf("Value of s1 - %s n", s1);
printf("Value of s2 - %s n", s2);
return 0;
}
String Copy Program in C
#include <stdio.h>
int main() {
char s1[] = "TajMahal"; // String
Given
char s2[8]; // Variable to hold
value
int length = 0;
while(s1[length] != '0’)
{
s2[length] = s1[length];
length++;
}
s2[length] = '0'; // Terminate the string
printf("Value in s1 = %s n", s1);
printf("Value in s2 = %s n", s2);
return 0;
}
Program to Compare Strings in C
#include <stdio.h>
int main()
{
char s1[] = "advise";
char s2[] = "advice";
int n = 0;
unsigned short flag = 1;
while (s1[n] != '0’)
{
if(s1[n] != s2[n])
{
flag = 0;
break;
}
n++;
if(flag == 1)
{
printf("%s and %s are identicaln", s1, s2);
}
else
{
printf("%s and %s are NOT identicaln", s1, s2);
}
return 0;
}
Program to Concatenate Strings in C
#include <stdio.h>
#include <string.h>
int main()
{
char s1[10] = "Taj";
char s2[] = "Mahal";
int i, j, n1, n2;
n1 = strlen(s1);
n2 = strlen(s2);
j = 0;
for(i = n1; i< n1+n2; i++ )
{
s1[i] = s2[j];
j++;
}
s1[i] = '0';
printf("%s", s1);
return 0;
}
Implementing a Palindrome String Program in C
#include <stdio.h>
#include <string.h>
int main()
{
char string[100], rev_string[100];
printf("Enter a string: ");
gets(string);
strcpy(rev_string, string);
strrev(rev_string);
if(strcmp(string, rev_string) == 0)
printf("%s is a palindrome string.n", string);
else
printf("%s is not a palindrome string.n", string);
return 0;
}
#include <stdio.h>
#include <string.h>
int main()
{
char str[] = { "abbba" };
// Start from first and
// last character of str
int l = 0;
int h = strlen(str) - 1;
WITHOUT USING LIBRARY FUNCTIONS
// Keep comparing characters while they are same
while (h > l)
{
if (str[l++] != str[h--])
{
printf("%s is not a palindromen", str);
return 0;
// will return from here
}
}
printf("%s is a palindromen", str);
return 0;
}
Arrays of Strings
Pointers to Strings
String/Data Conversion
String/Data Conversion Example
String/Data Conversion Example
String/Data Conversion Example
String/Data Conversion Example
String/Data Conversion Example
2.6 String/Data Conversion
• A common set of applications, format data by either converting a sequence of
characters into corresponding data types or vice versa.
• Two such applications are parsing and telecommunications.
• C already has an extensive set of data conversion functions created for scanf and
printf.
String to Data conversion
• The string scan function is called sscanf ().
• This function scans a string as though the data were coming from a file.
• Just like fscanf (), it requires a format string to provide the formatting parameters for
the data.
• All fscanf () format codes are valid for the scan memory functions.
• Like fscanf (), the scan memory functions also return the number of variables
successfully formatted.
• If they attempt to "read" beyond the end of string-they return an end-of-file flag.
• The basic concept is shown in Figure 11-24.
String to Data conversion
String to Data conversion
sscanf() is a function used to read formatted input from a string.
It stands for "String Scan Formatted".
It is part of the C Standard Library and is declared in the <stdio.h> header file.
Syntax/The function prototype of sscanf() is:
int sscanf(const char *str, const char *format, ...);
Here,
• str is the string from which data is to be read.
• format is a format string that specifies how to interpret the data in the string str.
• The ellipsis ... indicates that sscanf() can accept a variable number of arguments. These arguments
are pointers to the variables where the extracted data will be stored.
NOTE:
Sscanf() is one-to-many function.
It splits one string into many variables.
Example for sscanf()
#include <stdio.h>
int main() {
char str[] = "John 25 123.45";
char name[20];
int age;
float salary;
sscanf(str, "%s %d %f", name, &age, &salary);
printf("Name: %sn", name);
printf("Age: %dn", age);
printf("Salary: %.2fn", salary);
return 0;
}
OUTPUT:
Name: John
Age: 25
Salary: 123.45
Data to String Conversion
• The string print function sprintf() follows the rules of fprintf().
• Rather the sending the data to a file, however, it simply "writes" them to a
string.
• When all data have been formatted to the string, a terminating null character
added to make the result a valid string.
• If an error is detected, sprintf() returns any negative value, traditionally EOF.
• If the formatting is successful, it returns the number of characters formatted,
not counting the terminating null character.
• The string print operation is shown in Figure 11-25.
Data to String Conversion
• sprintf() is a function used to write formatted data to a string.
• It stands for "String Print Formatted".
• It is part of the C Standard Library and is declared in the <stdio.h> header file.
Syntax/The function prototype of sprintf() is:
int sprintf(char *str, const char *format, ...);
Here,
• str is the character array (string) where the formatted data will be stored.
• format is a format string that specifies how the data should be formatted.
• The ellipsis ... indicates that sprintf() can accept a variable number of
arguments. These arguments are the values to be formatted and inserted into the
string according to the format string.
Example for sprintf()
#include <stdio.h>
int main() {
char str[100];
int age = 25;
float salary = 123.45;
sprintf(str, "My age is %d and my salary is %.2f", age, salary);
printf("%sn", str);
return 0;
}
OUTPUT:
My age is 25 and my salary is
123.45
NOTE:
Sscanf() is many-to-one function.
It joins many pieces od data into one string.
Ad

More Related Content

Similar to Module-2_Strings concepts in c programming (20)

CP-STRING.ppt
CP-STRING.pptCP-STRING.ppt
CP-STRING.ppt
arunatluri
 
Team 1
Team 1Team 1
Team 1
Sathasivam Rangasamy
 
[ITP - Lecture 17] Strings in C/C++
[ITP - Lecture 17] Strings in C/C++[ITP - Lecture 17] Strings in C/C++
[ITP - Lecture 17] Strings in C/C++
Muhammad Hammad Waseem
 
CPSTRINGSARGAVISTRINGS.PPT
CPSTRINGSARGAVISTRINGS.PPTCPSTRINGSARGAVISTRINGS.PPT
CPSTRINGSARGAVISTRINGS.PPT
Sasideepa
 
BHARGAVISTRINGS.PPT
BHARGAVISTRINGS.PPTBHARGAVISTRINGS.PPT
BHARGAVISTRINGS.PPT
Sasideepa
 
Strings
StringsStrings
Strings
Mitali Chugh
 
Unitii string
Unitii stringUnitii string
Unitii string
Sowri Rajan
 
Lecture 2. mte 407
Lecture 2. mte 407Lecture 2. mte 407
Lecture 2. mte 407
rumanatasnim415
 
SPL 13 | Character Array(String) in C
SPL 13 | Character Array(String) in CSPL 13 | Character Array(String) in C
SPL 13 | Character Array(String) in C
Mohammad Imam Hossain
 
C Programming Strings.docx
C Programming Strings.docxC Programming Strings.docx
C Programming Strings.docx
8759000398
 
String_C.pptx
String_C.pptxString_C.pptx
String_C.pptx
HARSHITHA EBBALI
 
0-Slot21-22-Strings.pdf
0-Slot21-22-Strings.pdf0-Slot21-22-Strings.pdf
0-Slot21-22-Strings.pdf
ssusere19c741
 
Handling of character strings C programming
Handling of character strings C programmingHandling of character strings C programming
Handling of character strings C programming
Appili Vamsi Krishna
 
Strings IN C
Strings IN CStrings IN C
Strings IN C
yndaravind
 
unit-5 String Math Date Time AI presentation
unit-5 String Math Date Time AI presentationunit-5 String Math Date Time AI presentation
unit-5 String Math Date Time AI presentation
MukeshTheLioner
 
introduction to strings in c programming
introduction to strings in c programmingintroduction to strings in c programming
introduction to strings in c programming
mikeymanjiro2090
 
Strings
StringsStrings
Strings
Imad Ali
 
COm1407: Character & Strings
COm1407: Character & StringsCOm1407: Character & Strings
COm1407: Character & Strings
Hemantha Kulathilake
 
14 strings
14 strings14 strings
14 strings
Rohit Shrivastava
 
Week6_P_String.pptx
Week6_P_String.pptxWeek6_P_String.pptx
Week6_P_String.pptx
OluwafolakeOjo
 

Recently uploaded (20)

Control Methods of Noise Pollutions.pptx
Control Methods of Noise Pollutions.pptxControl Methods of Noise Pollutions.pptx
Control Methods of Noise Pollutions.pptx
vvsasane
 
Lecture - 7 Canals of the topic of the civil engineering
Lecture - 7  Canals of the topic of the civil engineeringLecture - 7  Canals of the topic of the civil engineering
Lecture - 7 Canals of the topic of the civil engineering
MJawadkhan1
 
Design of Variable Depth Single-Span Post.pdf
Design of Variable Depth Single-Span Post.pdfDesign of Variable Depth Single-Span Post.pdf
Design of Variable Depth Single-Span Post.pdf
Kamel Farid
 
How to Build a Desktop Weather Station Using ESP32 and E-ink Display
How to Build a Desktop Weather Station Using ESP32 and E-ink DisplayHow to Build a Desktop Weather Station Using ESP32 and E-ink Display
How to Build a Desktop Weather Station Using ESP32 and E-ink Display
CircuitDigest
 
Slide share PPT of SOx control technologies.pptx
Slide share PPT of SOx control technologies.pptxSlide share PPT of SOx control technologies.pptx
Slide share PPT of SOx control technologies.pptx
vvsasane
 
Prediction of Flexural Strength of Concrete Produced by Using Pozzolanic Mate...
Prediction of Flexural Strength of Concrete Produced by Using Pozzolanic Mate...Prediction of Flexural Strength of Concrete Produced by Using Pozzolanic Mate...
Prediction of Flexural Strength of Concrete Produced by Using Pozzolanic Mate...
Journal of Soft Computing in Civil Engineering
 
Autodesk Fusion 2025 Tutorial: User Interface
Autodesk Fusion 2025 Tutorial: User InterfaceAutodesk Fusion 2025 Tutorial: User Interface
Autodesk Fusion 2025 Tutorial: User Interface
Atif Razi
 
01.คุณลักษณะเฉพาะของอุปกรณ์_pagenumber.pdf
01.คุณลักษณะเฉพาะของอุปกรณ์_pagenumber.pdf01.คุณลักษณะเฉพาะของอุปกรณ์_pagenumber.pdf
01.คุณลักษณะเฉพาะของอุปกรณ์_pagenumber.pdf
PawachMetharattanara
 
Evonik Overview Visiomer Specialty Methacrylates.pdf
Evonik Overview Visiomer Specialty Methacrylates.pdfEvonik Overview Visiomer Specialty Methacrylates.pdf
Evonik Overview Visiomer Specialty Methacrylates.pdf
szhang13
 
twin tower attack 2001 new york city
twin  tower  attack  2001 new  york citytwin  tower  attack  2001 new  york city
twin tower attack 2001 new york city
harishreemavs
 
ML_Unit_V_RDC_ASSOCIATION AND DIMENSIONALITY REDUCTION.pdf
ML_Unit_V_RDC_ASSOCIATION AND DIMENSIONALITY REDUCTION.pdfML_Unit_V_RDC_ASSOCIATION AND DIMENSIONALITY REDUCTION.pdf
ML_Unit_V_RDC_ASSOCIATION AND DIMENSIONALITY REDUCTION.pdf
rameshwarchintamani
 
ML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdf
ML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdfML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdf
ML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdf
rameshwarchintamani
 
2.3 Genetically Modified Organisms (1).ppt
2.3 Genetically Modified Organisms (1).ppt2.3 Genetically Modified Organisms (1).ppt
2.3 Genetically Modified Organisms (1).ppt
rakshaiya16
 
Applications of Centroid in Structural Engineering
Applications of Centroid in Structural EngineeringApplications of Centroid in Structural Engineering
Applications of Centroid in Structural Engineering
suvrojyotihalder2006
 
Jacob Murphy Australia - Excels In Optimizing Software Applications
Jacob Murphy Australia - Excels In Optimizing Software ApplicationsJacob Murphy Australia - Excels In Optimizing Software Applications
Jacob Murphy Australia - Excels In Optimizing Software Applications
Jacob Murphy Australia
 
6th International Conference on Big Data, Machine Learning and IoT (BMLI 2025)
6th International Conference on Big Data, Machine Learning and IoT (BMLI 2025)6th International Conference on Big Data, Machine Learning and IoT (BMLI 2025)
6th International Conference on Big Data, Machine Learning and IoT (BMLI 2025)
ijflsjournal087
 
Nanometer Metal-Organic-Framework Literature Comparison
Nanometer Metal-Organic-Framework  Literature ComparisonNanometer Metal-Organic-Framework  Literature Comparison
Nanometer Metal-Organic-Framework Literature Comparison
Chris Harding
 
Personal Protective Efsgfgsffquipment.ppt
Personal Protective Efsgfgsffquipment.pptPersonal Protective Efsgfgsffquipment.ppt
Personal Protective Efsgfgsffquipment.ppt
ganjangbegu579
 
Frontend Architecture Diagram/Guide For Frontend Engineers
Frontend Architecture Diagram/Guide For Frontend EngineersFrontend Architecture Diagram/Guide For Frontend Engineers
Frontend Architecture Diagram/Guide For Frontend Engineers
Michael Hertzberg
 
ATAL 6 Days Online FDP Scheme Document 2025-26.pdf
ATAL 6 Days Online FDP Scheme Document 2025-26.pdfATAL 6 Days Online FDP Scheme Document 2025-26.pdf
ATAL 6 Days Online FDP Scheme Document 2025-26.pdf
ssuserda39791
 
Control Methods of Noise Pollutions.pptx
Control Methods of Noise Pollutions.pptxControl Methods of Noise Pollutions.pptx
Control Methods of Noise Pollutions.pptx
vvsasane
 
Lecture - 7 Canals of the topic of the civil engineering
Lecture - 7  Canals of the topic of the civil engineeringLecture - 7  Canals of the topic of the civil engineering
Lecture - 7 Canals of the topic of the civil engineering
MJawadkhan1
 
Design of Variable Depth Single-Span Post.pdf
Design of Variable Depth Single-Span Post.pdfDesign of Variable Depth Single-Span Post.pdf
Design of Variable Depth Single-Span Post.pdf
Kamel Farid
 
How to Build a Desktop Weather Station Using ESP32 and E-ink Display
How to Build a Desktop Weather Station Using ESP32 and E-ink DisplayHow to Build a Desktop Weather Station Using ESP32 and E-ink Display
How to Build a Desktop Weather Station Using ESP32 and E-ink Display
CircuitDigest
 
Slide share PPT of SOx control technologies.pptx
Slide share PPT of SOx control technologies.pptxSlide share PPT of SOx control technologies.pptx
Slide share PPT of SOx control technologies.pptx
vvsasane
 
Autodesk Fusion 2025 Tutorial: User Interface
Autodesk Fusion 2025 Tutorial: User InterfaceAutodesk Fusion 2025 Tutorial: User Interface
Autodesk Fusion 2025 Tutorial: User Interface
Atif Razi
 
01.คุณลักษณะเฉพาะของอุปกรณ์_pagenumber.pdf
01.คุณลักษณะเฉพาะของอุปกรณ์_pagenumber.pdf01.คุณลักษณะเฉพาะของอุปกรณ์_pagenumber.pdf
01.คุณลักษณะเฉพาะของอุปกรณ์_pagenumber.pdf
PawachMetharattanara
 
Evonik Overview Visiomer Specialty Methacrylates.pdf
Evonik Overview Visiomer Specialty Methacrylates.pdfEvonik Overview Visiomer Specialty Methacrylates.pdf
Evonik Overview Visiomer Specialty Methacrylates.pdf
szhang13
 
twin tower attack 2001 new york city
twin  tower  attack  2001 new  york citytwin  tower  attack  2001 new  york city
twin tower attack 2001 new york city
harishreemavs
 
ML_Unit_V_RDC_ASSOCIATION AND DIMENSIONALITY REDUCTION.pdf
ML_Unit_V_RDC_ASSOCIATION AND DIMENSIONALITY REDUCTION.pdfML_Unit_V_RDC_ASSOCIATION AND DIMENSIONALITY REDUCTION.pdf
ML_Unit_V_RDC_ASSOCIATION AND DIMENSIONALITY REDUCTION.pdf
rameshwarchintamani
 
ML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdf
ML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdfML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdf
ML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdf
rameshwarchintamani
 
2.3 Genetically Modified Organisms (1).ppt
2.3 Genetically Modified Organisms (1).ppt2.3 Genetically Modified Organisms (1).ppt
2.3 Genetically Modified Organisms (1).ppt
rakshaiya16
 
Applications of Centroid in Structural Engineering
Applications of Centroid in Structural EngineeringApplications of Centroid in Structural Engineering
Applications of Centroid in Structural Engineering
suvrojyotihalder2006
 
Jacob Murphy Australia - Excels In Optimizing Software Applications
Jacob Murphy Australia - Excels In Optimizing Software ApplicationsJacob Murphy Australia - Excels In Optimizing Software Applications
Jacob Murphy Australia - Excels In Optimizing Software Applications
Jacob Murphy Australia
 
6th International Conference on Big Data, Machine Learning and IoT (BMLI 2025)
6th International Conference on Big Data, Machine Learning and IoT (BMLI 2025)6th International Conference on Big Data, Machine Learning and IoT (BMLI 2025)
6th International Conference on Big Data, Machine Learning and IoT (BMLI 2025)
ijflsjournal087
 
Nanometer Metal-Organic-Framework Literature Comparison
Nanometer Metal-Organic-Framework  Literature ComparisonNanometer Metal-Organic-Framework  Literature Comparison
Nanometer Metal-Organic-Framework Literature Comparison
Chris Harding
 
Personal Protective Efsgfgsffquipment.ppt
Personal Protective Efsgfgsffquipment.pptPersonal Protective Efsgfgsffquipment.ppt
Personal Protective Efsgfgsffquipment.ppt
ganjangbegu579
 
Frontend Architecture Diagram/Guide For Frontend Engineers
Frontend Architecture Diagram/Guide For Frontend EngineersFrontend Architecture Diagram/Guide For Frontend Engineers
Frontend Architecture Diagram/Guide For Frontend Engineers
Michael Hertzberg
 
ATAL 6 Days Online FDP Scheme Document 2025-26.pdf
ATAL 6 Days Online FDP Scheme Document 2025-26.pdfATAL 6 Days Online FDP Scheme Document 2025-26.pdf
ATAL 6 Days Online FDP Scheme Document 2025-26.pdf
ssuserda39791
 
Ad

Module-2_Strings concepts in c programming

  • 2. • A string is a sequence of characters terminated by a null character ‘0’. • ‘0’ is automatically encountered at the end of the string. Declaration of string char ch[6] ; Here, ch is a string which can store a maximum of 5 characters and 1 character is reserved for ‘0’. Introduction
  • 3. char ch[6] = “HELLO” ; char ch[6] = “Good” ; Initialization of string ch[0] ch[1] ch[2] ch[3] ch[4] ch[5] ‘H’ ‘E’ ‘L’ ‘L’ ‘O’ ‘0’ ch[0] ch[1] ch[2] ch[3] ch[4] ch[5] ‘G’ ‘o’ ‘o’ ‘d’ ‘0’ ‘0’ char ch[6] = { ‘P’, ‘r’, ‘e’, ‘m’, ‘0’ } ; ch[0] ch[1] ch[2] ch[3] ch[4] ch[5] ‘P’ ‘r’ ‘e’ ‘m’ ‘0’ ‘0’ char ch[6] = “Program” ; ch[0] ch[1] ch[2] ch[3] ch[4] ch[5] ‘P’ ‘r’ ‘o’ ‘g’ ‘r’ ‘a’
  • 4. Initialization of string Invalid Initialization char str3[5]; str3 = “GOOD”;
  • 5. I/O operations on strings scanf() char address[10] ; scanf(“%s”, address); gets() char address[10] ; gets(address); Reading Text till ~ is encountered char line[10] ; scanf("%[^~]", line); printf() char address[10] ; scanf(“%s”, address); printf(“%s”, address); puts() char address[10] ; gets(address); puts(address);
  • 6. I/O operations on strings #include<stdio.h> void main() { char line[10] ; printf("Enter stringn"); gets(line); printf("The string is: "); puts(line); }
  • 7. I/O operations on strings #include<stdio.h> void main() { char a[10]="GLOBAL" ; int i,j; for(i=0;i<6;i++) { for(j=0;j<=i;j++) printf("%ct", a[j]); printf("n"); } } #include<stdio.h> void main() { char a[10]="GLOBAL" ; int i,j; for(i=0;i<6;i++) { for(j=0;j<=i;j++) putchar(a[j]); printf("n"); } }
  • 8. Outputs: G G L G L O G L O B G L O B A G L O B A L G GL GLO GLOB GLOBA GLOBAL
  • 9. Arithmetic Operations on Characters To write a character in its integer representation, we may write it as an integer. char x = ‘a’; // 97 printf(“%dn”, x); x = ‘z’–1; printf(“%dn”, x); // 122-1 = 121 char number[21] = “1988”; int year = atoi(number); The function atoi() converts the string “1988” (contained in number) to its numeric equivalent 1988 and assigns it to the integer variable year. String conversion functions are stored in the header file <std.lib.h>.
  • 14. Storing strings and Characters
  • 15. Differences between Strings and Character array
  • 16. Character literals and String literals
  • 20. String Input and Output Function
  • 22. Examples of gets and fgets
  • 24. Example of puts and fputs
  • 25. String Manipulation Functions Function Action #include<string.h> strlen() finds the length of a string excluding ‘0’ strcpy() copies one string over another strcmp() compares two strings strcat() concatenates two strings strlwr() Converts the string to lowercase letters strupr() Converts the string to uppercase letters
  • 26. String handling Functions strlen() strcpy() strcmp() strcat() strlwr() strupr() #include<string.h> void main() { char a[21] ; int len; printf("Enter a stringn"); gets(a); len=strlen(a); printf("The length of the string is: %d", len); }
  • 27. String handling Functions strlen() strcpy() strcmp() strcat() strlwr() strupr() works similar to string-assignment operator. Syntax: strcpy(string1, string2); Assigns the contents of string2 to string1. string2 may be a string variable or a string constant. Example: strcpy(city, “DELHI”); will assign the string “DELHI” to the string variable city. strcpy(city1, city2); will assign the contents of the string variable city2 to the string variable city1. The size of the array city1 should be large enough to receive the contents of city2.
  • 28. String handling Functions strlen() strcpy() strcmp() strcat() strlwr() strupr() #include<stdio.h> #include<string.h> void main() { char a[21],b[21] ; printf("Enter a stringn"); gets(a); strcpy(b,a); printf("The copied string is: %s",b); }
  • 29. String handling Functions strlen() strcpy() strcmp() strcat() strlwr() strupr() Syntax: strcmp(string1, string2); It compares string1 with string2 (case sensitive) Returns 0 if string1==string2 Returns value > 0 if string1 > string2 Returns value < 0 if string1 < string2 Examples: char name1[21]=“string”, name2[21]=“string”; strcmp(name1, name2); strcmp(name1, “John”); strcmp(“Rom”, “Ram”);
  • 30. String handling Functions strlen() strcpy() strcmp() strcat() strlwr() strupr() #include<stdio.h> #include<string.h> void main() { char name1[21]="string", name2[21]="string"; int p1, p2, p3, p4; p1=strcmp(name1, name2); p2=strcmp(name1, "String"); p3=strcmp(name1, "Lohit"); p4=strcmp("RAM", "ROM"); printf("p1=%dnp2=%dnp3=%dnp4=%dn",p1,p2,p3,p4); }
  • 31. String handling Functions char name1[21]="string", name2[21]="string"; int p1, p2, p3, p4; p1=strcmp(name1, name2); p2=strcmp(name1, "String"); p3=strcmp(name1, "Lohit"); p4=strcmp("RAM", "ROM"); 0 1 2 3 4 5 6 - - - - 20 s t r i n g 0 0 1 2 3 4 5 6 - - 20 - - name1 name2 s t r i n g 0 0 1 2 3 4 5 6 - - 20 - - S t r i n g 0 0 1 2 3 4 5 L o h i t 0 0 1 2 3 R A M 0 0 1 2 3 R O M 0
  • 32. String handling Functions strlen() strcpy() strcmp() strcat() strlwr() strupr() Joins two strings together. Syntax: strcat(string1, string2); • string2 is appended to string1. • It does so by removing the null character at the end of string1 and placing string2 from there. • The string at string2 remains unchanged. • We must make sure that the size of string1 (to which string2 is appended) is large enough to accommodate the final string.
  • 34. String handling Functions strlen() strcpy() strcmp() strcat() strlwr() strupr() #include<stdio.h> #include<string.h> void main() { char name1[10]="abc", name2[10]="xyz"; printf("Before concatenationn"); printf("name1= %sn",name1); printf("name2= %sn",name2); strcat(name1, name2); printf("After concatenationn"); printf("name1= %sn",name1); printf("name2= %sn",name2); }
  • 35. String handling Functions strlen() strcpy() strcmp() strcat() strlwr() strupr() Used to convert a given string into lowercase. Syntax: strlwr(string); #include<stdio.h> #include<string.h> void main() { char a[21]="C PROGRAM"; printf("Original string= %sn",a); strlwr(a); printf("Converted string= %sn",a); }
  • 36. String handling Functions strlen() strcpy() strcmp() strcat() strlwr() strupr() Used to convert a given string into uppercase. Syntax: strupr(string); #include<stdio.h> #include<string.h> void main() { char a[21]="good morning"; printf("Original string= %sn",a); strupr(a); printf("Converted string= %sn",a); }
  • 37. Programs on strings 1. Write a C program, which reads your name from the keyboard and outputs a list of ASCII codes, which represent your name. #include<stdio.h> #include<string.h> void main() { char name[21] ; int i,len; printf("Enter your name:n"); gets(name); len=strlen(name); printf("The name is ASCII form:n"); for(i=0;i<len;i++) printf("%d",name[i]); }
  • 38. Programs on strings 2. Write a C program to find length of a string without using library function. #include<stdio.h> void main() { char a[21] ; int len=0, i; printf("Enter a stringn"); gets(a); for(i=0;a[i]!='0';i++) len++; printf("The length of the string is: %d", len); }
  • 39. Programs on strings 3. Write a C program to input a string, convert lowercase letters to uppercase and vice versa without using library functions. #include <stdio.h> for(i=0;i<len;i++) #include<string.h> { void main() if(a[i]>='A' && a[i]<='Z') { a[i]=a[i]+32; char a[21]; else if(a[i]>='a' && a[i]<='z') int i, len; a[i]=a[i]-32; printf("Enter a stringn"); } gets(a); printf("The modified string is %s", a); len=strlen(a); }
  • 40. Programs on strings 4. Write a C program to find total number of alphabets, digits in a string without using library functions. #include <stdio.h> for(i=0;i<len;i++) #include<string.h> { void main() if((a[i]>='A' && a[i]<='Z') || (a[i]>='a' && a[i]<='z')) { alpha++; char a[21]; else if(a[i]>='0' && a[i]<='9') int i, len, alpha=0, digit=0; digit++; printf("Enter a stringn"); } gets(a); printf("No. of alphabets=%dnNo. of digits=%d", alpha, digit); len=strlen(a); }
  • 41. Programs on strings 5. Write a C program to count total number of vowels and consonants in a string. #include<stdio.h> #include<string.h> void main() { char a[21]; int i, len, vow=0, cons=0; printf("Enter a stringn"); gets(a); strupr(a); len=strlen(a); for(i=0;i<len;i++) { if (isalpha(a[i])) { if(a[i]=='A' || a[i]=='E' || a[i]=='I' || a[i]== 'O' || a[i]=='U') vow++; else cons++; } } printf("No. of vowels = %dn", vow); printf("No. of consonants = %dn", cons); }
  • 42. Program to Sort String Characters in C for (i = 0; i < n-1; i++) { for (j = i+1; j < n; j++) { if (string[i] > string[j]) { temp = string[i]; string[i] = string[j]; string[j] = temp; } } } printf("String after sorting - %s n", string); return 0; } #include <stdio.h> #include <string.h> int main (void) { char string[] = "simplyeasylearning"; char temp; int i, j; int n = strlen(string); printf("String before sorting - %s n", string);
  • 43. Program to Reverse String in C #include <stdio.h> int main() { char s1[] = "TajMahal"; // String Given char s2[8]; // Variable to store reverse string int length = 0; int loop = 0; while(s1[length] != '0’) { length++; } printf("nPrinting in reverse - "); for(loop = --length; loop>=0; loop--) printf("%c", s1[loop]); loop = 0; printf("nStoring in reverse - "); while(length >= 0) { s2[length] = s1[loop]; length--; loop++; } s1[loop] = '0'; // Terminates the string printf("%sn", s2); return 0; }
  • 44. Program to Swap Strings in C #include <stdio.h> int main() { char s1[] = "TajMahal"; char s2[] = "Dazzling"; char ch; int index = 0; //Character by Character approach printf("Before Swapping - n"); printf("Value of s1 - %s n", s1); printf("Value of s2 - %s n", s2); while(s1[index] != '0’) { ch = s1[index]; s1[index] = s2[index]; s2[index] = ch; index++; } printf("After Swapping - n"); printf("Value of s1 - %s n", s1); printf("Value of s2 - %s n", s2); return 0; }
  • 45. String Copy Program in C #include <stdio.h> int main() { char s1[] = "TajMahal"; // String Given char s2[8]; // Variable to hold value int length = 0; while(s1[length] != '0’) { s2[length] = s1[length]; length++; } s2[length] = '0'; // Terminate the string printf("Value in s1 = %s n", s1); printf("Value in s2 = %s n", s2); return 0; }
  • 46. Program to Compare Strings in C #include <stdio.h> int main() { char s1[] = "advise"; char s2[] = "advice"; int n = 0; unsigned short flag = 1; while (s1[n] != '0’) { if(s1[n] != s2[n]) { flag = 0; break; } n++; if(flag == 1) { printf("%s and %s are identicaln", s1, s2); } else { printf("%s and %s are NOT identicaln", s1, s2); } return 0; }
  • 47. Program to Concatenate Strings in C #include <stdio.h> #include <string.h> int main() { char s1[10] = "Taj"; char s2[] = "Mahal"; int i, j, n1, n2; n1 = strlen(s1); n2 = strlen(s2); j = 0; for(i = n1; i< n1+n2; i++ ) { s1[i] = s2[j]; j++; } s1[i] = '0'; printf("%s", s1); return 0; }
  • 48. Implementing a Palindrome String Program in C #include <stdio.h> #include <string.h> int main() { char string[100], rev_string[100]; printf("Enter a string: "); gets(string); strcpy(rev_string, string); strrev(rev_string); if(strcmp(string, rev_string) == 0) printf("%s is a palindrome string.n", string); else printf("%s is not a palindrome string.n", string); return 0; }
  • 49. #include <stdio.h> #include <string.h> int main() { char str[] = { "abbba" }; // Start from first and // last character of str int l = 0; int h = strlen(str) - 1; WITHOUT USING LIBRARY FUNCTIONS // Keep comparing characters while they are same while (h > l) { if (str[l++] != str[h--]) { printf("%s is not a palindromen", str); return 0; // will return from here } } printf("%s is a palindromen", str); return 0; }
  • 58. 2.6 String/Data Conversion • A common set of applications, format data by either converting a sequence of characters into corresponding data types or vice versa. • Two such applications are parsing and telecommunications. • C already has an extensive set of data conversion functions created for scanf and printf.
  • 59. String to Data conversion • The string scan function is called sscanf (). • This function scans a string as though the data were coming from a file. • Just like fscanf (), it requires a format string to provide the formatting parameters for the data. • All fscanf () format codes are valid for the scan memory functions. • Like fscanf (), the scan memory functions also return the number of variables successfully formatted. • If they attempt to "read" beyond the end of string-they return an end-of-file flag. • The basic concept is shown in Figure 11-24.
  • 60. String to Data conversion
  • 61. String to Data conversion sscanf() is a function used to read formatted input from a string. It stands for "String Scan Formatted". It is part of the C Standard Library and is declared in the <stdio.h> header file. Syntax/The function prototype of sscanf() is: int sscanf(const char *str, const char *format, ...); Here, • str is the string from which data is to be read. • format is a format string that specifies how to interpret the data in the string str. • The ellipsis ... indicates that sscanf() can accept a variable number of arguments. These arguments are pointers to the variables where the extracted data will be stored. NOTE: Sscanf() is one-to-many function. It splits one string into many variables.
  • 62. Example for sscanf() #include <stdio.h> int main() { char str[] = "John 25 123.45"; char name[20]; int age; float salary; sscanf(str, "%s %d %f", name, &age, &salary); printf("Name: %sn", name); printf("Age: %dn", age); printf("Salary: %.2fn", salary); return 0; } OUTPUT: Name: John Age: 25 Salary: 123.45
  • 63. Data to String Conversion • The string print function sprintf() follows the rules of fprintf(). • Rather the sending the data to a file, however, it simply "writes" them to a string. • When all data have been formatted to the string, a terminating null character added to make the result a valid string. • If an error is detected, sprintf() returns any negative value, traditionally EOF. • If the formatting is successful, it returns the number of characters formatted, not counting the terminating null character. • The string print operation is shown in Figure 11-25.
  • 64. Data to String Conversion
  • 65. • sprintf() is a function used to write formatted data to a string. • It stands for "String Print Formatted". • It is part of the C Standard Library and is declared in the <stdio.h> header file. Syntax/The function prototype of sprintf() is: int sprintf(char *str, const char *format, ...); Here, • str is the character array (string) where the formatted data will be stored. • format is a format string that specifies how the data should be formatted. • The ellipsis ... indicates that sprintf() can accept a variable number of arguments. These arguments are the values to be formatted and inserted into the string according to the format string.
  • 66. Example for sprintf() #include <stdio.h> int main() { char str[100]; int age = 25; float salary = 123.45; sprintf(str, "My age is %d and my salary is %.2f", age, salary); printf("%sn", str); return 0; } OUTPUT: My age is 25 and my salary is 123.45 NOTE: Sscanf() is many-to-one function. It joins many pieces od data into one string.
  翻译: