C++ Kiểu dữ liệu Char với các ví dụ

Char là gì?

Char là một C++ Kiểu dữ liệu được thiết kế để lưu trữ các chữ cái. Char là viết tắt của một ký tự chữ và số. Đây là kiểu dữ liệu tích phân, nghĩa là giá trị được lưu trữ dưới dạng số nguyên. Một char chiếm kích thước bộ nhớ là 1 byte. Nó cũng lưu trữ một ký tự duy nhất.

ASCII là gì?

Giá trị char được hiểu là ký tự ASCII. Điều này tương tự như cách các giá trị Boolean được hiểu là đúng hoặc sai. ASCII là từ viết tắt của Mã tiêu chuẩn Mỹ để trao đổi thông tin. Nó xác định một cách cụ thể để biểu diễn các ký tự tiếng Anh dưới dạng số.

Các số nằm trong khoảng từ 0 đến 127. Ví dụ: ký tự 'a' tương đương với mã ASCII 97.

Tuyên bố Char

Để khai báo một biến char trong C++, chúng tôi sử dụng từ khóa char. Sau đó phải có tên của biến. Biến có thể được khởi tạo tại thời điểm khai báo. Giá trị của biến phải được đặt trong dấu ngoặc đơn.

cú pháp

Đây là cú pháp khai báo char trong C++:

char variable-name;

Tên biến là tên được gán cho biến.

Nếu một giá trị được gán tại thời điểm khai báo, bạn có thể sử dụng cú pháp sau:

char variable-name = 'value';	
  • Tên biến là tên của biến char.
  • Giá trị là giá trị được gán cho biến char.

Ví dụ 1:

#include <iostream>
using namespace std;
int main() {
	char grade = 'B';
	cout << "I scored a: "<<grade;
	return 0;
}

Đầu ra:

Tuyên bố Char

Đây là ảnh chụp màn hình của mã:

Tuyên bố Char

Giải thích mã:

  1. Bao gồm tệp tiêu đề iostream trong mã của chúng tôi để sử dụng các chức năng của nó.
  2. Bao gồm không gian tên std trong mã của chúng tôi để sử dụng các lớp của nó mà không cần gọi nó.
  3. Gọi hàm main(). Logic chương trình phải được thêm vào trong phần thân của hàm này.
  4. Khai báo một biến ký tự có tên là lớp. Biến này cũng đã được gán giá trị B. Lưu ý giá trị của biến được đặt trong dấu ngoặc đơn.
  5. In giá trị của biến cấp cùng với văn bản khác trên bảng điều khiển.
  6. Chương trình phải trả về giá trị sau khi hoàn thành thành công.
  7. Phần cuối của hàm main().

In giá trị ASCII

Như đã nêu ở trên, mỗi ký tự được hiểu là ký tự ASCII. Bạn có thể lấy giá trị ASCII của bất kỳ ký tự nào. Bạn chỉ cần truyền ký tự đó vào hàm int(). Quá trình này được gọi là đúc kiểu. Hãy chứng minh điều này:

Ví dụ 2:

#include <iostream>
using namespace std;
int main() {
	char ch;
	cout << "Enter any character: ";
	cin >> ch;
	cout << "The ASCII Value of " << ch << " is " << int(ch);
	return 0;
}

Đầu ra:

In giá trị ASCII

Đây là ảnh chụp màn hình của mã:

In giá trị ASCII

Giải thích mã:

  1. Đưa tệp tiêu đề iostream vào mã của chúng tôi để sử dụng các chức năng của nó.
  2. Bao gồm không gian tên std vào mã của chúng tôi để sử dụng các lớp của nó mà không cần gọi nó.
  3. Gọi hàm main(). Logic chương trình phải được thêm vào trong phần thân của hàm này.
  4. Khai báo một biến char có tên ch.
  5. In một số văn bản trên bảng điều khiển. Văn bản yêu cầu người dùng nhập giá trị cho biến ch.
  6. Đọc dữ liệu nhập từ bàn phím của người dùng và lưu nó vào biến ch.
  7. In một số văn bản trên bảng điều khiển. Văn bản sẽ bao gồm ký tự bạn đã nhập cho biến ch, giá trị ASCII của ký tự này và văn bản khác.
  8. Chương trình phải trả về giá trị sau khi hoàn thành thành công.
  9. Phần cuối của hàm main().

In giá trị Char

Cho một giá trị ASCII, C++ trình biên dịch có thể trả về ký tự tương ứng. Bạn khai báo một biến char và gán cho nó một giá trị nguyên. Nó sẽ được chuyển đổi thành giá trị ký tự tương ứng.

Ví dụ 3:

