Bài giảng này trang bị cho người học những kiến thức về kiểu chuỗi và các xử lý trên chuỗi. Các nội dung chính trong bài giảng gồm có: Cách khai báo kiểu ký tự và chuỗi ký tự, cách khởi tạo và gán giá trị, cách xuất chuỗi ký tự và nhập chuỗi ký tự. Mời các bạn cùng tham khảo.
Kiểu chuỗi xử lý chuỗi Nguyễn Đông Hà Khoa CNTT – ĐH KHTN Sưu tầm bởi: www.daihoc.com.vn Nội dung Cách khai báo kiểu ký tự chuỗi ký tự Cách khởi tạo gán giá trị Cách xuất chuỗi ký tự nhập chuỗi ký tự Sưu tầm bởi: www.daihoc.com.vn Các khái niệm Character ký tự, ví dụ: ‘a’, ‘b’, ‘+’, ‘1’ String chuỗi ký tự, ví dụ: ‘abc’, ‘chao ban’, ‘1 + 2’… Sưu tầm bởi: www.daihoc.com.vn Khai báo /* Khai báo biến kiểu ký tự */ char a, b, c; /* Khai báo biến code thuộc kiểu ký tự, khởi gán giá trị cho code ký tự x */ char code = `x'; /* Gán lại ký tự ! vào biến code*/ code = `!'; Sưu tầm bởi: www.daihoc.com.vn Ví dụ /* Khai bao bien c1, c2 kieu char */ char c1, c2; /* Gan gia tri cho c1 va c2 */ c1 = 'a'; c2 = 90; /* Xuat gia tri c1,c2 duoi dang ky tu va dang ma ascii */ printf(" Dang ky tu, c1 la %c\n", c1); printf(" Dang ma ascii,c1 la %d\n", c1); Sưu tầm bởi: www.daihoc.com.vn Kết hiển thị hình Duoi dang ky tu, c1 la a Duoi dang ma ascii, c1 la 97 Duoi dang ky tu, c2 la z Duoi dang ma ascii, c2 la 90 Sưu tầm bởi: www.daihoc.com.vn Ghi nhớ Để xuất biến kiểu char dạng ký tự, dùng %c Để xuất biến kiểu char dạng số, dùng %d Sử dụng dấu nháy đơn để gán giá trị cho biến kiểu char Sưu tầm bởi: www.daihoc.com.vn Chuỗi ký tự Có cách khai báo chuỗi ký tự: Khai báo mảng chiều char chuoi[20]; Dùng biến trỏ char* chuoi; Sưu tầm bởi: www.daihoc.com.vn Khai báo chuỗi ký tự dùng mảng Để chứa chuỗi gồm n ký tự phải khai báo biến mảng gồm n+1 phần tử: Ví dụ: char chuoi[11]; Biến chuoi chứa chuỗi ký tự gồm 10 ký tự Hình ảnh nhớ: Sưu tầm bởi: www.daihoc.com.vn Khai báo chuỗi ký tự dùng mảng Để chứa chuỗi gồm n ký tự phải khai báo biến mảng gồm n+1 phần tử: Ví dụ: char chuoi[11]; Biến chuoi chứa chuỗi ký tự gồm 10 ký tự Hình ảnh nhớ: ‘\0’ Sưu tầm bởi: www.daihoc.com.vn Gán giá trị chuỗi ký tự Phải dùng hàm strcpy để gán giá trị cho chuỗi ký tự chuoi[10] = “chao ban” ; /* SAI !!! */ strcpy(chuoi, “chao ban”); Hình ảnh nhớ ‘c’‘h’‘a’‘o’‘ ’‘b’‘a’‘n’ Sưu tầm bởi: www.daihoc.com.vn ‘\0’ Khai báo mảng khơng có kích thước Khai báo để kích thước mảng qui định giá trị khởi gán char chuoi[ ] = “chao ban” ; Hình ảnh nhớ: có phần tử ‘c’‘h’‘a’‘o’‘ ’‘b’‘a’‘n’ ‘\0’ Sưu tầm bởi: www.daihoc.com.vn Chuỗi ký tự dùng biến trỏ Khai báo: char* chuoi; Gán giá trị: Trước sử dụng phải xin cấp phát nhớ hàm malloc: chuoi = malloc(11); Phải dùng hàm strcpy để gán giá trị cho chuỗi ký tự strcpy(chuoi, “chao ban”); Sưu tầm bởi: www.daihoc.com.vn Xuất nhập chuỗi ký tự Xuất chuỗi ký tự: dùng hàm printf puts printf("Chuoi s1 la %s\n", s1); puts("Chuoi s1 la ”); puts(s1); Nhập chuỗi ký tự: dùng hàm gets, không dùng scanf gets(s1); Sưu tầm bởi: www.daihoc.com.vn Chương trình hồn chỉnh /* Khai bao s1, s2 */ char s1[100]; char* s2; /* Gan gia tri cho s1 va s2 */ strcpy(s1, "Chao ban"); /* Phai xin cap phat bo nho bang ham malloc truoc su dung s2 */ s2 = malloc(100); strcpy(s2, "Chao ban"); Sưu tầm bởi: www.daihoc.com.vn Chương trình hồn chỉnh /* Xuat gia tri s1,s2 */ printf("Chuoi s1 la %s\n", s1); printf("Chuoi s2 la %s\n", s2); /* Nhap gia tri tu ban phim */ printf("Nhap gia tri s1 tu ban phim: "); gets(s1); puts("Chuoi s1 la "); puts(s1); Sưu tầm bởi: www.daihoc.com.vn Kết Chuoi s1 la chao ban Chuoi s2 la chao ban Nhap gia tri s1 tu ban phim: hello Chuoi s1 la hello Sưu tầm bởi: www.daihoc.com.vn Ghi nhớ Phải xin cấp phát nhớ hàm malloc sử dụng biến trỏ để khai báo kiểu chuỗi ký tự Phải dùng hàm strcpy để gán giá trị cho chuỗi ký tự, không dùng dấu “=” Khai báo thư viện stdlib.h để dùng hàm malloc hàm strcpy Dùng hàm gets để nhập chuỗi ký tự từ bàn phím: gets(s); Sưu tầm bởi: www.daihoc.com.vn Các hàm xử lý chuỗi ký tự Xem sách giáo trình lập trình C, chương 4, trang 51 Sưu tầm bởi: www.daihoc.com.vn Sưu tầm bởi: www.daihoc.com.vn ...Nội dung Cách khai báo kiểu ký tự chuỗi ký tự Cách khởi tạo gán giá trị Cách xuất chuỗi ký tự nhập chuỗi ký tự Sưu tầm bởi: www.daihoc.com.vn Các khái niệm Character ký... dùng hàm malloc hàm strcpy Dùng hàm gets để nhập chuỗi ký tự từ bàn phím: gets(s); Sưu tầm bởi: www.daihoc.com.vn Các hàm xử lý chuỗi ký tự Xem sách giáo trình lập trình C, chương 4, trang 51... phát nhớ hàm malloc sử dụng biến trỏ để khai báo kiểu chuỗi ký tự Phải dùng hàm strcpy để gán giá trị cho chuỗi ký tự, không dùng dấu “=” Khai báo thư viện stdlib.h để dùng hàm malloc hàm strcpy