Bài giảng Kiểu chuỗi và các xử lý trên chuỗi - Nguyễn Đông Hà

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;

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ớ:

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ự.

 

pdf20 trang | Chia sẻ: trungkhoi17 | Lượt xem: 455 | Lượt tải: 0download
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 - Nguyễn Đông Hà, để 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:

  • pdfbai_giang_kieu_chuoi_va_cac_xu_ly_tren_chuoi_nguyen_dong_ha.pdf
Tài liệu liên quan