Kiểu ký tự trong C++ (Character)

Trong chương trình lập trình, việc sử dụng kiểu ký tự là rất quan trọng. Kiểu ký tự trong C++ vừa là kiểu số nguyên vừa là kiểu ký tự. Điều này có nghĩa rằng kiểu ký tự tuân thủ tất cả các quy tắc của số nguyên thông thường.

Nếu bạn đã biết về kiểu số nguyên và số chấm động trong C++, việc hiểu về kiểu ký tự sẽ dễ dàng hơn. Bài viết này sẽ giới thiệu về kiểu ký tự trong C++, cách khai báo, khởi tạo và gán giá trị một biến ký tự, in ký tự ra màn hình, in ký tự từ số nguyên và ngược lại, escape sequences, newline và std::endl, cũng như dấu nháy đơn và dấu nháy kép trong C++.

Tổng quan về kiểu ký tự (Character)

Trong C++, kiểu ký tự là một kiểu dữ liệu đặc biệt. Nó không chỉ lưu trữ một ký tự mà còn có thể lưu trữ các câu thông báo cho người dùng. Kiểu ký tự trong C++ tuân thủ tất cả các quy tắc của số nguyên thông thường.

Kiểu ký tự trong C++ có độ lớn là 1 byte (8 bits), và được sử dụng để lưu trữ một ký tự trong bảng mã ASCII. Bảng mã ASCII là bộ kí tự và bộ mã kí tự dựa trên bảng chữ cái La Tinh trong tiếng Anh. Bảng mã ASCII chuẩn có 128 ký tự, trong khi bảng mã ASCII mở rộng có 255 ký tự.

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++, chúng 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

Lưu ý rằng vì kiểu char cũng là số nguyên, nên khi khởi tạo hoặc gán giá trị cho biến kiểu char, bạn có thể sử dụng số nguyên (mã ASCII) hoặc ký tự.

In ký tự ra màn hình

Khi in ra màn hình, bạn có thể in ra một ký tự hoặc mã ASCII của nó. Ví dụ:

#include 
using namespace std;

int main() {
    char ch1 = 'K'; // 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;
}

Output:

K
K

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ó. Để chuyển đổi giữa số nguyên và ký tự, chúng ta có thể sử dụng 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;
}

Outputs:

K
75

Escape sequences

Trong C++, có một số ký tự mang ý nghĩa đặc biệt trong chuỗi ký tự, được gọi là escape sequences. Một escape sequence có cấu trúc gồm một dấu backslash (”) và sau đó là một ký tự hoặc một số. Có nhiều escape sequences khác nhau, ví dụ:

  • ‘n’ di chuyển con trỏ xuống một dòng mới (newline)
  • ‘t’ di chuyển con trỏ 1 tab

Ví dụ:

cout << "Howkteam.comnFree Education"; // 'n' di chuyển con trỏ xuống một dòng mới
cout << "Tab 1tTab 2 "; // 't' di chuyển con trỏ 1 tab

Newline ‘n’ và std::endl

Trong C++, khi in một chuỗi ra màn hình, chúng ta thường sử dụng std::endl hoặc ‘n’ để xuống dòng. Dù hai cách này có thể cho kết quả tương tự, nhưng có một số khác biệt về cách hoạt động.

Khi sử dụng std::endl, output buffer sẽ được xóa mỗi khi được gọi. Tuy nhiên, khi sử dụng ‘n’, output buffer không được xóa.

Vì vậy, khi bạn muốn đảm bảo output của bạn hiển thị ngay lập tức, bạn có thể sử dụng std::endl. Tuy nhiên, khi làm việc với file I/O, hạn chế sử dụng std::endl để tránh hiệu ứng giảm hiệu suất do việc flush buffer liên tục.

Dấu nháy đơn ‘K’ và dấu nháy kép “Kteam”

Trong C++, ký tự thường được đặt trong dấu nháy đơn (”). Một biến kiểu char lưu trữ một ký tự, nếu bạn khởi tạo nhiều hơn 1 ký tự, bạn sẽ nhận được một thông báo lỗi.

Một chuỗi ký tự (string), mà được đặt trong dấu nháy kép (“”) là một tập hợp của các ký tự. Ví dụ:

cout << "HowKteam.com"; // "HowKteam.com" là một chuỗi ký tự

Trên đây là những điểm cơ bản về kiểu ký tự trong C++. Hy vọng qua bài viết này, bạn đã hiểu rõ hơn về kiểu ký tự và biết cách sử dụng nó.

FEATURED TOPIC

hihi