#include <iostream>
using namespace std;
int main() {
	char x = 64, y = 66, z = 71;
	cout << x;
	cout << y;
	cout << z;
	return 0;
}

Đầu ra:

In giá trị Char

Đây là ảnh chụp màn hình của mã:

In giá trị Char

Giải thích mã:

  1. Bao gồm tệp tiêu đề iostream vào mã. Sau đó chúng ta sẽ sử dụng các chức năng của nó mà không gặp lỗi.
  2. Bao gồm không gian tên std vào mã. Chúng ta sẽ sử dụng các lớp của nó mà không cần gọi nó.
  3. Gọi hàm main(). Logic chương trình sẽ đi vào phần thân của hàm này.
  4. Khai báo 65 biến char x, y, z. Ba giá trị này đã được gán các giá trị nguyên là 66, 67 và XNUMX. Những giá trị này sẽ được coi là giá trị ASCII cho các ký tự.
  5. In giá trị của biến x ra màn hình console. Vì x được khai báo là char nên char có giá trị ASCII là 65 sẽ được trả về, tức là A.
  6. In ra giá trị của biến y trên bàn điều khiển. Vì y được khai báo là char nên char có giá trị ASCII là 66 sẽ được trả về, tức là B.
  7. In ra giá trị của biến z trên bàn điều khiển. Vì z được khai báo là char nên char có giá trị ASCII là 67 sẽ được trả về, tức là C.
  8. Chương trình phải trả về giá trị sau khi hoàn thành thành công.
  9. Phần cuối của hàm main().

Nhập ký tự

Chúng ta có thể sử dụng hàm std::cin để đọc một ký tự do người dùng nhập qua bàn phím. std::cin sẽ cho phép bạn nhập nhiều ký tự. Tuy nhiên, biến ký tự chỉ có thể chứa một ký tự. Điều này có nghĩa là chỉ ký tự đầu tiên được nhập sẽ được trích xuất và lưu trữ trong biến ký tự. Phần còn lại sẽ vẫn nằm trong bộ đệm được std::cin sử dụng. Để trích xuất, hãy thực hiện các lệnh gọi tiếp theo đến std::cin.

Ví dụ 4:

#include <iostream>
using namespace std;
int main() {
	cout << "Type a sequence of characters: "; 
	char ch;
	cin >> ch; 
	cout <<"The ASCII code of "<< ch << " is "<< int(ch) << '\n';
	cin >> ch; 
	cout <<"The ASCII code of " << ch << " is "<< int(ch) << '\n';
	return 0;
}

Đầu ra:

Nhập ký tự

Đây là ảnh chụp màn hình của mã:

Nhập ký tự

Giải thích mã:

  1. Bao gồm tệp tiêu đề iostream trong mã của chúng tôi để sử dụng các chức năng của nó.
  2. Bao gồm không gian tên std trong mã của chúng tôi để sử dụng các lớp của nó mà không cần gọi nó.
  3. Gọi hàm main(). Logic chương trình phải được thêm vào trong phần thân của hàm này.
  4. In một số văn bản trên bảng điều khiển.
  5. Khai báo một biến ký tự có tên ch.
  6. Đọc đầu vào của người dùng từ bàn phím. Đầu vào sẽ được lưu trữ trong biến ch. Vì người dùng sẽ gõ một chuỗi ký tự như abc nên chỉ ký tự đầu tiên a sẽ được lưu trong biến ch.
  7. In ký tự đầu tiên được nhập, mã ASCII của nó và văn bản khác trên bảng điều khiển. Mã ASCII được xác định bằng cách chuyển biến ký tự cho hàm int().
  8. Đọc ký tự tiếp theo được người dùng nhập vào. Người dùng sẽ không bắt buộc phải nhập ký tự mới. Thay vào đó, nó sẽ đọc ký tự thứ hai được nhập vào, đó là b.
  9. In ký tự thứ hai đã nhập, mã ASCII của nó và văn bản khác trên bảng điều khiển. Mã ASCII được xác định bằng cách chuyển biến ký tự cho hàm int().
  10. Chương trình phải trả về giá trị sau khi hoàn thành thành công.
  11. Phần cuối của hàm main().

Chuyển ký tự thành chuỗi

Tồn tại một số cách mà chúng ta có thể sử dụng để chuyển đổi các ký tự thành dây.

Hãy thảo luận về chúng:

#1: Sử dụng Trình xây dựng được cung cấp bởi Lớp Chuỗi

Bạn có thể thực hiện việc này bằng cú pháp sau:

string st(int n,char x);

Tham số n biểu thị kích thước của chuỗi được tạo.

Tham số x là ký tự cần chuyển đổi thành chuỗi.

Hàm trả về một chuỗi.

Ví dụ 5:

