intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Chương 8:Chuỗi ký tự

Chia sẻ: Nguyen Ha | Ngày: | Loại File: PDF | Số trang:37

76
lượt xem
5
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Chuỗi ký tự là một dãy gồm các ký tự hoặc một mảng các ký tự được kết thúc bằng ký tự ‘\0’ • Các hằng ký tự được đặt trong dấu ngặc kép “” • Ví dụ: Chuỗi “Chao ban” C h a o b a n .2. Khai báo • Khai báo theo mảng • Khai báo theo con trỏ • Vừa khai báo vừa gán giá trị .Khai báo theo mảng • Cú pháp: char [chiềuDàiTốiĐa]; • Ví dụ: char hoten[30]

Chủ đề:
Lưu

Nội dung Text: Chương 8:Chuỗi ký tự

  1. C8: Chuỗi ký tự 1. Khái niệm 2. Khai báo 3. Các thao tác trên chuỗi 4. Con trỏ và các hàm trên chuỗi
  2. 1. Khái niệm • Chuỗi ký tự là một dãy gồm các ký tự hoặc một mảng các ký tự được kết thúc bằng ký tự ‘\0’ • Các hằng ký tự được đặt trong dấu ngặc kép “” • Ví dụ: Chuỗi “Chao ban” C h a o b a n
  3. 2. Khai báo • Khai báo theo mảng • Khai báo theo con trỏ • Vừa khai báo vừa gán giá trị
  4. Khai báo theo mảng • Cú pháp: char [chiềuDàiTốiĐa]; • Ví dụ: char hoten[30]; Lưu ý: • ChiềuDàiTốiĐa của biến là hằng số: 1 đến 255 byte. • Số byte được cấp trong bộ nhớ để lưu biến là ChiềuDàiTốiĐa + 1
  5. Khai báo theo con trỏ • Cú pháp: char *; • Ví dụ: char *; Bộ nhớ sẽ dành 2 byte để lưu trữ địa chỉ của biến con trỏ
  6. Vừa khai báo vừa gán giá trị • Cú pháp: char []=; • Ví dụ: char tenbai[]=“Nhat ky trong tu”;
  7. 3. Các thao tác trên chuỗi • Nhập – xuất • Truy xuất từng ký tự
  8. Nhập – xuất • Cú pháp: cin.get; Nhập 1 ký tự từ bàn phím cin.get(); Chờ nhận 1 ký tự từ bàn phím Nhập vào biến st (st là mảng ký tự) cin.getline(st,n); n-1 ký tự. Nếu nhập hơn thì số nhiều hơn sẽ ở trên vùng đệm. Có thể dùng cin để nhập ký tự hoặc chuỗi ký tự nhưng nó không cho phép nhập ký tự trắng hoặc chuỗi có ký tự trắng.
  9. • cin.ignore(int n,‘\n’); Bỏ qua tối đa n trong vùng đệm hoặc khi gặp phím enter ‘\n’ thì kết thúc cin. • fflush(stdin); • Số ký tự tối đa nhập được cho một biến là 127
  10. #include #include Ví dụ #include #include void main() { const int MAX=5; char a[MAX], b[MAX]; clrscr(); cout
  11. Truy xuất từng ký tự trong chuỗi • Do chuỗi là mảng ký tự, vậy có thể truy xuất chuỗi thông qua chỉ số như truy xuất từng phần tử của mảng
  12. #include #include Ví dụ #include int vowels(char str[]); int vowels(char str[]) void main() { { int count=0,i=0; const int MAX=80; while(str[i]!='\0') char st[MAX]; { clrscr(); switch(str[i]) cout
  13. #include #include Ví dụ #include void main() { const int MAX=80; char st[MAX],c; int i=0; clrscr(); cout
  14. 4. Con trỏ và các hàm trên chuỗi • Con trỏ đặc biệt hữu ích trong việc xây dựng các hàm xử lý chuỗi. • Sử dụng con trỏ truy xuất chuỗi thay vì dùng chỉ số thì chương trình sẽ cô đọng hơn
  15. void main() Ví dụ: { /* Dao nguoc chuoi */ char hello[] = "Hello World"; #include char *s; #include cout
  16. Các hàm thư viện xử lý chuỗi #include 1. strcat: ghép chuỗi char *strcat(char *s_nhan, char *s); Bổ sung chuỗi s vào sau chuỗi s_nhan 2. strchr: Tìm lần xuất hiện đầu tiên của ký tự trong chuỗi char *strchr(char *s, int kt); Nếu có cho địa chỉ của ký tự, nếu không cho NULL 3. strrchr: Tìm lần xuất hiện cuối cùng của ký tự trong chuỗi char *strrchr(char *s, int kt); Nếu có cho địa chỉ của ký tự, nếu không cho NULL 16
  17. Ví dụ Dùng hàm strcat để ghép chuỗi. #include #include #include int main() { clrscr(); char s_nhan[50]; char *s1 = "TOI DI"; char *s2 = "XEM PHIM"; strcat(s_nhan, s1); strcat(s_nhan, s2); cout
  18. Các hàm thư viện xử lý chuỗi 4. strcmp: So sánh 2 chuỗi (có phân biệt chữ hoa, chữ thường) int strcmp(char *s1, char *s2); giá trị âm nếu chuỗi s1 nhỏ hơn chuỗi s2 giá trị 0 nếu chuỗi s1 bằng chuỗi s2 giá trị dương nếu chuỗi s1 lớn hơn chuỗi s2 5. strcmpi: So sánh 2 chuỗi (không phân biệt chữ hoa, chữ thường) int strcmpi(char *s1, char *s2); Chương 3: Các thành phàn cơ 18 bản
  19. Các hàm thư viện xử lý chuỗi 6. strcpy: sao chuỗi char strcpy( char *s_nhan, *s_gui); Cho chuỗi s_gui vào vùng s_nhan 7. strcspn: tìm độ dài đoạn đầu chuỗi int strcspn(char *s, char *s_con); Cho độ dài đoạn đầu của s, mà mọi ký tự của đoạn không có mặt trong chuỗi s_con 8. strspn: Cho độ dài đoạn đầu của chuỗi int strspn(char *s, char *s_con); Cho độ dài đoạn đầu của s, mà mọi ký tự của đoạn đều có mặt trong chuỗi s_con 19
  20. Các hàm thư viện xử lý chuỗi 9. strdup:gấp đôi một chuỗi char *strdup(char *s); Cấp vùng nhớ để đặt 2 lần chuỗi s. Nếu thành công hàm cho địa chỉ vùng này, nếu không hàm cho NULL 10. strlen: độ dài của chuỗi int strlen(char *s); 11. strlwr: chuyển chữ hoa thành chữ thường char *strlwr(char *s); 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2