Tài liệu Bài giảng Kiểu chuỗi và các xử lý trên chuỗi: Kiểu chuỗi và các xử
lý trên 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ự 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ự
Sưu tầm bởi: www.daihoc.com.vn 
Các khái niệm
 Character là 1 ký tự, ví dụ: ‘a’, ‘b’, ‘+’, ‘1’
 String là 1 chuỗi các 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 3 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 là 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 quả hiển thị trên màn hình...
                
              
                                            
                                
            
 
            
                 20 trang
20 trang | 
Chia sẻ: honghanh66 | Lượt xem: 1067 | Lượt tải: 0 
              
            Bạn đang xem nội dung tài liệu Bài giảng Kiểu chuỗi và các xử lý trên chuỗi, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Kiểu chuỗi và các xử
lý trên 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ự 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ự
Sưu tầm bởi: www.daihoc.com.vn 
Các khái niệm
 Character là 1 ký tự, ví dụ: ‘a’, ‘b’, ‘+’, ‘1’
 String là 1 chuỗi các 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 3 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 là 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 quả hiển thị trên màn 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ưới dạng ký tự, dùng 
%c
 Để xuất biến kiểu char dưới 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ó 2 cách khai báo chuỗi ký tự:
 Khai báo mảng 1 chiều
 char chuoi[20];
 Dùng biến con 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 một chuỗi gồm n ký tự thì phải khai 
báo biến mảng gồm n+1 phần tử:
 Ví dụ: char chuoi[11];
 Biến chuoi trên sẽ chứa được một chuỗi ký tự
gồm 10 ký tự.
 Hình ảnh trong bộ nhớ:
Sưu tầm bởi: www.daihoc.com.vn 
Khai báo chuỗi ký tự dùng mảng
 Để chứa một chuỗi gồm n ký tự thì phải khai 
báo biến mảng gồm n+1 phần tử:
 Ví dụ: char chuoi[11];
 Biến chuoi trên sẽ chứa được một chuỗi ký tự
gồm 10 ký tự.
 Hình ảnh trong bộ nhớ:
‘\0’
Sưu tầm bởi: www.daihoc.com.vn 
Gán giá trị chuỗi ký tự
chuoi[10] = “chao ban” ; /* SAI !!! */
strcpy(chuoi, “chao ban”);
 Hình ảnh trong bộ nhớ
‘c’‘h’‘a’‘o’ ‘\0’‘n’‘a’‘b’‘ ’
 Phải dùng hàm strcpy để gán giá trị cho chuỗi 
ký tự
Sưu tầm bởi: www.daihoc.com.vn 
Khai báo mảng không có kích thước 
 Khai báo để kích thước mảng qui định bởi giá
trị khởi gán
char chuoi[ ] = “chao ban” ;
 Hình ảnh trong bộ nhớ: chỉ có 9 phần tử
‘c’‘h’‘a’‘o’ ‘\0’‘n’‘a’‘b’‘ ’
Sưu tầm bởi: www.daihoc.com.vn 
Chuỗi ký tự dùng biến con trỏ
 Khai báo:
char* chuoi; 
 Gán giá trị:
 Trước khi sử dụng phải xin cấp phát bộ nhớ bằng 
hàm malloc:
chuoi = malloc(11);
strcpy(chuoi, “chao ban”);
 Phải dùng hàm strcpy để gán giá trị cho chuỗi 
ký tự
Sưu tầm bởi: www.daihoc.com.vn 
Xuất và nhập chuỗi ký tự
 Xuất chuỗi ký tự: có thể dùng hàm printf hoặc 
puts
 Nhập chuỗi ký tự: dùng hàm gets, không dùng 
scanf
printf("Chuoi s1 la %s\n", s1);
puts("Chuoi s1 la ”);
puts(s1);
gets(s1);
Sưu tầm bởi: www.daihoc.com.vn 
Chương trình hoà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 khi su dung s2 */
s2 = malloc(100);
strcpy(s2, "Chao ban"); 
Sưu tầm bởi: www.daihoc.com.vn 
Chương trình hoà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 quả
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 bộ nhớ bằng hàm malloc nếu 
sử dụng biến con 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
và 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ý trên 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 
            Các file đính kèm theo tài liệu này:
 chuoikytu_951.pdf chuoikytu_951.pdf