0% found this document useful (0 votes)
53 views5 pages

Programming Methodology Lab 5: Character and String:, Qwurgxfwlrq

This document introduces C standard library functions for manipulating strings and characters. It discusses strings, characters, and the difference between them in C. It then presents functions from the standard input/output, character handling, and string handling libraries for processing string and character data, including functions like fgets(), isdigit(), strcpy(), and strcmp(). Examples of using these functions are provided.
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)
53 views5 pages

Programming Methodology Lab 5: Character and String:, Qwurgxfwlrq

This document introduces C standard library functions for manipulating strings and characters. It discusses strings, characters, and the difference between them in C. It then presents functions from the standard input/output, character handling, and string handling libraries for processing string and character data, including functions like fgets(), isdigit(), strcpy(), and strcmp(). Examples of using these functions are provided.
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/ 5

721'8&7+$1*81,9(56,7<

 )DFXOW\RI,QIRUPDWLRQ7HFKQRORJ\


PROGRAMMING METHODOLOGY
Lab 5: Character and String

 ,QWURGXFWLRQ

,QWKLVODEWXWRULDOZH
OOLQWURGXFHWKH&VWDQGDUGOLEUDU\IXQFWLRQVWKDWPDQLSXODWLQJVWULQJDQG
FKDUDFWHU7KHVHIXQFWLRQVHQDEOHRXUSURJUDPWRSURFHVVFKDUDFWHUVVWULQJVOLQHVRIWH[WDQGEORFN
RIPHPRU\

 )XQGDPHQWDORI6WULQJDQG&KDUDFWHU

$VWULQJLVDVHULHVRIFKDUDFWHUVWUHDWHGDVDVLQJOHXQLW$VWULQJPD\LQFOXGHOHWWHUVGLJLWVDQG
YDULRXV VSHFLDO FKDUDFWHUV VXFK DV ൅ Ǧ ȗ Ȁ DQG ̈́ 6WULQJ OLWHUDOV RU VWULQJ FRQVWDQWV LQ & DUH
ZULWWHQLQGRXEOHTXRWDWLRQPDUNV)RUH[DPSOHWRUHSUHVHQWDQDPHZHGHFODUHDV-RKQ6PLWK
RUDVWUHHWDGGUHVVLV1JX\HQ+XX7KR6WUHHW

$VWULQJLQ&LVDQDUUD\RIFKDUDFWHUVHQGLQJLQWKHQXOOFKDUDFWHU
?
$VWULQJLVDFFHVVHGYLDD
SRLQWHUWRWKHILUVWFKDUDFWHULQWKHVWULQJ7KHYDOXHRIDVWULQJLVWKHDGGUHVVRILWVILUVWFKDUDFWHU
7KXVLQ&LW
VDSSURSULDWHWRVD\WKDWDVWULQJLVDSRLQWHU±LQIDFWDSRLQWHUWRWKHVWULQJ
VILUVW
FKDUDFWHU,QWKLVVHQVHVWULQJVDUHOLNHDUUD\VEHFDXVHDQDUUD\LVDOVRDSRLQWHUWRLWVILUVWHOHPHQW

$FKDUDFWHUDUUD\RUDYDULDEOHRIW\SHchar*FDQEHLQLWLDOL]HGZLWKDVWULQJLQDGHILQLWLRQ(DFK
GHFODUDWLRQLQLWLDOL]HVDYDULDEOHWRWKHVWULQJ"blue"7KHILUVWGHFODUDWLRQFUHDWHVDQDUUD\ZLWK
HOHPHQWVFRQWDLQLQJWKHFKDUDFWHUV'b''l''u''e'DQG'\0'7KHVHFRQGGHFODUDWLRQ
FUHDWHVDSRLQWHUYDULDEOHclrPtrWKDWSRLQWVWRWKHVWULQJ"blue"VRPHZKHUHLQPHPRU\

char color[] = "blue";


char *clrPtr = "blue";

