Bài giảng Tin học đại cương - Bài 8: Giới thiệu xâu kí tự - Đinh Phú Hùng

pdf 22 trang ngocly 3370
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Tin học đại cương - Bài 8: Giới thiệu xâu kí tự - Đinh Phú Hùng", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_tin_hoc_dai_cuong_bai_8_gioi_thieu_xau_ki_tu_dinh.pdf

Nội dung text: Bài giảng Tin học đại cương - Bài 8: Giới thiệu xâu kí tự - Đinh Phú Hùng

  1. Giới thiệu kí tự và bảng mã ASCII Giới thiệu về xâu kí tự Các hàm thao tác trên kí tự Một số phương thức (hàm) thao tác trên xâu Tóm tắt nội dung bài học TIN HỌC ĐẠI CƯƠNG BÀI 8: GIỚI THIỆU XÂU KÍ TỰ Giảng Viên: ThS. Đinh Phú Hùng Bộ môn: Khoa Học Máy Tính Email: hungdp@tlu.edu.vn 1 / 22
  2. Giới thiệu kí tự và bảng mã ASCII Giới thiệu về xâu kí tự Các hàm thao tác trên kí tự Một số phương thức (hàm) thao tác trên xâu Tóm tắt nội dung bài học Nội Dung 1 Giới thiệu kí tự và bảng mã ASCII 2 Giới thiệu về xâu kí tự 3 Các hàm thao tác trên kí tự 4 Một số phương thức (hàm) thao tác trên xâu 5 Tóm tắt nội dung bài học 2 / 22
  3. Giới thiệu kí tự và bảng mã ASCII Giới thiệu về xâu kí tự Các hàm thao tác trên kí tự Một số phương thức (hàm) thao tác trên xâu Tóm tắt nội dung bài học Giới thiệu kí tự và bảng mã ASCII 3 / 22
  4. Giới thiệu kí tự và bảng mã ASCII Giới thiệu về xâu kí tự Các hàm thao tác trên kí tự Một số phương thức (hàm) thao tác trên xâu Tóm tắt nội dung bài học Giới thiệu kí tự và bảng mã ASCII 4 / 22
  5. Giới thiệu kí tự và bảng mã ASCII Giới thiệu về xâu kí tự Các hàm thao tác trên kí tự Một số phương thức (hàm) thao tác trên xâu Tóm tắt nội dung bài học Giới thiệu kí tự và bảng mã ASCII Cách khai báo: char c; hoặc char c = ‘a’; Cách nhập và in: Vẫn sử dụng các câu lệnh cin và cout. Ví dụ: Nhập 1 kí tự từ bàn phím, in ra kí tự vừa nhập và mã tương ứng trong bảng mã ASCII. Chương trình minh họa #include main() { char c; cout«“Hay nhap vao 1 ky tu:”; cin»c; cout«“Ky tu vua nhap la: ”«c«endl; cout«“Ma ky tu vua nhap la: ”«(int)c; } 5 / 22
  6. Giới thiệu kí tự và bảng mã ASCII Giới thiệu về xâu kí tự Các hàm thao tác trên kí tự Một số phương thức (hàm) thao tác trên xâu Tóm tắt nội dung bài học Giới thiệu kí tự và bảng mã ASCII Ví dụ: Nhập từ bàn phím 1 số nguyên n. In ra màn hình mã tương ứng với ký tự đó. Chương trình minh họa #include main() { int n; cout«"Hay nhap vao 1 so nguyen:"; cin»n; cout«(char)n«endl; } 6 / 22
  7. Giới thiệu kí tự và bảng mã ASCII Giới thiệu về xâu kí tự Các hàm thao tác trên kí tự Một số phương thức (hàm) thao tác trên xâu Tóm tắt nội dung bài học Giới thiệu về xâu kí tự Khái niệm: Là tập hơp từ hai kí tự trở lên. Ví dụ: S = "chao ban" Để sử dụng xâu kí tự ta cần thêm thư viện Cách khai báo //Khai báo một xâu ký tự s chưa khởi tạo giá trị; string s; Khai báo một xâu ký tự được khởi tạo trước giá trị. string s = “chao ban”; string s(“chao ban”); 7 / 22
  8. Giới thiệu kí tự và bảng mã ASCII Giới thiệu về xâu kí tự Các hàm thao tác trên kí tự Một số phương thức (hàm) thao tác trên xâu Tóm tắt nội dung bài học Giới thiệu về xâu kí tự Cách nhập dữ liệu cho xâu kí tự Ta có thể dùng lệnh cin»s; để nhập dữ liệu cho một xâu kí tự s nhưng với điều kiện xâu s không chứa các kí tự khoảng trắng (dấu cách). Đối với xâu kí tự có chứa các kí tự khoảng trắng (dấu cách), ta phải dùng lệnh sau: getline(cin, s); Cách in dữ liệu cho xâu kí tự Để in 1 xâu kí tự s ra màn hình ta có thể sử dụng lệnh cout«s; 8 / 22
  9. Giới thiệu kí tự và bảng mã ASCII Giới thiệu về xâu kí tự Các hàm thao tác trên kí tự Một số phương thức (hàm) thao tác trên xâu Tóm tắt nội dung bài học Giới thiệu về xâu kí tự Ví dụ: Nhập một xâu kí tự từ bàn phím, in xâu kí tự vừa nhập ra màn hình. Chương trình minh họa #include #include main() { string s; cout«“Nhap mot xau ki tư : ”; getline(cin, s); cout«“Xau ki tự vua nhap la: ”; cout«s; } 9 / 22
  10. Giới thiệu kí tự và bảng mã ASCII Giới thiệu về xâu kí tự Các hàm thao tác trên kí tự Một số phương thức (hàm) thao tác trên xâu Tóm tắt nội dung bài học Các hàm thao tác trên kí tự Hàm isalpha(c). Hàm isdigit(c). Hàm isalnum(c). Hàm isspace(c). Hàm isxdigit(c). Hàm isupper(c). Hàm islower(c). Hàm toupper(c). Hàm tolower(c). Chú ý: Tham số đầu vào của các hàm là kí tự 10 / 22
  11. Giới thiệu kí tự và bảng mã ASCII Giới thiệu về xâu kí tự Các hàm thao tác trên kí tự Một số phương thức (hàm) thao tác trên xâu Tóm tắt nội dung bài học Các hàm thao tác trên kí tự Cách dùng hàm isalpha(c) Kiểm tra xem biến kí tự c có phải là ký tự nằm trong bảng chữ cái hay không. Hàm trả về giá trị khác 0 nếu đúng, trả lại giá trị bằng 0 nếu không phải. ( khác 0 nếu c thuộc bảng chữ cái isalpha(c)= 0 nếu c không thuộc bảng chữ cái Ví dụ: - isalpha(’x’) có giá trị khác 0. //’x’ thuộc bảng chữ cái - isalpha(’$’) có giá trị bằng 0. //’$’ thuộc bảng chữ cái Chú ý: Các kí tự nằm trong bảng chữ cái là các kí tự từ ’a’ đến ’z’ hoặc ’A’ đến ’Z’ 11 / 22
  12. Giới thiệu kí tự và bảng mã ASCII Giới thiệu về xâu kí tự Các hàm thao tác trên kí tự Một số phương thức (hàm) thao tác trên xâu Tóm tắt nội dung bài học Các hàm thao tác trên kí tự Cách dùng hàm isdigit(c) Kiểm tra xem biến kí tự c có phải là ký tự số hay không. Hàm trả về giá trị khác 0 nếu đúng, trả lại giá trị bằng 0 nếu không phải. ( khác 0 nếu c là kí tự số isdigit(c)= 0 nếu c không là kí tự số Ví dụ: - isdigit(’6’) có giá trị khác 0. //’6’ là kí tự số - isdigit(’a’) có giá trị bằng 0. //’a’ không là kí tự số Chú ý: Các kí tự số là các kí tự từ ’0’ đến ’9’ 12 / 22
  13. Giới thiệu kí tự và bảng mã ASCII Giới thiệu về xâu kí tự Các hàm thao tác trên kí tự Một số phương thức (hàm) thao tác trên xâu Tóm tắt nội dung bài học Các hàm thao tác trên kí tự Cách dùng hàm isalnum(c) Kiểm tra xem biến kí tự c có phải là ký tự vừa nằm trong bảng chữ cái và vừa là kí tự số hay không. Hàm trả về giá trị khác 0 nếu đúng, trả lại giá trị bằng 0 nếu không phải. ( khác 0 nếu c là kí tự số & chữ cái isalnum(c)= 0 nếu c không là kí tự số & chữ cái Ví dụ: - isalnum(’6’) có giá trị khác 0. //’6’ là kí tự số - isalnum(’a’) có giá trị khác 0. //’a’ là kí tự chữ cái - isalnum(’$’) có giá trị bằng 0. //’$’ không là kí tự số & chữ cái 13 / 22
  14. Giới thiệu kí tự và bảng mã ASCII Giới thiệu về xâu kí tự Các hàm thao tác trên kí tự Một số phương thức (hàm) thao tác trên xâu Tóm tắt nội dung bài học Các hàm thao tác trên kí tự Cách dùng hàm isspace(c) Kiểm tra xem biến kí tự c có phải là ký tự khoảng trắng hay không. Hàm trả về giá trị khác 0 nếu đúng, trả lại giá trị bằng 0 nếu không phải. ( khác 0 nếu c là kí tự khoảng trắng isspace(c)= 0 nếu c không là kí tự khoảng trắng Ví dụ: - isspace(’ ’) có giá trị khác 0. //’ ’ là kí khoảng trắng - isspace(’a’) có giá trị bằng 0. //’a’ không là kí khoảng trắng 14 / 22
  15. Giới thiệu kí tự và bảng mã ASCII Giới thiệu về xâu kí tự Các hàm thao tác trên kí tự Một số phương thức (hàm) thao tác trên xâu Tóm tắt nội dung bài học Các hàm thao tác trên kí tự Cách dùng hàm isxdigit(c) Kiểm tra xem biến kí tự c có phải là ký hệ 16 hay không. Hàm trả về giá trị khác 0 nếu đúng, trả lại giá trị bằng 0 nếu không phải. ( khác 0 nếu c là kí tự hệ 16 isxdigit(c)= 0 nếu c không là kí tự hệ 16 Ví dụ: - isxdigit(’6’) có giá trị khác 0. //’ ’ là kí tự hệ 16 - isxdigit(’a’) có giá trị khác 0. //’a’ là kí tự hệ 16. - isxdigit(’h’) có giá trị bằng 0. //’h’ không là kí tự hệ 16. Chú ý: Các kí tự hệ 16 là các kí tự từ ’0’ đến ’9’, từ ’a’ đến ’f’, từ ’A’ đến ’F’ 15 / 22
  16. Giới thiệu kí tự và bảng mã ASCII Giới thiệu về xâu kí tự Các hàm thao tác trên kí tự Một số phương thức (hàm) thao tác trên xâu Tóm tắt nội dung bài học Các hàm thao tác trên kí tự Cách dùng hàm isupper(c) Kiểm tra xem biến kí tự c có phải là ký hoa hay không. Hàm trả về giá trị khác 0 nếu đúng, trả lại giá trị bằng 0 nếu không phải. ( khác 0 nếu c là kí tự hoa isupper(c)= 0 nếu c không là kí tự hoa Ví dụ: - isupper(’A’) có giá trị khác 0. //’A’ là kí tự hoa. - isupper(’a’) có giá trị bằng 0. //’a’ không là kí tự hoa. 16 / 22
  17. Giới thiệu kí tự và bảng mã ASCII Giới thiệu về xâu kí tự Các hàm thao tác trên kí tự Một số phương thức (hàm) thao tác trên xâu Tóm tắt nội dung bài học Các hàm thao tác trên kí tự Cách dùng hàm islower(c) Kiểm tra xem biến kí tự c có phải là ký thường hay không. Hàm trả về giá trị khác 0 nếu đúng, trả lại giá trị bằng 0 nếu không phải. ( khác 0 nếu c là kí tự thường islower(c)= 0 nếu c không là kí tự thường Ví dụ: - islower(’a’) có giá trị khác 0. //’a’ là kí tự thường. - islower(’A’) có giá trị bằng 0. //’A’ không là kí tự thường. 17 / 22
  18. Giới thiệu kí tự và bảng mã ASCII Giới thiệu về xâu kí tự Các hàm thao tác trên kí tự Một số phương thức (hàm) thao tác trên xâu Tóm tắt nội dung bài học Các hàm thao tác trên kí tự Cách dùng hàm toupper(c) Dùng để chuyển kí tự c thành ký tự chữ hoa. Hàm trả về mã tương ứng với ký tự hoa có trong bảng mã ASCII. Ví dụ: - cout«toupper(‘a’); //sẽ in ra giá trị 65 - cout«(char)toupper(‘a’); //sẽ in ra ký tự ‘A’ 18 / 22
  19. Giới thiệu kí tự và bảng mã ASCII Giới thiệu về xâu kí tự Các hàm thao tác trên kí tự Một số phương thức (hàm) thao tác trên xâu Tóm tắt nội dung bài học Các hàm thao tác trên kí tự Cách dùng hàm tolower(c) Dùng để chuyển kí tự c thành ký tự thường. Hàm trả về mã tương ứng với ký tự thường có trong bảng mã ASCII. Ví dụ: - cout«tolower(‘A’); //sẽ in ra giá trị 97 - cout«(char)tolower(‘A’); //sẽ in ra ký tự ‘a’ 19 / 22
  20. Giới thiệu kí tự và bảng mã ASCII Giới thiệu về xâu kí tự Các hàm thao tác trên kí tự Một số phương thức (hàm) thao tác trên xâu Tóm tắt nội dung bài học Một số phương thức (hàm) thao tác trên xâu S.resize(tham số): Thay đổi kích thước xâu. S.size(): Lấy kích thước xâu S.insert(các tham số): Thêm phần tử mới vào xâu. S.push_back(tham số): Thêm phần tử mới vào cuối xâu S.erase(tham số): Xóa phần tử của xâu S.pop_back(): Xóa phần tử cuối cùng của xâu. S.append(tham số): Dùng để nối xâu Chú ý: Các phương thức thao tác trên xâu cũng giống như trên mảng động (lớp vector). 20 / 22
  21. Giới thiệu kí tự và bảng mã ASCII Giới thiệu về xâu kí tự Các hàm thao tác trên kí tự Một số phương thức (hàm) thao tác trên xâu Tóm tắt nội dung bài học Một số bài toán trên xâu kí tự Đếm các kí tự (hoa, thường, đặc biệt ) có trong xâu. Kiểm tra tính chất của xâu kí tự (có toàn kí tự hoa, thường, ) hay không. Kiểm tra xem xâu có đối xứng hay không Đảo ngược một xâu kí tự Xóa tất cả các kí tự (hoa, thường, ) có trong xâu Tạo một xâu mới chứa toàn kí tự (hoa, thường, ) từ xâu đã cho. 21 / 22
  22. Giới thiệu kí tự và bảng mã ASCII Giới thiệu về xâu kí tự Các hàm thao tác trên kí tự Một số phương thức (hàm) thao tác trên xâu Tóm tắt nội dung bài học Tóm tắt nội dung bài học Cách khai báo và sử dụng kiểu kí tự. Các hàm thao tác trên biến kí tự Cách nhập và in dữ liệu của xâu kí tự. Các phương thức thao tác trên xâu kí tự Một số bài toán trên xâu kí tự 22 / 22