Bài giảng Tin học đại cương - Bài 10: String - Nguyễn Thị Phương Thảo

Nội dung chính

1. Kiểu dữ liệu string

2. Khai báo và sử dụng

3. Các hàm liên quan

4. Bài tập1. Kiểu dữ liệu string

 Nhu cầu: nhiều phần mềm làm việc với dãy các

kí tự, như họ tên học sinh, địa chỉ, email, .

→ Tất cả đều ở dạng các chuỗi các kí tự

 Chuỗi các kí tự → có thể sử dụng mảng hoặc

vector để lưu trữ.

Bài giảng Tin học đại cương - Bài 10: String - Nguyễn Thị Phương Thảo trang 1

Trang 1

Bài giảng Tin học đại cương - Bài 10: String - Nguyễn Thị Phương Thảo trang 2

Trang 2

Bài giảng Tin học đại cương - Bài 10: String - Nguyễn Thị Phương Thảo trang 3

Trang 3

Bài giảng Tin học đại cương - Bài 10: String - Nguyễn Thị Phương Thảo trang 4

Trang 4

Bài giảng Tin học đại cương - Bài 10: String - Nguyễn Thị Phương Thảo trang 5

Trang 5

Bài giảng Tin học đại cương - Bài 10: String - Nguyễn Thị Phương Thảo trang 6

Trang 6

Bài giảng Tin học đại cương - Bài 10: String - Nguyễn Thị Phương Thảo trang 7

Trang 7

Bài giảng Tin học đại cương - Bài 10: String - Nguyễn Thị Phương Thảo trang 8

Trang 8

Bài giảng Tin học đại cương - Bài 10: String - Nguyễn Thị Phương Thảo trang 9

Trang 9

Bài giảng Tin học đại cương - Bài 10: String - Nguyễn Thị Phương Thảo trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 16 trang xuanhieu 7220
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Tin học đại cương - Bài 10: String - Nguyễn Thị Phương Thảo", để 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 Tin học đại cương - Bài 10: String - Nguyễn Thị Phương Thảo

Bài giảng Tin học đại cương - Bài 10: String - Nguyễn Thị Phương Thảo
 TIN ĐẠI CƯƠNG
STRING
 Nguyễn Thị Phương Thảo
 Bộ môn KTMT và M, Khoa CNTT
 Trường Đại học Thủy Lợi
 1
 Nội dung chính
1. Kiểu dữ liệu string
2. Khai báo và sử dụng
3. Các hàm liên quan
4. Bài tập
 2
 1. Kiểu dữ liệu string
. Nhu cầu: nhiều phần mềm làm việc với dãy các
 kí tự, như họ tên học sinh, địa chỉ, email, . . .
→ Tất cả đều ở dạng các chuỗi các kí tự
. Chuỗi các kí tự → có thể sử dụng mảng hoặc
 vector để lưu trữ.
 3
 Kiểu dữ liệu string
. Dưới dạng mảng hoặc vector, chuỗi ký tự được
 khai báo: char ten_hoc_sinh[100]; hoặc
 vector ten_hoc_sinh ;
. Do việc sử dụng các chuỗi kí tự ngày càng phổ
 biến, C++ đã cung cấp kiểu dữ liệu mới string cùng
 các hàm tiện ích đi kèm
 4
 2. Khai báo và sử dụng
. Khai báo thư viện string trước khi sử dụng :
 #include
. Cách khai báo biến
 string a; // a la kieu string, a khong co ki tu nao
 string b = "Dai hoc Thuy Loi" ;
 string c("Xin chao") ;
. Lưu ý :
 Giá trị của biến string phải để trong hai dấu nháy kép " "
 Ví dụ: nếu khai báo string b = Dai hoc Thuy Loi;
 → thiếu dấu " ", trình biên dịch sẽ báo lỗi
 Nếu muốn có dấu nháy kép " " trong string thì cần thêm kí tự \
 trước kí tự này
 Ví dụ : string d = "Doremon noi: \" Nobita oi. \" " ;
 5
 Khai báo và sử dụng
. In string ra màn hình: sử dụng cout
 string ho_va_ten = "Nguyen Ngoc Minh" ;
 cout << ho_va_ten ;
