Thông tin tài liệu:
Bài giảng "Phương pháp lập trình - Chương 7: Chuỗi ký tự" cung cấp cho người học các kiến thức: Kí tự, giới thiệu chuỗi, khai báo và khởi tạo chuỗi, nhập, xuất chuỗi, một số hàm thao tác trên chuỗi, mảng chuỗi, mảng con trỏ chuỗi. Mời các bạn cùng tham khảo nội dung chi tiết.
Nội dung trích xuất từ tài liệu:
Bài giảng Phương pháp lập trình - Chương 7: Chuỗi ký tự (2016)Chương7Nộidungtrìnhbày1. Kítự2. Giớithiệuchuỗi3. Khaibáovàkhởitạochuỗi4. Nhập,xuấtchuỗi5. Mộtsốhàmthaotáctrênchuỗi6. Mảngchuỗi7. Mảngcontrỏchuỗi1.Kítự:Khaibáo Khaibáo: char Tên_biến; ◦Vídụ: charch; Trongbộnhớ,biếnkítựkhônglưukítựmàlưu mãASCIIcủanó,dođócóthểviết: ch=97; thaychoch=a; Hàmnhậpkýtự:getchar() ◦Vídụ: charch; ch=getchar(); Hàmxuấtkýtự:putchar(char) ◦Vídụ: putchar(ch); Cáchàmtrênkítựthuộcthưviệnstdio.h,ctype.h1.Kítự:Mộtsốhàm(ctype.h) int isalpha(int ch):hàmtrảvềsốkhác0 nếuchlàkítựchữcái,ngượclạihàmtrảvề0 ◦Vídụ: inti=isalpha(‘x’); //i!=0 intj=isalpha(‘1’); //j=0 int isdigit(int ch): hàmtrảvềsốkhác0 nếuchlàkítựchữsố,ngượclạihàmtrảvề0 ◦Vídụ: inti=isalpha(‘x’); //i=0 intj=isalpha(‘1’); //j!=0 int isascii(int ch): hàmtrảvềsốkhác0 nếuchlàmộtkýtựcómãASCII1.Kítự:Mộtsốhàm(ctype.h) int isspace(int ch): hàmtrảvềsốkhác0 nếuchlàkítựkhoảngtrắng,ngượclạihàmtrảvề 0 ◦Vídụ: inti=isspace(‘’); //i!=0 intj=isspace(‘x’); //j=0 int iscntrl(int ch): hàmtrảvềsốkhác0 nếuchlàkítựđiềukhiển,ngượclạihàmtrảvề0 int isupper(int ch): hàmtrảvềsốkhác0 nếuchlàkítựinhoa,ngượclạihàmtrảvề0 ◦Vídụ: inti=isupper(‘Y’); //i!=0 intj=isupper(‘y’); //j=01.Kítự:Mộtsốhàm(ctype.h) int islower(int ch): hàmtrảvềsốkhác0 nếuchlàkítựinthường,ngượclạihàmtrảvề0 ◦Vídụ: inti=islower(‘Y’); //i=0 intj=islower(‘y’); //j!=0 int toupper(int ch): hàmtrảvềkítựinhoa củakítựch ◦Vídụ: charc=toupper(‘y’); //c=‘Y’ int tolower(int ch): hàmtrảvềkítựin thườngcủakítựch ◦Vídụ: charc=tolower(‘Y’); //c=‘y’1.Kítự:Vídụ#include#include#include#includevoidmain(){ constintMAX=80; for(inti=0;iNộidungtrìnhbày1. Kítự2. Giớithiệuchuỗi3. Khaibáovàkhởitạochuỗi4. Nhập,xuấtchuỗi5. Mộtsốhàmthaotáctrênchuỗi6. Mảngchuỗi7. Mảngcontrỏchuỗi2.Giớithiệuchuỗi Chuỗi:làmột mảngkýtự đượckếtthúcbằngký tựnull( ) Vídụ: Hằng chuỗi: là chuỗi được bao quanh bởi cặp dấunháyđôi.Vídụ:Hello ◦KhôngcầnthêmkýtựnullvàosauhằngchuỗiNộidungtrìnhbày1. Kítự2. Giớithiệuchuỗi3. Khaibáovàkhởitạochuỗi4. Nhập,xuấtchuỗi5. Mộtsốhàmthaotáctrênchuỗi6. Mảngchuỗi7. Mảngcontrỏchuỗi3.Khaibáovàkhởitạochuỗi Cách1:Dùngmảngmộtchiều char Tên_chuỗi[ Số_kí_tự_tối_đa ]; ◦Vídụ: charname[30]; Cách2:Dùngcontrỏ char* Tên_chuỗi; ◦Vídụ:char*str; (bộ nhớ sẽ dành 2 byte để lưu trữ địa chỉ của biến contrỏ)3.Khaibáovàkhởitạochuỗi(tt) Chuỗilàmảngkýtự Dođóđểkhởitạomộtchuỗivớinhữngkýtựxác địnhtadùngcúphápkhaibáovàkhởitạomảng ◦Vídụ:charstr[]={H,e,l,l,o, }; Hoặccóthểviếttheo1trong2cáchsau: char Tên_biến[ ] = Hằng Chuỗi ; char* Tên_biến = Hằng Chuỗi ; ◦Vídụ: charstr[]=Hello; char*str=Hello;3.Khaibáovàkhởitạochuỗi(tt)Lưu ý khi khai báo chuỗi và gán giá trị cho chuỗi◦Ví dụ 1: ◦Ví dụ 1:char *name = Thi No; char name[20]= Thi No;◦Ví dụ 2: ◦Ví dụ 2:char *name; char name[20];name = Thi No; name = Thi No; //LỖINộidungtrìnhbày1. Kítự2. Giớithiệuchuỗi3. Khaibáovàkhởitạochuỗi4. Nhập,xuấtchuỗi5. Mộtsốhàmthaotáctrênchuỗi6. Mảngchuỗi7. Mảngcontrỏchuỗi4.1.Nhậpchuỗi Để nhập dữ liệu cho biến chuỗi, ta dùng hàm getscủathưviệnstdio.h char* gets( char* s ); ◦Hàm gets sẽ đọc các ký tự gõ từ bàn phím vào trongmảngtrỏđếnbởischođếnkhinhấnEnter ◦Kýtự nullsẽđượctựđộngđặtsaukýtựcuốicùng củachuỗi ◦Vídụ: chars[10]; gets(s); Hoặc có thể dùng lệnh cin để nhập chuỗi, tuy nhiêncósựkhácbiệt4.2.Xuấtchuỗi Để xuất chuỗi ra màn hình, ta dùng hàm puts củathưviệnstdio.h int puts(const char *s); ◦Vídụ: charstr[]=Hello; puts(str); HoặccóthểdùnglệnhcoutđểxuấtchuỗiVídụ:Nhập,xuấtchuỗi#include#includevoidmain(){ charstr[20]; //hoặcchar*str; coutNộidungtrìnhbày1. Kítự2. Giớithiệuchuỗi3. Khaibáovàkhởitạochuỗi4. Nhập,xuấtchuỗi5. Mộtsốhàmthaotáctrênchuỗi6. Mảngchuỗi7. Mảngcontrỏchuỗi5.Mộtsốhàmtrênchuỗi Cáchàmtrênchuỗithuộcthưviệnstring.h ...