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

pdf 12 trang kimcuc 9440
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

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:

  • pdfbai_giang_gioi_thieu_lap_trinh_xau_ky_tu_le_nguyen_khoi.pdf