Bài giảng Giới thiệu lập trình - Chương 7: Xâu ký tự - Lê Nguyên Khôi

pdf 12 trang hoanguyen 4320
Bạn đang xem tài liệu "Bài giảng Giới thiệu lập trình - Chương 7: Xâu ký tự - Lê Nguyên Khôi", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_gioi_thieu_lap_trinh_chuong_7_xau_ky_tu_le_nguyen.pdf

Nội dung text: Bài giảng Giới thiệu lập trình - Chương 7: Xâu ký tự - Lê Nguyên Khôi

  1. y ư
  2.  Mng ký t (th ư vi n cstring )  Lp string Gi i Thi u L p Trình 1
  3. cstring  Mng d li u ki u char  Mi ký t là m t ph n t trong m ng  Thêm 1 ký t cu i cùng: '\0' (ký t null)  ánh d u k t thúc xâu  Ví d :  Xâu "hello" lưu d ư i d ng cstring  Khai báo char s[10]; , s lưu 9 ký t và '\0'  Lưu xâu s d ng m ng không y:  Khai báo m t m ng “ l n” l ưu xâu  Ký t null ( '\0' ) ánh d u k t thúc xâu Gi i Thi u L p Trình 2
  4. cstring  Khai báo char s[10];  Dùng s l ưu "hi you" , s trông nh ư sau s[0] s[1] s[2] s[3] s[4] s[5] s[6] s[7] s[8] s[9] 'h' 'i' ' ' 'y' 'o' 'u' '\0' ???  Kh i t o char s[10] = "hi you";  s lưu "hi you" , s trông nh ư sau s[0] s[1] s[2] s[3] s[4] s[5] s[6] s[7] s[8] s[9] 'h' 'i' ' ' 'y' 'o' 'u' '\0' '\0' '\0' '\0'  Kh i t o char s[] = "hi you";  s lưu "hi you" , s trông nh ư sau s[0] s[1] s[2] s[3] s[4] s[5] s[6] 'h' 'i' ' ' 'y' 'o' 'u' '\0' Gi i Thi u L p Trình 3
  5. cstring  Kh i t o char s[6] = "hi you";  Mng s có 6 ph n t , dùng l ưu xâu có 6 ký t , thêm ký t k t thúc xâu, 7 ký t  Li d ch: m ng s không b nh l ưu xâu  Kh i to char s[] = "hi you";  s lưu "hi you" , s trông nh ư sau s[0] s[1] s[2] s[3] s[4] s[5] s[6] 'h' 'i' ' ' 'y' 'o' 'u' '\0'  Nu gán s[6]='!'; , s không có ký t k t thúc xâu  Nu gán s[2]='\0'; , s có 2 ký t k t thúc xâu Gi i Thi u L p Trình 4
  6. cstring  Có th dùng cout in ra xâu ký t nh ư các bi n thu c ki u d li u c ơ b n  In ra n khi nào g p ký t k t thúc xâu u tiên  Nu không có ký t k t thúc xâu  In h t các ph n t c a m ng  Ti p t c in ký t các ô nh ti p theo  n khi nào g p ký t k t thúc xâu (giá tr 0 ki u int ) cout << s; s[0] s[1] s[2] s[3] s[4] s[5] s[6] 'h' 'i' '\0' 'y' 'o' 'u' '\0'  In ra "hi" cout << s; s[0] s[1] s[2] s[3] s[4] s[5] s[6]  In ra "hi you? " 'h' 'i' ' ' 'y' 'o' 'u' '?' Gi i Thi u L p Trình 5
  7. cstring  Có th dùng cin nh p d li u cho xâu ký t, n khi g p d u cách thì d ng  S d ng getline c c ký t d u cách char s[80]; cin.getline(s, 80); Gi i Thi u L p Trình 6
  8. cstring o  Không th s d ng toán t gán ( =) và toán t so sánh v i xâu ký t ki u m ng (== )  S d ng hàm sao chép xâu strcpy strcpy(s, "Hello");  S d ng hàm sao so sánh xâu strcmp strcmp(s1, s2)  Ti th ư vi n cstring s d ng các hàm làm vi c v i xâu ký t ki u m ng Gi i Thi u L p Trình 7
  9. cstring  Tr v dài c a xâu strlen strlen("Hello") tr v 5  Ghép xâu strcat strcat(s1, "Hello") thêm "Hello" vào cu i s1 Gi i Thi u L p Trình 8
  10. string  Ti th ư viên string  Các thao tác trên xâu ki u string gi ng nh ư trên các ki u d li u c ơ b n string s1, s2, s3; cin >> s1; cin >> s2; s3 = s1 + s2; cout << s3; s3 = "Hello Mom!" getline(cin, s3); Gi i Thi u L p Trình 9
  11. string cstring  Chuy n i ki u d li u  T cstring sang i t ư ng string (h p l ) char aCString[] = "My C-string"; string stringVar; stringVar = aCstring;  T i tư ng string sang cstring (không h p l) aCstring = stringVar;  Không t ng chuy n sang cstring  Ph i t chuy n s d ng hàm sao chép strcpy strcpy(aCString, stringVar.c_str()); Gi i Thi u L p Trình 10
  12. a o  Tìm hi u các hàm thao tác v i xâu ký t ki u char (cstring ) trong th ư vi n cstring  Tìm hi u các hàm thao tác v i xâu ký t ki u char (cstring ) trong th ư vi n cstring Gi i Thi u L p Trình 11