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 đủ
pdf 28 trang baolam 21220 Free
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:

  • pdfbai_giang_tin_dai_cuong_bai_9_xau_ham_chung_vu_thuong_huyen.pdf