Bài giảng Giới thiệu lập trình - Xâu ký tự - Lê Nguyên Khôi
Xâu Ký Tự cstring
Mảng dữ liệu kiểu char
Mỗi ký tự là một phần tử trong mảng
Thêm 1 ký tự cuối cùng: '\0' (ký tự null)
Đánh dấu kết thúc xâu
Ví dụ:
Xâu "hello" lưu dưới dạng cstring
Khai báo char s[10];, s lưu 9 ký tự và '\0'
Lưu xâu sử dụng mảng không đầy:
Khai báo một mảng “đủ lớn” để lưu xâu
Ký tự null ('\0') đánh dấu kết thúc xâu
Xâu Ký Tự cstring – Ví Dụ
Khởi tạo char s[6] = "hi you";
Mảng s có 6 phần tử, dùng để lưu xâu có 6 ký tự,
thêm ký tự kết thúc xâu, 7 ký tự
Lỗi dịch: mảng s không đủ bộ nhớ để lưu xâu
Khởi tạo char s[] = "hi you";
s lưu "hi you", s trông như sau
Nếu gán s[6]='!';, s không có ký tự kết thúc xâu
Nếu gán s[2]='\0';, s có 2 ký tự kết thúc xâu
Bạn đang xem tài liệu "Bài giảng Giới thiệu lập trình - Xâu ký tự - Lê Nguyên Khôi", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Giới thiệu lập trình - Xâu ký tự - Lê Nguyên Khôi
Giới Thiệu Lập Trình Xâu Ký Tự TS. Lê Nguyên Khôi Trường Đại học Công nghệ, ĐHQGHN Nội Dung 1 Mảng ký tự (thư viện cstring) Lớp string Giới Thiệu Lập Trình Xâu Ký Tự cstring 2 Mảng dữ liệu kiểu char Mỗi ký tự là một phần tử trong mảng Thêm 1 ký tự cuối cùng: '\0' (ký tự null) Đánh dấu kết thúc xâu Ví dụ: Xâu "hello" lưu dưới dạng cstring Khai báo char s[10];, s lưu 9 ký tự và '\0' Lưu xâu sử dụng mảng không đầy: Khai báo một mảng “đủ lớn” để lưu xâu Ký tự null ('\0') đánh dấu kết thúc xâu Giới Thiệu Lập Trình Xâu Ký Tự cstring – Ví Dụ 3 Khai báo char s[10]; Dùng s để lưu "hi you", s trông như sau Khởi tạo char s[10] = "hi you"; s lưu "hi you", s trông như sau Khởi tạo char s[] = "hi you"; s lưu "hi you", s trông như sau Giới Thiệu Lập Trình s[0] s[1] s[2] s[3] s[4] s[5] s[6] s[7] s[8] s[9] 'h' 'i' ' ' 'y' 'o' 'u' '\0' ? ? ? s[0] s[1] s[2] s[3] s[4] s[5] s[6] s[7] s[8] s[9] 'h' 'i' ' ' 'y' 'o' 'u' '\0' '\0' '\0' '\0' s[0] s[1] s[2] s[3] s[4] s[5] s[6] 'h' 'i' ' ' 'y' 'o' 'u' '\0' Xâu Ký Tự cstring – Ví Dụ 4 Khởi tạo char s[6] = "hi you"; Mảng s có 6 phần tử, dùng để lưu xâu có 6 ký tự, thêm ký tự kết thúc xâu, 7 ký tự Lỗi dịch: mảng s không đủ bộ nhớ để lưu xâu Khởi tạo char s[] = "hi you"; s lưu "hi you", s trông như sau Nếu gán s[6]='!';, s không có ký tự kết thúc xâu Nếu gán s[2]='\0';, s có 2 ký tự kết thúc xâu Giới Thiệu Lập Trình s[0] s[1] s[2] s[3] s[4] s[5] s[6] 'h' 'i' ' ' 'y' 'o' 'u' '\0' Xâu Ký Tự cstring – Xuất 5 Có thể dùng cout để in ra xâu ký tự như các biến thuộc kiểu dữ liệu cơ bản In ra đến khi nào gặp ký tự kết thúc xâu đầu tiên Nếu không có ký tự kết thúc xâu In hết các phần tử của mảng Tiếp tục in ký tự ở các ô nhớ tiếp theo Đến khi nào gặp ký tự kết thúc xâu (giá trị 0 kiểu int) cout << s; In ra "hi" cout << s; In ra "hi you? " Giới Thiệu Lập Trình s[0] s[1] s[2] s[3] s[4] s[5] s[6] 'h' 'i' '\0' 'y' 'o' 'u' '\0' s[0] s[1] s[2] s[3] s[4] s[5] s[6] 'h' 'i' ' ' 'y' 'o' 'u' '?' Xâu Ký Tự cstring – Nhập 6 Có thể dùng cin để nhập dữ liệu cho xâu ký tự, đến khi gặp dấu cách thì dừng Sử dụng getline để đọc cả ký tự dấu cách char s[80]; cin.getline(s, 80); Giới Thiệu Lập Trình Xâu Ký Tự cstring – Gán & So Sánh 7 Không thể sử dụng toán tử gán (=) và toán tử so sánh với xâu ký tự kiểu mảng (==) Sử dụng hàm sao chép xâu strcpy strcpy(s, "Hello"); Sử dụng hàm sao so sánh xâu strcmp strcmp(s1, s2) Tải thư viện cstring để sử dụng các hàm làm việc với xâu ký tự kiểu mảng Giới Thiệu Lập Trình Xâu Ký Tự cstring – Các Hàm Khác 8 Trả về độ dài của xâu strlen strlen("Hello") trả về 5 Ghép xâu strcat strcat(s1, "Hello") thêm "Hello" vào cuối s1 Giới Thiệu Lập Trình Lớp string 9 Tải thư viên string Các thao tác trên xâu kiểu string giống như trên các kiểu dữ liệu cơ bản string s1, s2, s3; cin >> s1; cin >> s2; s3 = s1 + s2; cout << s3; s3 = "Hello Mom!" getline(cin, s3); Giới Thiệu Lập Trình Lớp string – Xâu Ký Tự cstring 10 Chuyển đổi kiểu dữ liệu Từ cstring sang đối tượng string (hợp lệ) char aCString[] = "My C-string"; string stringVar; stringVar = aCstring; Từ đối tượng string sang cstring (không hợp lệ) aCstring = stringVar; Không tự động chuyển sang cstring Phải tự chuyển sử dụng hàm sao chép strcpy strcpy(aCString, stringVar.c_str()); Giới Thiệu Lập Trình Tham Khảo 11 Tìm hiểu các hàm thao tác với xâu ký tự kiểu char (cstring) trong thư viện cstring Tìm hiểu các hàm thao tác với xâu ký tự kiểu char (cstring) trong thư viện cstring Giới Thiệu Lập Trình
File đính kèm:
- bai_giang_gioi_thieu_lap_trinh_xau_ky_tu_le_nguyen_khoi.pdf