Bài giảng Tin đại cương - Bài 9: Xâu hàm chung - Vũ Thương Huyền
BÀI 9
XÂU
HÀM CHUNG
Giảng viên:
Vũ Thương Huyền – Khoa Công nghệ thông tin – ĐH Thủy Lợi
Email:
NỘI DUNG
.Xâu kí tự
.Các hàm thao tác với xâu
.Hàm chung
XÂU KÍ TỰ
“Ngôn ngữ lập trình C++”
“Hôm nay trời rất đẹp!”
XÂU KÍ TỰ
.Xâu:
Là một mảng (dãy) các kí tự
Kết thúc bằng kí tự ‘\0’ là kí tự NULL
.Ví dụ:
“Ngon ngu C++”
0 1 2 3 4 5 6 7 8 9 10 11 12 13
N g o n
n g u
C + + \0
Kí tự đặt trong dấu nháy đơn ‘ ‘
Xâu kí tự đặt trong dấu nháy kép “ “
MÃ ASCII
KHAI BÁO XÂU KÍ TỰ
.Cách 1:
char tenxau [chieudai];
char tenxau [chieudai] = <Chuỗi kí tự>;
char tenxau [chieudai] = { ‘kí tự 1’, ‘kí tự 2’….,’\0’};
char xau[15] = “Xin chao!”;
char xau[15] = {‘H’, ‘e’, ’l’, ’l’, ’o’, ‘\0’};
char xau[ ] = “Xin chao!”;
.Ví dụ:
Phép gán xâu = chỉ được dùng khi khai báo biến
Một xâu có n kí tự cần một mảng có kích thước n+1
KHAI BÁO XÂU KÍ TỰ
.Cách 2: sử dụng lớp string
string tenxau;
string tenxau = <Chuỗi kí tự>;
.Ví dụ:
string str;
str=“Xin chao!”;
string xau = “Xin chao!”;
TRUY NHẬP VÀO PHẦN TỬ CỦA XÂU
.Cú pháp:
tenxau [chỉ số của kí tự]
.Ví dụ:
string str =“Ha Noi”;
str[0] lưu ‘H’
str[1] lưu ‘a’
str[2] lưu ‘ ’
str[10] ?
MỘT SỐ HÀM VỚI KÍ TỰ
Hàm
Mô tả
Chuyển thành kí tự thường
tolower(int ch)
toupper(int ch)
islower(int ch)
isupper(int ch)
isdigit(int ch)
isalpha(int ch)
isspace(int ch)
iscntrl( int ch)
Chuyển thành kí tự hoa
Kiểm tra chữ thường
Kiểm tra chữ hoa
Kiểm tra chữ số
Kiểm tra xem kí tự có là chữ cái không
Kiểm tra kí tự dấu cách
Kiểm tra kí tự điều hiển
MỘT SỐ VÍ DỤ
.Ví dụ: Nhập vào một xâu kí tự. Đếm số kí tự viết hoa.
MỘT SỐ VÍ DỤ
.Ví dụ: Nhập vào một xâu kí tự. Đếm số kí tự viết hoa.
CHUYỂN XÂU THÀNH CHỮ THƯỜNG
.Ví dụ: Nhập vào một xâu kí tự. Chuyển xâu đó thành chữ
thường.
MỘT SỐ VÍ DỤ
.Ví dụ: Nhập vào một xâu kí tự và một kí tự. Đếm số lần
xuất hiện của kí tự đó trong xâu.
MỘT SỐ VÍ DỤ
#include <iostream>
#include <string>
using namespace std;
. Ví dụ:
Lập trình đọc vào một xâu
chuẩn từ bàn phím rồi đưa màn
hình dưới dạng cột.
int main ()
{
string s;
cout<<"Nhap vao mot xau (chuan): "<<endl;
getline(cin, s);
Ví dụ:
Dai Hoc Thuy Loi
Đưa ra:
Dai
Hoc
for(int i=0; i<s.size();i++)
if(s[i]==' ')
cout<<endl;
else
Thuy
Loi
cout<<s[i];
return 0;
}
MỘT SỐ THAO TÁC VỚI XÂU
.So sánh xâu
.Ghép xâu
.Chèn xâu
.Xóa xâu
.Tìm kiếm xâu kí tự
CÁC PHÉP TOÁN VÀ PHƯƠNG THỨC CƠ BẢN
Phép toán/Phương thức
Mô tả
Ghép 2 chuỗi xâu hoặc ghép một kí tự vào xâu
+ , +=
So sánh theo thứ tự từ điển
==, != , >, >=, <, <=
.length() , .size()
.clear()
Trả về độ dài của xâu
Xóa nội dung của xâu
Thêm các kí tự/xâu vào cuối xâu hiện tại
Chèn các kí tự/xâu con vào xâu tại vị trí bất kì
.append(str)
.insert(pos, str)
.replace(pos, len, str)
Thay thế xâu con trong xâu hiện tại bằng 1 xâu con
mới
Trích xâu con từ xâu ban đầu
So sánh xâu với xâu hiện tại
Tìm xâu con trong xâu hiện tại
.substr(pos, len)
.compare(str)
.find(str)
SO SÁNH XÂU
.Toán tử so sánh
string str = "FILENAME";
str =="FILENAME" Cho giá trị True
str < "FILENAME A" Cho giá trị True
.Dùng phương thức compare
string str1 = "FILENAME";
string str2 = "FILENAME";
str1.compare(str2) Cho giá trị = 0 nếu str1=str2
Cho giá trị > 0 nếu str1 > str2
Cho giá trị < 0 nếu str1 < str2
GHÉP XÂU
.Dùng toán tử ‘+’
.Dùng phương thức append
string str1 = "Hello. "; string str1 = "Hello. ";
string str2;
str1.append("How are you?");
cout<<str1;
str2 ="How are you?";
str1 = str1 + str2;
cout<<str1;
Hello. How are you?
Hello. How are you?
CHÈN XÂU
Ví dụ
Cú pháp
string str1 = "Xin chao !";
string str2 ="Mickey";
.insert(pos, str2)
str1.insert(9, str2); // str1 = ?
string str1 = "Xin chao !";
.insert(pos, str2, subpos, sublen)
string str2 ="To la Mickey.";
str1.insert(9, str2, 6, 6); // str1 = ?
string str1 = "Ban khoe khong";
str1.insert(str1.end(),'?'); // str1 = ?
.insert(pos, n, c)
• pos: vị trí cần chèn
• sublen: độ dài xâu con cần chèn
• n: số kí tự cần chèn
• str2: xâu chèn vào xâu gốc
• subpos: vị trí kí tự đầu tiên trên xâu str2 được chèn
• c: kí tự cần chèn
XÓA XÂU
Ví dụ
Cú pháp
string str1 = "Mua thu rat dep!";
str1.erase(8, 4); // str1 = ?
.erase (pos, len)
string str1 = "Xin chao !";
str1.clear();
.clear()
cout<<str1; // str1 = ?
• pos: vị trí bắt đầu xóa
• len: số kí tự xóa
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Tin đại cương - Bài 9: Xâu hàm chung - Vũ Thương Huyền", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
bai_giang_tin_dai_cuong_bai_9_xau_ham_chung_vu_thuong_huyen.pdf

