Lập trình hướng đối tượng - Chương 7: Chuỗi (string)
Mảng các chuỗi là 1 mảng 2 chiều. Kích thước của chỉ số thứ nhất là số chuỗi và chỉ số thứ 2 là độ dài của mỗi chuỗi.
Ví dụ: char s[5][50];
Để nhập dữ liệu cho 1 chuỗi thứ i trong mảng, ta dùng lệnh
cin>>s[1];
16 trang |
Chia sẻ: huyhoang44 | Lượt xem: 740 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Lập trình hướng đối tượng - Chương 7: Chuỗi (string), để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Chương 7: chuỗi (string)3/29/202011. Định nghĩaChuỗi là một mảng các ký tự với ký tự null ở cuối chuỗi. Ký tự null (\0) là ký tự dùng để kết thúc chuỗi.Chuỗi ký tự được đặt trong ngoặc kép. Ví dụ: “This is a string.”3/29/202021. Định nghĩaTrong C++, có 2 loại kiểu chuỗi, kiểu chuỗi C truyền thống (C-style string) và kiểu chuỗi C++ (C++ - style string). Trong bài học này sẽ chỉ tập trung về chuỗi kiểu C.3/29/202032. Khai báo chuỗiCÁCH 1: Khai báo chuỗi là 1 mảng 1 chiều.Cú pháp:strName: Tên chuỗistrLength: độ dài của chuỗiVí dụ: Viết lệnh khai báo chuỗi có 50 ký tựchar name[50];3/29/20204char strName[strLength]; 2. Khai báo chuỗiCÁCH 2 : Dùng con trỏCú pháp:strName: Tên chuỗiVí dụ: char *name;name = new char[51];3/29/20205char *strName; 3. Khởi tạo chuỗiCó 2 cách để nhập dữ liệu cho chuỗiCách 1: dùng hàm gets()Ví dụ:3/29/20206#inlcude #inlcude void main(){char strName[10];gets(strName);}char *gets(char *s);3. Khởi tạo chuỗiCách 2: dùng lệnh cinVí dụ:Ghi chú: Tuy nhiên, khi dùng cin>> để nhập dữ liệu cho chuỗi, chương trình sẽ tự động ngắt chuỗi khi gặp ký tự khoảng trắng trong chuỗi.3/29/20207#inlcude void main(){char strName[100];cin>>strName;}3. Khởi tạo chuỗiGhi chú: Tuy nhiên, khi dùng cin>> để nhập dữ liệu cho chuỗi, chương trình sẽ tự động ngắt chuỗi khi gặp ký tự khoảng trắng trong chuỗi Để chuỗi không bị ngắt khi gặp ký tự khoảng trắng, ta sẽ dùng hàm cin.getline()cin.getline(strname, strlen)3/29/202083. Xuất chuỗiCó 2 cách để nhập dữ liệu cho chuỗiCách 1: dùng hàm puts()Ví dụ:3/29/20209#inlcude #inlcude void main(){char strName[10];gets(strName);puts(strName);}int puts(const char *s);4. Xuất chuỗiCách 2: dùng lệnh coutVí dụ:3/29/202010#inlcude void main(){char strName[10];cin>>strName;coutMột số hàm phổ biến3/29/202011Tên hàmChức năngstrcpy(s1, s2)Sao chép chuỗi s2 vào s1strcat(s1, s2)Nối chuỗi s2 vào cuối chuỗi s1strlen(s1)Trả về độ dài của chuỗi s1strcmp(s1, s2)So sánh 2 chuỗi s1 và s2. Nếu s1 = s2 => kết quả trả về = 0Nếu s1 kết quả trả về s2 => kết quả trả về > 0strchr(s1,ch)Trả về vị trí đầu tiên của ký tự ch trong s1strstr(s1,s2)Trả về vị trí đầu tiên của s2 trong s15. Một số hàm thư viện thao tác trên chuỗiVí dụ:3/29/202012#include #include int main() { char name[50] , lastname[50], fullname[100];cout>s[1];3/29/2020136. Mảng các chuỗiKhai báo và khởi tạo mảng các chuỗi. char arrayList[][length] = { constantString1, constantString2, ... constantStringN};Ví dụ: char listOfPL[][10] = {“Pascal”, “C/C++”, “CSharp”, “Java”,“VB”};3/29/2020146. Mảng con trỏ trỏ đến các chuỗiNgoài cách dùng mảng ký tự 2 chiều để lưu trữ mảng các chuỗi, ta có thể dùng mảng các con trỏ, mỗi con trỏ sẽ giữ địa chỉ của 1 chuỗi.Ví dụ: char *str[20];char *listOfPL[] = {“Pascal”, “C/C++”, “CSharp”, “Java”, “VB”};3/29/2020156. Mảng con trỏ trỏ đến các chuỗi3/29/202016
Các file đính kèm theo tài liệu này:
- chuong_7_4919.pptx