Trong lập trình c ++, kiểu ký tự (Character) là một kiểu dữ liệu đặc biệt mà bạn cần nắm vững. Trong bài học này, chúng ta sẽ khám phá các khía cạnh quan trọng của kiểu ký tự trong c+ +.
Tổng quan về kiểu ký tự (Character)
Trước khi đi vào chi tiết, chúng ta cần hiểu rằng kiểu ký tự trong C++ thực chất là một số nguyên với kích thước 1 byte (8 bits). Kiểu ký tự này được sử dụng để lưu trữ các ký tự trong bảng mã ASCII như a, b, c, 1, 2, 3 và nhiều ký tự khác.
Khai báo, khởi tạo và gán giá trị một biến ký tự
Để khai báo, khởi tạo và gán giá trị cho một biến kiểu ký tự trong C++, ta sử dụng từ khóa char
. Ví dụ:
char ch1{ 'K' }; // khởi tạo biến character với ký tự 'K' (mã ASCII 75) char ch2{ 75 }; // khởi tạo biến character với mã ASCII 75 (ký tự 'K') char ch3(75); // khởi tạo biến character với mã ASCII 75 (ký tự 'K') char ch4 = 'K'; // khởi tạo biến character với ký tự 'K' (mã ASCII 75) char ch5; // khai báo biến kiểu character ch1 = 75; // gán mã ASCII 75 (ký tự 'K') cho biến character
Chú ý: Vì kiểu
char
cũng là số nguyên, bạn có thể dùng mã ASCII hoặc ký tự để khởi tạo hoặc gán giá trị cho biến kiểuchar
.
In ký tự ra màn hình
Khi in một ký tự ra màn hình, nó sẽ hiển thị ký tự ASCII thay vì mã ASCII. Ví dụ:
#include using namespace std; int main() { char ch1{ 75 }; // mã ASCII 75 (ký tự 'K') cout << ch1 << endl; // ký tự 'K' với mã ASCII 75 được hiển thị ra màn hình char ch2{ 'K' }; // ký tự 'K' (mã ASCII 75) cout << ch2 << endl; // ký tự 'K' trực tiếp được hiển thị ra màn hình return 0; }
In ký tự từ số nguyên và ngược lại (Casting)
Vì kiểu char
là một kiểu dữ liệu đặc biệt, vừa là số nguyên vừa là ký tự, bạn có thể in ra màn hình ký tự hoặc mã ASCII của nó bằng kỹ thuật ép kiểu static_cast
. Ví dụ:
#include using namespace std; int main() { int n{ 75 }; cout << static_cast(n) << endl; // in ký tự với mã ASCII 75 char ch{ 'K' }; cout << static_cast(ch) << endl; // in mã ASCII của ký tự 'K' return 0; }
Lưu ý: Khi ép kiểu từ
int
sangchar
, nếu giá trịint
lớn hơn giới hạn kiểuchar
, tràn số sẽ xảy ra.
Escape sequences
Trong C++, có một số ký tự đặc biệt được sử dụng trong chuỗi hay mảng ký tự, gọi là "Escape sequence". Một escape sequence có cấu trúc gồm dấu "backslash" (\
) và một ký tự hoặc một số. Dưới đây là một số escape sequence thường gặp:
-
\n
: xuống dòng -
\t
: di chuyển con trỏ 1 tab -
\'
: ký tự nháy đơn -
\"
: ký tự nháy kép -
\\
: ký tự backslash
Ví dụ:
cout << "HowKteam.com\nFree education";
Kết quả:
HowKteam.com Free education
Newline \n
và std::endl
Trong C++, để xuống dòng khi in một chuỗi, ta thường sử dụng escape sequence \n
hoặc std::endl
. Tuy hai cách này có kết quả giống nhau, nhưng cách hoạt động khác nhau. std::endl
sẽ xóa output buffer mỗi khi được gọi, trong khi \n
không làm điều này.
Khi viết một chương trình và sử dụng cả hai cách, kết quả sẽ không thay đổi. Tuy nhiên, nên dùng std::endl
khi cần đảm bảo output ngay lập tức và dùng \n
cho những trường hợp khác.
Dấu nháy đơn và dấu nháy kép
Trong C++, ký tự được đặt trong dấu nháy đơn, ví dụ: 'K', 't', 'e', 'a', 'm'
. Một biến kiểu char
chỉ lưu trữ một ký tự duy nhất. Trái lại, chuỗi ký tự (string) được đặt trong dấu nháy kép, ví dụ: "HowKteam.com"
.
Lưu ý: Mỗi ký tự trong dấu nháy đơn và chuỗi ký tự trong dấu nháy kép có cách sử dụng và cú pháp khác nhau.
Như vậy, kiểu ký tự trong C++ là một phần quan trọng trong lập trình . Hi vọng qua bài học này, bạn đã nắm vững kiểu ký tự và hiểu thêm về cách khai báo, khởi tạo và sử dụng ký tự trong C++.