Professional Documents
Culture Documents
KIỂU DỮ LIỆU CÓ
CẤU TRÚC
§12
KIỂU XÂU
xâu
T I N H Ọ C
Lưu ý về XÂU là mảng (dãy)
4 ký tự.
NỘI DUNG
01 Khái niệm về kiểu xâu
Khái ni m
Xâu là dãy các kí tự trong bộ mã ASCII, mỗi kí tự là
một phần tử trong xâu;
Số lượng kí tự trong xâu được gọi là độ dài của xâu;
Xâu có độ dài bằng 0 gọi là xâu rỗng.
Ví dụ: các xâu ký tự đơn giản
“Chung toi la gia dinh”
“THPT CHUYEN LUONG VAN CHANH”
Có thể xem xâu là mảng một chiều mà mỗi phần tử là một kí tự.
Các kí tự của xâu được đánh số thứ tự, thường bắt đầu là 0.
Khái ni m
. Để mô tả kiểu xâu ta cần xác định
Tên kiểu xâu;
Cách khai báo biến kiểu xâu;
Số lượng kí tự kiểu xâu;
Các phép toán thao tác với xâu;
Tham chiếu tới phần tử của xâu.
02 Khai báo
Khai báo không khởi tạo
Biểu diễn bằng mảng của ký tự (char)
Ví dụ: char st[100];
char <tên biến xâu>[độ dài]; Ví dụ: char st[];
được hiểu là mảng st có tối đa là 100
char <tên biến xâu>[]; phần tử mà mỗi phần tử là kiểu kí tự.
Hằng xâu luôn được đặt trong cặp dấu nháy kép “ ”,
còn kí tự đặt trong cặp dấu nháy đơn ‘ ’.
Khai báo biến xâu và khởi tạo giá trị ban đầu
Biểu diễn bằng mảng của ký tự (char)
char <tên biến xâu>[độ dài] Ví dụ:
= “xâu ký tự”; char st[15]= ‘THPTchuyenLVC’;
string str3 = "HowKteam.com" ; // Khởi tạo chuỗi "HowKteam.com" cho biến str3
string str4 = str1 ; // Gán giá trị chuỗi str1 cho str4
string strNumber = "88" ; // Khởi tạo chuỗi số "88" cho strNumber, không phải số
Ten_bien_xau[chiso]
Nếu xâu có n ký tự thì bắt đầu là 0 và kết thúc là n-1.
Ví dụ: tentruong = “THPT chuyen LVC” ;
Tham chiếu tới phần tử thứ 6 như sau: tentruong[5]
Kết quả: c
T H P T c h u y e n L V C \0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Hằng xâu - nhiều kí tự luôn được đặt trong cặp dấu nháy kép
“ ”. Nếu xâu - một kí tự thì đặt trong cặp dấu nháy kép “ ”
hoặc cặp dấu nháy đơn ‘ ’.
C++ sẽ tự động thêm ‘\0’ vào cuối chuỗi.
Khi khởi tạo giá trị là số cho một chuỗi, C++ không tự động
chuyển một chuỗi số về giá trị số nguyên (integer) hoặc số
thực (floating point) và không có những thao tác như một
biến số học (cộng, trừ, nhân, chia, …).
Nếu muốn xuống dòng có 2 cách sau:
Sử dụng tham số endl
Ví dụ: cout << str1 << endl ;
Sử dụng ký tự đặt biệt là mã điều khiển xuống dòng: \n
Ví dụ: cout << str1 << " \n " ;
04 Nhập/xuất kiểu xâu
Nhập – Xuất trong xâu Xuất xâu: ta dùng cout như các loại
dữ liệu khác.
Nhập xâu: có 2 cách
Dùng cú pháp getline:
Dùng cú pháp cin:
getline(cin,biến_xâu);
cin >> biến_xâu
Khai báo biến xâu: Khai báo biến xâu:
char st[20] ; string st ;
Nhập xâu từ bàn phím: Nhập xâu từ bàn phím:
cout<< “Hay nhap xau cout<<“Hay nhap xau st:”;
st: ” ; getline(cin, st) ;
cin >> st ; Xuất xâu ra màn hình:
Xuất xâu ra màn hình: cout<<“Xau st vua nhap
cout<<“Xau st vua nhap
vao:” << st;
vao: ” << st ;
Tin học 11 - Ngôn ngữ lập trình C++
10/03/2023
15
Minh họa Nhập – Xuất trong xâu
#include <bits/stdc++.h>
#include <bits/stdc++.h>
using namespace std;
using namespace std;
char st[20]; //khai báo biến xâu
string st; //khai báo biến xâu
int main()
int main()
{
{
// Nhap xau st
// Nhap xau st
cout << "Hay nhap vao xau st: ";
cout<<" Hay nhap vao xau st: ";
// Xuat xau st
getline(cin,st);
cin >> st;
// Xuat xau st
cout <<"\n Xau st vua nhap vao:"
cout<<"\n Xau st vua nhap vao: "
<<st;
<< st;
return 0;
return 0;
}
}
Tin học 11 - Ngôn ngữ lập trình C++
10/03/2023
16
Minh họa Nhập – Xuất trong xâu
#include <bits/stdc++.h>
#include <bits/stdc++.h>
using namespace std;
using namespace std;
char st[20];
string st;
int main()
int main()
{
{
cout << "Hay nhap vao xau st: ";
cout<<" Hay nhap vao xau st: ";
cin >> st;
getline(cin,st);
cout <<"\n Xau st vua nhap vao:"
cout<<"\n Xau st vua nhap vao: "
<<st;
<< st;
return 0;
return 0;
}
}
Hai xâu được coi là bằng nhau nếu như chúng giống nhau
hoàn toàn.
Ví dụ: “TIN HOC” = “TIN HOC”
1. Lấy chỉ số: st[chỉ số]; st[0]; st[5];
2. Lấy độ dài: st.length(); hoặc st.size()
st =“123456”; cout<<st.length(); in ra là 6
3. Phép ghép xâu: ta dùng dấu ‘+’ để ghép xâu.
st1 + st2+……+ stn;
st1 =“THPT chuyen”; st2 =“LVC”;
st = st1 + st2; cout<<st; in ra là THPT chuyen LVC.
ta không được viết st1 =“THPT chuyen” + “LVC”; báo lỗi