#include<iostream>
#include <string>
using namespace std;
int main() {
	string st(1, 'C');
	cout << "The resulting string is : " << st;
	return 0;
}

Đầu ra:

Chuyển ký tự thành chuỗi

Đây là ảnh chụp màn hình của mã:

Chuyển ký tự thành chuỗi

Giải thích mã:

  1. Bao gồm tệp tiêu đề iostream trong mã của chúng tôi để sử dụng các chức năng của nó.
  2. Bao gồm tệp tiêu đề chuỗi trong mã của chúng tôi để sử dụng các chức năng của nó.
  3. Bao gồm không gian tên std trong mã của chúng tôi để sử dụng các lớp của nó mà không cần gọi nó.
  4. Gọi hàm main(). Logic chương trình phải được thêm vào trong phần thân của hàm này.
  5. Chuyển đổi ký tự “C” thành chuỗi có độ dài 1 và gán chuỗi kết quả cho biến st.
  6. In giá trị của chuỗi st trên bảng điều khiển cùng với văn bản khác.
  7. Chương trình phải trả về giá trị sau khi hoàn thành thành công.
  8. Phần cuối của hàm main().

#2) Sử dụng chuỗi std:: Operators = và +=

Các toán tử = và += đã bị quá tải ký tự. Cả hai có thể được sử dụng để chuyển đổi một ký tự cụ thể thành một chuỗi.

Ví dụ 6:

#include<iostream>
#include <string>
using namespace std;
int main() {
	string st;
	char b = 'B';
	st = 'A';
	st += b;
	cout << "The resulting string is : " << st;
	return 0;
}

Đầu ra:

Chuyển ký tự thành chuỗi

Đây là ảnh chụp màn hình của mã:

Chuyển ký tự thành chuỗi

Giải thích mã:

  1. Bao gồm tệp tiêu đề iostream trong mã của chúng tôi để sử dụng các chức năng của nó.
  2. Bao gồm tệp tiêu đề chuỗi trong mã của chúng tôi để sử dụng các chức năng của nó.
  3. Bao gồm không gian tên std trong mã của chúng tôi để sử dụng các lớp của nó mà không cần gọi nó.
  4. Gọi hàm main(). Logic chương trình phải được thêm vào trong phần thân của hàm này.
  5. Tạo một biến chuỗi có tên st.
  6. Tạo một ký tự có tên b với giá trị là B.
  7. Gán giá trị A cho chuỗi có tên st.
  8. Sử dụng toán tử += để chuyển đổi các ký tự thành chuỗi.
  9. In giá trị của chuỗi st trên bảng điều khiển cùng với văn bản khác.
  10. Chương trình phải trả về giá trị sau khi hoàn thành thành công.
  11. Phần cuối của hàm main().

#3: Sử dụng các phương thức std::string

Lớp std::string có nhiều hàm nạp chồng có thể giúp bạn chuyển đổi các ký tự thành chuỗi.

Chúng bao gồm:

  • đẩy lùi Hàm này gán một ký tự cụ thể vào cuối chuỗi. Nó được nạp chồng cho các ký tự. Nó sử dụng cú pháp sau:
    void push_back(char ch)
    

    Tham số ch là ký tự cần được thay đổi thành chuỗi.

  • thêm Nó gán nhiều bản sao của một ký tự cụ thể cho một chuỗi. Hàm này có cú pháp sau:
    string& append(size_t n,char ch)
    

    Tham số n biểu thị thời gian ký tự sẽ được thêm vào.

    Tham số ch là ký tự để thêm vào chuỗi.

  • giao Hàm này thay thế nội dung hiện tại của chuỗi bằng n bản sao của ký tự được chỉ định. Hàm này sử dụng cú pháp sau:
    string& assign(size_t n,char ch);

    Tham số n biểu thị tổng số bản sao cho ký tự.

    Tham số ch là ký tự cần sao chép vào chuỗi.

  • chèn Hàm insert chèn n bản sao của một ký tự vào vị trí bắt đầu của chuỗi, như được chỉ định trong các đối số. Nó sử dụng cú pháp sau:
    string& insert(size_t p,size_t n,char ch);

    Tham số p biểu thị vị trí từ đầu nơi các ký tự sẽ được chèn vào.

    Tham số n biểu thị tổng số bản sao cho ký tự.

    Tham số ch là ký tự được chèn vào chuỗi.

Ví dụ 7:

#include<iostream>
#include <string>
using namespace std;
int main() {
	string st;
	st.push_back('A');
	cout << "push_back A returns : " << st << endl;
	st = "";
	st.append(1, 'C');
	cout << "append C returns : " << st << endl;
	st = "";
	st.assign(1, 'D');
	cout << "assign D returns : " << st << endl;
	st.insert(0, 1, 'E');
	cout << "insert single character returns : " << st << endl;
	return 0;
}