. Nhập string từ bàn phím : 2 cách
 - Sử dụng cin : chỉ lấy các kí tự đầu đến khi có khoảng trống thì dừng
 lại
 string ho_va_ten ;
 cin >> ho_va_ten ;
 - Sử dụng getline: lấy toàn bộ dòng
 string ho_va_ten ;
 getline(cin, ho_va_ten) ;
 6
 Ví dụ
Viết chương trình nhập vào
tên của bạn và hiển thị ra màn
hình lời chào.
 7
Ví dụ
 8
 Chỉ số (index)
. Về bản chất, string là 1 chuỗi các kí tự
 → có thể truy cập từng kí tự bằng cách sử dụng chỉ số (index)
. Ví dụ :
 string a = "Nguyen Anh" ;
 → a[0] = N, a[4] = e
 cout << a[7] << endl; //in ra ’A’
 a[9] = ’g’ ; //đổi ’h’ thành ’g’
 9
 3. Các hàm liên quan
 . Rất nhiều hàm trong thư viện string, tham khảo
 . Cần thực hành thật nhiều để sử dụng thông thạo các hàm
 . Một số hàm hay sử dụng
 s.size() hoặc s.length() : trả về chiều dài (số kí tự) của xâu
 s.resize(m) : thay đổi cỡ của xâu s thành m phần tử
 s.erase(pos,k) : xoá k kí tự bắt đầu từ vị trí pos
 s.push_back(c) : thêm kí tự c vào cuối xâu
 s.insert(pos,str) : chèn xâu str vào s bắt đầu từ vị trí pos
 s.find(str): trả về vị trí của str trong s, hoặc s.npos nếu không tìm thấy
 s.substr(pos,k): trả về xâu mới là k kí tự của s bắt đầu từ vị trí pos
Ví dụ : Thực hiện các
được nhập từ bàn phím.
 10
 Một số toán tử
. s[i] : truy cập đến phần tử thứ i của xâu
 string ho = "Nguyen"; → ho[2] = ’u’
. Toán tử +: nối hai xâu
 string ho = "Nguyen"; string ten = "Ngoc Minh" ;
 string hoten = ho + " " + ten;
 → hoten = "Nguyen Ngoc Minh"
. Toán tử +=: nối hai xâu
 string ho = "Nguyen"; string ten = "Ngoc Minh" ;
 string ho += " " + ten; → ho = "Nguyen Ngoc Minh"
. Các phép toán so sánh (so sánh theo giá trị từ điển)
 s1 < s2, s1 <= s2, s1 == s2, s1!= s2. ..
 11
 Một số hàm kí tự
Một số hàm kí tự trong thư viện cctype
int isalnum(char c): trả về true nếu c là một chữ cái hoặc một số
int isalpha(char c): trả về true nếu c là một chữ cái
int isdigit(char c): trả về true nếu c là một chữ số
int isupper(char c): trả về true nếu c là một chữ hoa
int isspace(char c): trả về true nếu c là một khoảng trống
int toupper(char c): đổi kí tự c sang chữ hoa
int tolower(char c): đổi kí tự c sang chữ thường
Ví dụ : Thực hiện các hàm trên với các kí tự của xâu
 s = "Chelsea 5 - 0 Everton".
 12
 VÍ DỤ
Đổi một xâu kí tự thành chữ hoa.
 13
 VÍ DỤ
Đổi một xâu kí tự thành chữ hoa (sử dụng hàm).
 14
 4. Bài tập
Bài 1: Viết hàm kiểm tra xem một
xâu s có chứa toàn các chữ số hay
không. Nhập vào một xâu bất kỳ,
hiển thị kết quả kiểm tra đối với xâu
vừa nhập.
 15
 4. Bài tập
Bài 2: Nhập vào một chuỗi kí tự.
Đếm xem kí tự ’a’ xuất hiện bao
nhiêu lần trong chuỗi đó. Đổi toàn
bộ các kí tự ’a’ trong chuỗi thành
’e’.
 16

File đính kèm:

  • pdfbai_giang_tin_hoc_dai_cuong_bai_10_string_nguyen_thi_phuong.pdf