kiểu chuỗi trong C++ lớp 11 – Tài liệu text

kiểu chuỗi trong C++ lớp 11

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (477.58 KB, 3 trang )

CHUỖI TRONG C++
1. Khái niệm
+ Chuỗi là một dãy các ký tự trong bảng mã ASCII
+ Ví dụ: “abc”; “123”
+ Vị trí của các ký tự trong chuỗi bắt đầu từ 0
+ Ký tự kết thúc chuỗi: ‘\0’
2. Khai báo chuỗi
+ Bản chất của chuỗi là mảng 1 chiều mà mỗi phần tử là 1 ký tự.
+ Khai báo giống mảng 1 chiều.
+ Cú pháp char <tên biến chuỗi>[<độ dài>];
+ Ví dụ: char s[10];
+ Tham chiếu đến 1 phần tử trong chuỗi: giống mảng 1 chiều
3. Nhập/xuất chuỗi
+ Nhập: sử dụng hàm gets(<biến chuỗi>);
Ví dụ:
char s[100];
gets(s);
+ Xuất: Sử dụng cout<4. Một số hàm thường dùng
a. Hàm strncpy
+ cú pháp strncpy(s1,s2,n);
+ Ý nghĩa: Tạo chuỗi s1 bằng cách sao chép n ký tự đầu tiên của chuỗi s2
+ Ví dụ
strncpy(s,”abc”,2);
cout<b. Hàm strlen
+ Cú pháp: strlen(s);
+ Ý nghĩa: cho biết độ dài của chuỗi s
+ Ví dụ: cout<c. Hàm strcat
+ Cú pháp: strcat(s1,s2);

+ ý nghĩa: ghép chuỗi s2 vào sau s1
+ Ví dụ:
strcpy(s1,”abc”);
strcpy(s2,”def”);
strcat(s1,s2);
cout<+ Yêu cầu: ghép 5 ký tự đầu tiên của chuỗi s2 vào chuỗi s1

strncpy(s3,s2,5);
strcat(s1,s3);
Cách khác: strncat(s1,s2,5);
d. Hàm strcmp
+ Cú pháp int strcmp(char *s1,char *s2);
+ Ý nghĩa: trả về một trong các giá trị
– Số âm: s1 nhỏ hơn s2
– số 0: s1 = s2
– số dương: s1 lớn hơn s2
+ Ví dụ
cout<cout<cout<e. Hàm strlwr
+ Cú pháp strlwr(s);
+ Ý nghĩa: chuyển tất cả các ký tự in hoa về ký tự in thường trong biến chuỗi s
+ ví dụ:
strcpy(s,”AbC”);
strlwr(s);// ”abc”
f. Hàm strupr
+ Cú pháp: strupr(s);

+ Ý nghĩa: chuyển tất cả các ký tự in thường thành ký tự in hoa trong chuỗi s
+ Ví dụ:
strcpy(s,”AbC”);
strupr(s);// ”ABC”
g. Hàm strrev
+ Cú pháp: strrev(s);
+ Ý nghĩa: đảo ngược chuỗi ký tự s
+ Ví dụ
strcpy(s,”abc”);
strrev(s);
cout<h. Hàm strstr
+ Cú pháp strstr(s,t);
+ Ý nghĩa: trả về địa chỉ vị trí xuất hiện đầu tiên của chuỗi t trong chuỗi s, nếu t không xuất hiện trong
s thì trả về NULL
+ Ví dụ 1:
strcpy(s,”123234″);
strcpy(t,”23″);

cout<+ Ví dụ 2:
strcpy(s,”123234″);
strcpy(t,”231″);
cout<+ Chú ý: Nếu t không xuất hiện trong s thì hàm trả về NULL
+ Yêu cầu: tìm vị trí xuất hiện đầu tiên của chuỗi t trong chuỗi s, nếu t không xuất hiện trong s thì in -1
if(strstr(s,t)==NULL) cout<<-1;
else cout<i. Hàm atoi

+ Cú pháp int atoi(s);
+ Ý nghĩa: Trả về giá trị số nguyên của chuỗi s
+ ví dụ
strcpy(t,”231″);
int x=atoi(t)+1;
cout<j. Hàm atof
+ Cú pháp float atof(s)
+ Ý nghĩa: Trả về giá trị thực của chuỗi s
+ Ví dụ:
strcpy(t,”231.2″);
float x=atof(t)+1;
cout<5. Bài tập
Bài 1: Viết chương trình nhập 1 xâu từ bàn phím, in ra màn hình chuỗi đó sau khi xóa tất cả các ký tự
trắng đầu chuỗi
Bài 2: Viết chương trình nhập 1 xâu từ bàn phím, in ra màn hình chuỗi đó sau khi xóa tất cả các ký tự
trắng cuối chuỗi
Bài 3: Viết chương trình nhập 1 xâu từ bàn phím, in ra màn hình chuỗi đó sau khi xóa tất cả các ký tự
trắng trong chuỗi
Bài 4: Nhập 2 chuỗi s và t, viết chương trình chèn chuỗi t vào chuỗi s ở vị trí vt

+ ý nghĩa: ghép chuỗi s2 vào sau s1+ Ví dụ:strcpy(s1,”abc”);strcpy(s2,”def”);strcat(s1,s2);cout<+ Yêu cầu: ghép 5 ký tự đầu tiên của chuỗi s2 vào chuỗi s1strncpy(s3,s2,5);strcat(s1,s3);Cách khác: strncat(s1,s2,5);d. Hàm strcmp+ Cú pháp int strcmp(char *s1,char *s2);+ Ý nghĩa: trả về một trong các giá trị- Số âm: s1 nhỏ hơn s2- số 0: s1 = s2- số dương: s1 lớn hơn s2+ Ví dụcout