3ULQWLQJDVWULQJWKDWGRHVQRWFRQWDLQDWHUPLQDWLQJQXOOFKDUDFWHU
?
LVDQHUURU:KHQVWRULQJD
VWULQJRIFKDUDFWHUVLQDFKDUDFWHUDUUD\EHVXUHWKDWWKHDUUD\LVODUJHHQRXJKWRKROGWKHODUJHVW
VWULQJWKDWZLOOEHVWRUHG

Phuc Duong – http://it.tdt.edu.vn/~dhphuc  



721'8&7+$1*81,9(56,7<
 )DFXOW\RI,QIRUPDWLRQ7HFKQRORJ\

 6WDQGDUG,QSXWRXWSXW/LEUDU\)XQFWLRQV

7KLV VHFWLRQ SUHVHQWV VHYHUDO IXQFWLRQV IURP WKH VWDQGDUG LQSXWRXWSXW OLEUDU\ <stdio.h> 
VSHFLILFDOO\ IRU PDQLSXODWLQJ FKDUDFWHU DQG VWULQJ GDWD 7KH IROORZLQJ SURJUDP ZLOO SUHVHQW DQ
DSSURDFKWRUHDGDQGDVVLJQDQLQSXWVWULQJWRDUUD\YDULDEOH:HXVHIXQFWLRQVIJHWVVFDQIDQG
SXWFKDUWRUHDGDOLQHRIWH[WIURPWKHVWDQGDUGLQSXW NH\ERDUG DQGWKHQUHWXUQWKHQXPEHURI
FKDUDFWHUV VWULQJ
VOHQJWK )XQFWLRQIJHWVUHDGVFKDUDFWHUVIURPWKHVWDQGDUGLQSXWLQWRLWVILUVW
DUJXPHQW±DQDUUD\RIFKDUV±XQWLODQHZOLQHRUWKHHQGRIILOHLQGLFDWRULVHQFRXQWHUHGRUXQWLO
WKHPD[LPXPQXPEHURIFKDUDFWHUVLVUHDG7KHPD[LPXPQXPEHURIFKDUDFWHUVLVRQHIHZHUWKDQ
WKHYDOXHVSHFLILHGLQIJHWV
VVHFRQGDUJXPHQW7KHWKLUGDUJXPHQWVSHFLILHVWKHVWUHDPIURPZKLFK
WRUHDGFKDUDFWHUV±LQWKLVFDVHZHXVHWKHVWDQGDUGLQSXWVWUHDP VWGLQ $QXOOFKDUDFWHU
?
LV
DSSHQGHGWRWKHDUUD\ZKHQUHDGLQJWHUPLQDWHV
1 #include <stdio.h>
2 #define SIZE 100
3
4 int getLength(const char*);
5
6 int main()
7 {
8 char str[SIZE]; // create char array
9
10 printf("Enter your name: ");
11 fgets(str, SIZE, stdin);
12
13 printf("String: %s\n", str);
14 printf("String's length: %d", getLength(str));
15
16 return 0;
17 }
18
19 int getLength(const char* str)
20 {
21 if(str[0] == '\0') return 0;
22
23 int length = 0;
24 while(str[length] != '\0')
25 {
26 length = length + 1;
27 }
29
29 return length - 1; // exclude new line character
30 }

 &KDUDFWHU+DQGOLQJ/LEUDU\

7KHFKDUDFWHUKDQGOLQJOLEUDU\ <ctype.h> LQFOXGHVVHYHUDOIXQFWLRQVWKDWSHUIRUPXVHIXOWHVWV


DQGPDQLSXODWLRQVRIFKDUDFWHUGDWD(DFKIXQFWLRQUHFHLYHVDQXQVLJQHGFKDU UHSUHVHQWHGDVDQ
Phuc Duong – http://it.tdt.edu.vn/~dhphuc  

721'8&7+$1*81,9(56,7<
 )DFXOW\RI,QIRUPDWLRQ7HFKQRORJ\

LQW &KDUDFWHUVDUHRIWHQPDQLSXODWHGDVLQWHJHUVEHFDXVHDFKDUDFWHULQ&LVDRQHE\WHLQWHJHU
7DEOHEHORZGHVFULEHVVRPHXVHIXOIXQFWLRQVWRPDQLSXODWHDFKDUDFWHU

3URWRW\SH 'HVFULSWLRQ

int isblank( int c );


5HWXUQV D WUXH YDOXH LI F LV D EODQN FKDUDFWHU WKDW VHSDUDWHV
ZRUGVLQDOLQHRIWH[WDQG IDOVH RWKHUZLVH
int isdigit( int c ); 5HWXUQVDWUXHYDOXHLIFLVDGLJLWDQG IDOVH RWKHUZLVH

int isalpha( int c ); 5HWXUQVDWUXHYDOXHLIFLVDOHWWHUDQGRWKHUZLVH

int isalnum( int c ); 5HWXUQVDWUXHYDOXHLIFLVDGLJLWRUDOHWWHUDQGRWKHUZLVH

int islower( int c ); 5HWXUQVDWUXHYDOXHLIFLVDORZHUFDVHOHWWHUDQGRWKHUZLVH

int isupper( int c ); 5HWXUQVDWUXHYDOXHLIFLVDQXSSHUFDVHOHWWHUDQGRWKHUZLVH

,IFLVDQXSSHUFDVHOHWWHUtolowerUHWXUQVFDVDORZHUFDVH
int tolower( int c );
OHWWHU2WKHUZLVHtolowerUHWXUQVWKHDUJXPHQWXQFKDQJHG
,IFLVDORZHUFDVHOHWWHUtoupperUHWXUQVFDVDQXSSHUFDVH
int toupper( int c );
OHWWHU2WKHUZLVHtoupperUHWXUQVWKHDUJXPHQWXQFKDQJHG
7KHSURJUDPEHORZLOOXVWUDWHVWKHVHIXQFWLRQV
1 #include <stdio.h>
2 #include <ctype.h>
3
4 int main()
5 {
6 printf("Is '8' digit? - %d\n", isdigit('8'));
7 printf("Is 'A' digit? - %d\n", isdigit('A'));
8 printf("Is 'a' in lower-case? - %d\n", islower('a'));
9
10 printf("To lower-case of 'A' - %c\n", tolower('A'));
11 printf("To upper-case of 'a' - %c\n", toupper('A'));
12
13 return 0;
14 }

 6WULQJ+DQGOLQJ/LEUDU\

7KHVWULQJKDQGOLQJOLEUDU\ <string.h> SURYLGHVPDQ\XVHIXOIXQFWLRQVIRUPDQLSXODWLQJ


VWULQJGDWDFRS\LQJVWULQJVFRQFDWHQDWLQJVWULQJVDQGFRPSDULQJVWULQJV7DEOHEHORZGHVFULEHV
VRPHSRSXODUIXQFWLRQLQ<string.h>OLEUDU\

 

Phuc Duong – http://it.tdt.edu.vn/~dhphuc  



721'8&7+$1*81,9(56,7<
 )DFXOW\RI,QIRUPDWLRQ7HFKQRORJ\

3URWRW\SH 'HVFULSWLRQ
char *strcpy
(char *s1, const char *s2) &RSLHVVWULQJVLQWRDUUD\V7KHYDOXHRIVLVUHWXUQHG
char *strncpy
(char *s1, const char *s2,
&RSLHVDWPRVWQFKDUDFWHUVRIVWULQJVLQWRDUUD\V7KH
size_t n) YDOXHRIVLVUHWXUQHG
$SSHQGV VWULQJ V WR DUUD\ V 7KH ILUVW FKDUDFWHU RI V
char *strcat
(char *s1, const char *s2) RYHUZULWHVWKHWHUPLQDWLQJQXOOFKDUDFWHURIV7KHYDOXH
RIVLVUHWXUQHG

char *strncat $SSHQGVDWPRVWQFKDUDFWHUVRIVWULQJVWRDUUD\V7KH


(char *s1, const char *s2, ILUVW FKDUDFWHU RI V RYHUZULWHV WKH WHUPLQDWLQJ QXOO
size_t n) FKDUDFWHURIV7KHYDOXHRIVLVUHWXUQHG

int strcmp &RPSDUHV WKH VWULQJ V ZLWK WKH VWULQJ V 7KH IXQFWLRQ
(const char *s1, const UHWXUQVOHVVWKDQRUJUHDWHUWKDQLIVLVHTXDOWROHVV
char *s2) WKDQRUJUHDWHUWKDQVUHVSHFWLYHO\
&RPSDUHV XS WR Q FKDUDFWHUV RI WKH VWULQJ V ZLWK WKH
int strncmp
(const char *s1, const
VWULQJ V 7KH IXQFWLRQ UHWXUQV  OHVV WKDQ  RU JUHDWHU
char *s2, size_t n) WKDQ  LI V LV HTXDO WR OHVV WKDQ RU JUHDWHU WKDQ V
UHVSHFWLYHO\
7KHSURJUDPEHORZLOOXVWUDWHVWKHVHIXQFWLRQV
1 #include <stdio.h>
2 #include <string.h>
3 #define SIZE 100
4
5 int main()
6 {
7 char str[] = "Happy New Year";
8 char y[] = " 2017";
9 char x[SIZE];
10
11 strcpy(x, str);
12 printf("x is copied: %s\n", x);
13
14 printf("Compare x and str: %d\n", strcmp(str, x));
15
16 printf("Concatenate y to x: %s\n", strcat(x, y));
17
18 return 0;
19 }

 ([HUFLVHV

 ,QSXWDVWULQJDQGUHWXUQWKHVWULQJ
VOHQJWK

 ,QSXWDVWULQJDQGSULQWLWLQUHYHUVHRUGHU

Phuc Duong – http://it.tdt.edu.vn/~dhphuc  



721'8&7+$1*81,9(56,7<
 )DFXOW\RI,QIRUPDWLRQ7HFKQRORJ\

 ,QSXWDVWULQJUHSUHVHQWDIXOOQDPHVSOLWDQGSULQWWKHILUVWQDPHDQGWKHODVWQDPH

 ,QSXWDVWULQJDQGQRUPDOL]HLW WULPWKHVSDFHEHIRUHLQVLGHDQGDIWHUWRORZHUHDFKWRNHQ


H[FHSWWKHILUVW )RUH[DPSOHZLWKWKHLQSXW " PrOgRaMmInG MeThOd "WKHRXWSXW

ZLOOEH"Programming Method"

 ,QSXWWZRVWULQJVDQGVFRQFDWHQDWLQJVWRV 1RWHGRQ


WXVHstring.hOLEUDU\ 

 ,QSXWDVWULQJDQGFKHFNZKHWKHUDFKDUDFWHUDSSHDUVRUQRW,I\HVUHWXUQWKHILUVWSRVLWLRQ

 ,QSXWDVWULQJDQGFKHFNZKHWKHUDFKDUDFWHUDSSHDUVRUQRW,I\HVUHWXUQWKHDOODSSHDULQJ
SRVLWLRQV

 ,QSXWDVWULQJDQGFKHFNZKHWKHUDZRUGDSSHDUVRUQRW,I\HVUHWXUQWKHILUVWSRVLWLRQ

 ,QSXWWZRVWULQJVDQGVUHWXUQWKHILUVWSRVLWLRQZKHUHVDSSHDUVLQV

,QSXWWZRVWULQJVVDQGSRVLWLRQ7KHQLQVHUWVWRVIURPWKLVSRVLWLRQ

,QSXWDVWULQJDQGWZRLQWHJHUQXPEHUVQDPHGQDQGSRVLWLRQ7KHQGHOHWHQFKDUDFWHUV
IURPSRVLWLRQRILQSXWVWULQJ

 5HIHUHQFH

>@ %ULDQ:.HUQLJKDQ 'HQQLV5LWFKLH  &3URJUDPPLQJ/DQJXDJHQG(GLWLRQ


3UHQWLFH+DOO
>@ 3DXO'HLWHO +DUYH\'HLWHO  &+RZWR3URJUDPWK(GLWLRQ3UHQWLFH+DOO
>@ &3URJUDPPLQJ7XWRULDO  7XWRULDOV3RLQW
>@ &3URJUDPPLQJ  :LNLERRNV

Phuc Duong – http://it.tdt.edu.vn/~dhphuc  




You might also like