Chương 8: Chuỗi ký tự
Số trang: 37
Loại file: pdf
Dung lượng: 208.57 KB
Lượt xem: 14
Lượt tải: 0
Xem trước 4 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
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]
Nội dung trích xuất từ tài liệu:
Chương 8:Chuỗi ký tự 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 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 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]; 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 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ỏ Vừa khai báo vừa gán giá trị • Cú pháp: char []=; • Ví dụ: char tenbai[]=“Nhat ky trong tu”; 3. Các thao tác trên chuỗi • Nhập – xuất • Truy xuất từng ký tự 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. • 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 #include #include Ví dụ #include #include void main() { const int MAX=5; char a[MAX], b[MAX]; clrscr(); cout 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 #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#include #include Ví dụ #include void main() { const int MAX=80; char st[MAX],c; int i=0; clrscr(); cout 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 void main() Ví dụ: { /* Dao nguoc chuoi */ char hello[] = Hello World; #include char *s; #include cout 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 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 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 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 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 ...
Nội dung trích xuất từ tài liệu:
Chương 8:Chuỗi ký tự 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 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 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]; 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 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ỏ Vừa khai báo vừa gán giá trị • Cú pháp: char []=; • Ví dụ: char tenbai[]=“Nhat ky trong tu”; 3. Các thao tác trên chuỗi • Nhập – xuất • Truy xuất từng ký tự 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. • 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 #include #include Ví dụ #include #include void main() { const int MAX=5; char a[MAX], b[MAX]; clrscr(); cout 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 #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#include #include Ví dụ #include void main() { const int MAX=80; char st[MAX],c; int i=0; clrscr(); cout 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 void main() Ví dụ: { /* Dao nguoc chuoi */ char hello[] = Hello World; #include char *s; #include cout 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 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 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 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 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 ...
Tìm kiếm theo từ khóa liên quan:
Chuỗi ký tự Bài giảng Chuỗi ký tự Tài liệu Chuỗi ký tự lập trình cơ bản tổng quan lập trình lập trình đối tượngGợi ý tài liệu liên quan:
-
114 trang 237 2 0
-
Giới thiệu : Lập trình mã nguồn mở
14 trang 158 0 0 -
Giáo trình nhập môn lập trình - Phần 22
48 trang 136 0 0 -
Giáo trình Ngôn ngữ lập trình 2
50 trang 108 0 0 -
Đề thi HK lần 2 môn Lập trình cơ bản năm 2016 - CĐ Kỹ Thuật Cao Thắng - Đề 2
6 trang 91 0 0 -
Hướng dẫn thực hành - Lập trình Windows 1
63 trang 73 0 0 -
Bài tập mẫu về Mô hình hóa chức năng với Biểu đồ Luồng dữ liệu (DFD)
23 trang 65 0 0 -
NGÔN NGỮ LẬP TRÌNH C - Mảng và chuỗi ký tự
40 trang 40 0 0 -
Bài giảng Lập trình cơ bản: Bài 6 - Chu Thị Hường
38 trang 33 0 0 -
Quản lý dự án công nghệ thông tin - ĐH Công nghệ Thông tin
170 trang 30 0 0