Sie sind auf Seite 1von 7

1

LP TRNH C#N B%N


CHU'I K T*
2
Ni dung ch$%ng ny
l Khi nim
l Khai bo
l Cc thao tc trn chu$i k t'
3
Khi ni,m
l Chu$i k t' l m)t dy g*m cc k t' ho+c m)t m.ng
cc k t' 0(1c k3t thc b5ng k t' \0 (k t' NULL
trong b.ng m Ascii).
l Cc h5ng chu$i k t' 0(1c 0+t trong c+p d6u nhy
kp .
4
Khai bo
l Khai bo theo m&ng
l Khai bo theo con tr)
l V*a khai bo v*a gn gi tr,
5
Khai bo theo m.ng
l C php:
char <Bi.n> [Chi1u di t2i 3a];
l V d4: char Ten[12];
=> b) nh7 s9 cung c6p 12+1 bytes 0; l(u tr=
n)i dung c>a chu$i k t' Ten;
byte cu@i cng l(u tr= k t' \0 0; ch6m dAt chu$i
l Ghi ch:
l ChiBu di t@i 0a c>a bi3n chu$i: 1..255 bytes.
l Khng nn khai bo thCa 0; trnh lng ph b) nh7.
\0 Ten:
Ten[0] Ten[12]
6
Khai bo theo con trE
l C php: char *<Bi.n>;
l V d4: char *Ten;
l Trong khai bo ny, b) nh7 s9 dnh 2 byte 0; l(u tr= 0Fa chH c>a
bi3n con trE Ten 0ang chH 03n.
l Ch(a cung c6p n2i 0; l(u tr= d= liu.
l Mu@n c ch$ 0; l(u tr= d= liu, ta ph.i gJi 03n hm malloc()
ho+c calloc() c trong alloc.h, sau 0 m7i gn d= liu cho
bi3n.
Tieu Dong Tu
7
VCa khai bo vCa gn gi trF
l C php:
char <Bi.n>[]=<H6ng chu8i>;
l V d4:
l Ghi ch: Chu$i 0(1c khai bo l m)t m.ng cc k t' nn cc thao
tc trn m.ng c th; p dKng 0@i v7i chu$i k t'.
Vua khai bao vua gan tr : Mau nang hay la mau mat em
8
Cc thao tc trn chu8i k t:
l Nh;p xu<t chu8i
l Nhp chu$i t' bn phm
l Xu*t chu$i ln mn hnh
l Mt s2 hm x= l chu8i (trong string.h)
9
Nhp chu$i t' bn phm
l Dng hm gets()
l C php:
gets(<Bi.n chu8i>)
l V dK:
char Ten[20];
gets(Ten);
l Ta cLng c th; sM dKng hm scanf() 0; nhNp d= liu cho bi3n
chu$i, tuy nhin lc ny ta chH c th; nhNp 0(1c m)t chu$i
khng c d6u kho.ng trOng.
l Dng hm cgets() (trong conio.h)
10
Xu*t chu$i ln mn hnh
l P; xu6t m)t chu$i (bi;u thAc chu$i) ln mn hnh, ta sM dKng hm puts().
l C php: puts(<Bi>u th@c chu8i>)
l V d4: NhNp vo m)t chu$i v hi;n thF trn mn hnh chu$i vCa nhNp:
l Ngoi ra, ta c th; sM dKng hm printf(), cputs() (trong conio.h) 0; hi;n thF
chu$i ln mn hnh.
11
M)t s@ hm xM l chu$i (trong string.h)
l C,ng chu$i - Hm strcat()
l Xc -.nh -, di chu$i - Hm strlen()
l 02i m,t k t4 th(5ng thnh k t4 hoa - Hm toupper()
l 02i chu$i ch7 th(5ng thnh chu$i ch7 hoa, hm strupr()
l 02i chu$i ch7 hoa thnh chu$i ch7 th(5ng, hm strlwr()
l Sao chp m,t ph9n chu$i, hm strncpy()
l Trch m,t ph9n chu$i, hm strchr()
l Tm ki:m n,i dung chu$i, hm strstr()
l So snh chu$i, hm strcmp()
l So snh chu$i, hm stricmp()
l Kh<i t>o chu$i, hm memset()
l 02i t' chu$i ra s?, hm atoi(), atof(), atol() (trong stdlib.h)
12
C,ng chu$i - strcat() (1)
l C php:
char *strcat(char *des, const char *source)
l Hm ny c tc dKng ghp chu$i ngu*n (source) vo chu$i
0ch (des).
l Tr. v; con trE chH 03n chu$i k3t qu..
13
C,ng chu$i - strcat() (2)
l V d-: NhNp vo hJ lt v tn c>a m)t ng(Qi, sau
0 in c. hJ v tn c>a hJ ln mn hnh.
14
Xc /0nh /, di chu$i - strlen()
l C php: int strlen(const char* s)
l V d-: Xc 0Fnh 0) di 1 chu$i nhNp tC bn phm.
15
23i m,t k t5 th(6ng thnh k t5
hoa - toupper()
l C php:
char toupper(char c)
l Hm ny (trong ctype.h) 0(1c dng 0; chuy;n
0Ri 1 k t' th(Qng thnh k t' hoa.
16
23i chu$i ch8 th(6ng thnh chu$i
ch8 hoa - strupr() (1)
l C php:
char *strupr(char *s)
l Hm ny 0(1c dng 0; chuy;n 0Ri chu$i ch= th(Qng thnh
chu$i ch= hoa.
l K3t qu. tr. vB l 1 con trE chH 03n chu$i k3t qu..
17
23i chu$i ch8 th(6ng thnh chu$i
ch8 hoa - strupr() (2)
l V d-: NhNp vo m)t chu$i k t' tC bn phm. Sau 0 sM dKng
hm strupr() 0; chuy;n 0Ri chng thnh chu$i ch= hoa.
18
23i chu$i ch8 hoa thnh chu$i
ch8 th(6ng - strlwr()
l C php:
char *strlwr(char *s)
l Hm ny 0(1c dng 0; chuy;n 0Ri chu$i ch= hoa thnh chu$i
ch= th(Qng.
l K3t qu. tr. vB l 1 con trE chH 03n chu$i k3t qu..
19
Sao chp chu$i - strcpy() (1)
l C php:
char *strcpy(char *Des, const char *Source)
l Hm ny 0(1c dng 0; sao chp ton b) n)i dung c>a chu$i
ngu*n vo chu$i 0ch.
20
Sao chp chu$i - strcpy() (2)
l V d-: Vi3t ch(2ng trnh cho php chp ton b) chu$i ngu*n
vo chu$i 0ch
21
Sao chp m,t ph:n chu$i - strncpy()
vTrch m,t ph:n chu$i - strchr()
l Sao chp m,t ph9n chu$i
l C php:
char *strncpy(char *Des, const char *Source, size_t n)
l Chp n k t' 0Su tin c>a chu$i ngu*n sang chu$i 0ch.
l Trch m,t ph9n chu$i, hm strchr()
l C php :
char *strchr(const char *str, int c)
l Trch ra chu$i con c>a str bOt 0Su tC k t' c cho 03n h3t chu$i.
l Ghi ch:
l N3u k t' c khng c trong chu$i, k3t qu. tr. vB l NULL.
l K3t qu. tr. vB c>a hm l m)t con trE, con trE ny chH 03n k t' c
0Su tin trong chu$i str.
22
Tm ki;m n,i dung chu$i - strstr()
(1)
l C php:
char *strstr(const char *s1, const char *s2)
l Hm ny 0(1c dng 0; tm ki3m s' xu6t hin 0Su
tin c>a chu$i s2 trong chu$i s1.
l K3t qu. tr. l 1 con trE chH 03n phSn tM 0Su tin c>a
chu$i s1 c chAa chu$i s2 ho+c gi trF NULL n3u
chu$i s2 khng c trong chu$i s1.
23
Tm ki;m n,i dung chu$i - strstr()
(2)
l V d@: Vi3t ch(2ng trnh sM dKng hm strstr() 0; l6y ra m)t
phSn c>a chu$i g@c bOt 0Su tC chu$i hoc.
24
So snh chu$i - strcmp() (1)
l C php:
int strcmp(const char *s1, const char *s2)
l So snh 2 chui s1 v s2 v7i nhau.
l K$t qu' tr' v* l 1 s, int:
l <0 n3u s1 < s2
l ==0 n3u s1==s2
l >0 n3u s1 > s2
l T(2ng t':
int stricmp(const char *s1, const char *s2)
l So snh khng phn bit k t' hoa/th(Qng
25
So snh chu$i - strcmp() (2)
l V d-:
#include <conio.h>
#include <stdio.h>
#inlude <string.h>
void main(){
char s1[10]=Chao, s2[10]=chao;
printf(%d,strcmp(s1,s2));
getch();
}
-32
#include <conio.h>
#include <stdio.h>
#inlude <string.h>
void main(){
char s1[10]=chao, s2[10]=chao;
printf(%d,strcmp(s1,s2));
getch();
}
0
26
Kh=i t?o chu$i - memset()
l C php: void *memset(char *Des, int c, size_t n)
l P+t n k t' 0Su tin c>a chu$i Des l k t' c.
l Gi trF tr. vB: chu$i Des.
l N5m trong th( vin: string.h v mem.h
27
23i t' chu$i ra s@ - atoi(), atof(),
atol() (trong stdlib.h)
l C php :
int atoi(const char *s) : chuy;n chu$i thnh s@ nguyn
long atol(const char *s) : chuy;n chu$i thnh s@ nguyn di
float atof(const char *s) : chuy;n chu$i thnh s@ th'c
l N3u chuy;n 0Ri khng thnh cng, k3t qu. tr. vB
c>a cc hm l 0.
l V d4:
atoi(1234)=> 1234
28
H/t ch12ng

Das könnte Ihnen auch gefallen