1. Trang chủ
  2. » Giáo án - Bài giảng

Tin học cơ sở 4 Xâu ký tự

17 357 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 17
Dung lượng 468 KB

Nội dung

Tin Học Cơ Sở Xâu Ký Tự - String Xâu Ký Tự - String • • • • Một số quy tắc Nhập / xuất Con trỏ chuỗi ký tự Một số hàm thư viện Lê Nguyên Khôi Một số quy tắc • Chuỗi ký tự mảng chiều có thành phần số nguyên đượ c kết thúc bở i số • Ký tự kết thúc (0) cuối chuỗi ký tự thườ ng đượ c gọi ký tự null (không giống trỏ NULL) Có thể ghi ‘\0’ (không phải chữ o) • Đượ c khai báo truyền tham số mảng chiều char char unsigned unsigned char char Lê Nguyên Khôi s[100]; s[100]; s1[1000]; s1[1000]; Ví dụ char char ten[4] ten[4] == {{ 'H', 'H', 'u', 'u', 'n', 'n', 'g', 'g', '\0' '\0' }; }; char char ho[6] ho[6] == "Phung"; "Phung"; char char ten_khac[] ten_khac[] == "Hoang "Hoang Quoc"; Quoc"; char char ky_tu[7] ky_tu[7] == "No "No null"; null"; ten 'H' 'u' 'n' 'g' ho 'P' 'h' 'u' 'n' 'g' ten_khac 'H' 'o' 'a' 'n' 'g' 32 'Q' 'u' 'o' ky_tu 'N' 'o' 32 'n' 'u' 'l' 'l' 'c' Nhập / Xuất • Có thể nhập / xuất chuỗi ký tự s cách nhập từ ng ký tự s • Hoặc sử dụng hàm scanf printf vớ i ký tự định dạng %s char ten[] char ten[] == "Hoang "Hoang Quoc"; Quoc"; printf("%s\n", printf("%s\n", ten); ten); scanf("%s", scanf("%s", ten); ten); • Nhập chuỗi có khoảng trắng dùng hàm gets char ten[100]; char ten[100]; printf("Nhap printf("Nhap mot mot chuoi chuoi ky ky tu: tu: "); "); gets(ten); gets(ten); Lê Nguyên Khôi Lưu ý: Kết thúc chuỗi #include #include int int main() main() "Quoc" không {{ char char ten_khac[] ten_khac[] == "Hoang "Hoang Quoc"; Quoc"; in printf("%s\n", printf("%s\n", ten_khac); ten_khac); ten_khac[5] ten_khac[5] == '\0'; '\0'; printf("%s\n", printf("%s\n", ten_khac); ten_khac); }} Hoang Hoang Quoc Quoc Hoang Hoang return return 0; 0; ten_khac 'H' 'o' 'a' 'n' 'g' 32 'Q' 'u' 'o' 'c' Một số hàm thư viện • Lấy độ dài chuỗi l = strlen(s); • Đổi toàn ký tự chuỗi thành IN HOA strupr(s); • Đổi toàn ký tự chuỗi thành in thườ ng strlwr(s); Lê Nguyên Khôi Một số hàm thư viện • So sánh chuỗi: theo thứ tự bảng mã ASCII – Phân biệt IN HOA – in thườ ng: int strcmp(const char *s1, const char *s2); – Không phân biệt IN HOA – in thườ ng: int stricmp(const char *s1, const char *s2); – Giá trị trả về: • =0 s1 s2 • >0 s1 “lớ n hơ n” s2 • [...]... StrIns(s ++ 8, 8, "45 "); "45 "); return return 0; 0; Lê Nguyên Khôi printf("%s\n", printf("%s\n", s); s); printf("%s\n", printf("%s\n", p); p); 16 Xóa một đoạn ký tự #include #include void void StrDel(char StrDel(char *s, *s, int int n) n) {{ memmove(s, memmove(s, ss ++ n, n, strlen(s+n)+1); strlen(s+n)+1); }} int xoa int main() main() xoa12 345 12 345 {{ xoa xoa45 45 char char s[]=... s[]= "Thu "Thu strtok: strtok: 9,123 .45 "; 9,123 .45 "; char char *p; *p; }} pp == strtok(s, strtok(s, SEPARATOR); SEPARATOR); while while (p (p != != NULL) NULL) {{ printf("%s\n", printf("%s\n", p); p); pp == strtok(NULL, strtok(NULL, SEPARATOR); SEPARATOR); }} Lê Nguyên Khôi return 0; return 0; Thu Thu strtok: strtok: 99 123 123 45 45 13 Một số hàm thư viện • Tìm một ký tự trên chuỗi: char *strchr(const... memmove(s, memmove(s, ss ++ n, n, strlen(s+n)+1); strlen(s+n)+1); }} int xoa int main() main() xoa12 345 12 345 {{ xoa xoa45 45 char char s[]= s[]= "Thu "Thu xoa xoa 12 345 "; 12 345 "; }} StrDel(s, StrDel(s, 4) ; 4) ; StrDel(s StrDel(s ++ 4, 4, 3); 3); return return 0; 0; Lê Nguyên Khôi printf("%s\n", printf("%s\n", printf("%s\n", printf("%s\n", s); s); p); p); 17 ... Lê Nguyên Khôi 15 Chèn một đoạn ký tự #include #include void void StrIns(char StrIns(char *s, *s, char char *sub) *sub) {{ int int len len == strlen(sub); strlen(sub); memmove(s memmove(s ++ len, len, s, s, strlen(s)+1); strlen(s)+1); strncpy(s, strncpy(s, sub, sub, len); len); }} 123 123Thu Thuchen chen int main() int main() 123 123Thu Thuc45hen c45hen {{ char char s[]= s[]= "Thu... return 0; return 0; Thu Thu strtok: strtok: 99 123 123 45 45 13 Một số hàm thư viện • Tìm một ký tự trên chuỗi: char *strchr(const char *s, int c); • Tìm một đoạn ký tự trên chuỗi: char *strstr(const char *s1, const char *s2); Lê Nguyên Khôi 14 Ví dụ tìm kiếm #include #include int int main() main() {{ char char s[]= s[]= "Thu "Thu tim tim kiem kiem xau"; xau"; char char *p; *p; }}... {{ char char s[] s[] == "Hoang "Hoang Quoc"; Quoc"; char char s2[100], s2[100], *s3; *s3; }} strcpy(s2, strcpy(s2, s); s); printf("%s\n", printf("%s\n", s2); s2); strncpy(s2 strncpy(s2 ++ 2, 2, "12 345 ", "12 345 ", 3); 3); printf("%s\n", printf("%s\n", s2); s2); s3 s3 == strdup(s strdup(s ++ 6); 6); printf("%s\n", printf("%s\n", s3); s3); free(s3); free(s3); return 0; 0; Lêreturn Nguyên Khôi Hoang Hoang ... xoa int main() main() xoa12 345 12 345 {{ xoa xoa45 45 char char s[]= s[]= "Thu "Thu xoa xoa 12 345 "; 12 345 "; }} StrDel(s, StrDel(s, 4) ; 4) ; StrDel(s StrDel(s ++ 4, 4, 3); 3); return return 0; 0;... 99 123 123 45 45 13 Một số hàm thư viện • Tìm ký tự chuỗi: char *strchr(const char *s, int c); • Tìm đoạn ký tự chuỗi: char *strstr(const char *s1, const char *s2); Lê Nguyên Khôi 14 Ví dụ tìm.. .Xâu Ký Tự - String • • • • Một số quy tắc Nhập / xuất Con trỏ chuỗi ký tự Một số hàm thư viện Lê Nguyên Khôi Một số quy tắc • Chuỗi ký tự mảng chiều có thành phần

Ngày đăng: 03/04/2016, 21:55

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w