Đầu ra:

Chuyển ký tự thành chuỗi

Đây là ảnh chụp màn hình của mã:

Chuyển ký tự thành chuỗi

  1. Bao gồm tệp tiêu đề iostream trong mã của chúng tôi để sử dụng các chức năng của nó.
  2. Bao gồm tệp tiêu đề chuỗi trong mã của chúng tôi để sử dụng các chức năng của nó.
  3. Bao gồm không gian tên std trong mã của chúng tôi để sử dụng các lớp của nó mà không cần gọi nó.
  4. Gọi hàm main(). Logic chương trình phải được thêm vào trong phần thân của hàm này.
  5. Tạo một biến chuỗi có tên st.
  6. Gán ký tự A vào cuối chuỗi.
  7. In giá trị của chuỗi st trên bảng điều khiển cùng với văn bản khác. Endl (dòng cuối) di chuyển con trỏ đến dòng tiếp theo.
  8. Đặt giá trị của chuỗi st thành trống.
  9. Gán ký tự đơn C cho chuỗi có tên st.
  10. In giá trị của chuỗi st trên bảng điều khiển cùng với văn bản khác. Endl (dòng cuối) di chuyển con trỏ đến dòng tiếp theo.
  11. Đặt giá trị của chuỗi st thành trống.
  12. Thay thế nội dung của chuỗi st bằng ký tự đơn D.
  13. In giá trị của chuỗi st trên bảng điều khiển cùng với văn bản khác. Endl (dòng cuối) di chuyển con trỏ đến dòng tiếp theo.
  14. Chèn ký tự đơn E vào chuỗi có tên st từ chỉ mục đầu tiên của nó.
  15. In giá trị của chuỗi st trên bảng điều khiển cùng với văn bản khác. Endl (dòng cuối) di chuyển con trỏ đến dòng tiếp theo.
  16. Chương trình phải trả về giá trị sau khi hoàn thành thành công.
  17. Phần cuối của hàm main().

#4: Sử dụng std::stringstream

Để sử dụng lớp này để chuyển đổi ký tự thành chuỗi, hãy chèn ký tự đó vào luồng.

Chúng sẽ được ghi vào chuỗi.

Ví dụ 8:

#include<iostream>
#include <string>
#include <sstream>

using namespace std;
int main() {

	string st;

	stringstream myst;

	myst << 'A'; 
	myst >> st;

	cout << "The conversion of the single character returns the string: " << st;

	return 0;
}

Đầu ra:

Chuyển ký tự thành chuỗi

Đây là ảnh chụp màn hình của mã:

Chuyển ký tự thành chuỗi

Giải thích mã:

  1. Bao gồm tệp tiêu đề iostream trong mã của chúng tôi để sử dụng các chức năng của nó.
  2. Bao gồm tệp tiêu đề chuỗi trong mã của chúng tôi để sử dụng các chức năng của nó.
  3. Bao gồm tệp tiêu đề dòng trong mã của chúng tôi để sử dụng các chức năng của nó.
  4. Bao gồm không gian tên std trong mã của chúng tôi để sử dụng các lớp của nó mà không cần gọi nó.
  5. Gọi hàm main(). Logic chương trình phải được thêm vào trong phần thân của hàm này.
  6. Tạo một biến chuỗi có tên st.
  7. Tạo một biến luồng có tên myst.
  8. Chèn ký tự A vào đối tượng luồng có tên myst.
  9. Chuyển đổi đối tượng luồng thành một chuỗi.
  10. In giá trị của chuỗi st trên bảng điều khiển cùng với văn bản khác. Endl (dòng cuối) di chuyển con trỏ đến dòng tiếp theo.
  11. Chương trình phải trả về giá trị sau khi hoàn thành thành công.
  12. Phần cuối của hàm main().

Tổng kết

  • Một char là một C++ kiểu dữ liệu được sử dụng để lưu trữ các chữ cái.
  • C++ Char là kiểu dữ liệu tích phân, nghĩa là giá trị được lưu dưới dạng số nguyên.
  • Nó chiếm kích thước bộ nhớ là 1 byte.
  • C++ Char chỉ lưu trữ ký tự đơn.
  • Giá trị Char được hiểu là ký tự ASCII.
  • ASCII là từ viết tắt của Mã tiêu chuẩn Mỹ để trao đổi thông tin.
  • Nó nêu một cách cụ thể để biểu diễn các ký tự tiếng Anh dưới dạng số.
  • Để xem giá trị ASCII của một ký tự, chúng ta chuyển nó vào hàm int().
  • Để xem giá trị char tương ứng của giá trị ASCII, chúng ta định nghĩa ASCII là một ký tự.