Các kiểu dữ liệu và các phép so sánh năm 2024

Kiểu dữ liệu (data type) là cách để phân loại và mô tả cách dữ liệu được lưu trữ và xử lý trong ngôn ngữ lập trình. Nó giúp trình biên dịch hoặc trình thông dịch hiểu và quản lý cách lập trình viên muốn sử dụng dữ liệu.

Thường khi nói về kiểu dữ liệu, chúng ta thường liên tưởng đến loại dữ liệu của biến hoặc kết quả của một phép tính, một hàm hoặc một đoạn mã. Mỗi kiểu dữ liệu có các phép toán và thao tác xử lý riêng, do đó, khi thực hiện tính toán với các giá trị, chúng ta phải biết kiểu dữ liệu của chúng.

Ví dụ: Nếu một biến chứa giá trị 5 được nhập từ bàn phím thông qua lệnh input, không thể thực hiện các phép toán số học trực tiếp trên nó. Lý do là kiểu dữ liệu của biến đó là kiểu chuỗi (string), không hỗ trợ phép tính số học như các giá trị số.

1.2. Một số kiểu dữ liệu trong C++

Dưới đây là một số kiểu dữ liệu phổ biến trong C++:

Các kiểu dữ liệu và các phép so sánh năm 2024

Tiếp theo chúng ta sẽ tìm hiểu về kích thước bộ nhớ của các kiểu dữ liệu:

Các kiểu dữ liệu và các phép so sánh năm 2024

2. Tìm hiểu về các kiểu dữ liệu phổ biến trong C++

Cùng ICANTECH tìm hiểu chi tiết về từng kiểu dữ liệu để xem cách chúng hoạt động và thao tác cơ bản với các kiểu dữ liệu trong C++ nhé!

Có nhiều kiểu dữ liệu số nguyên trong C++ và các ngôn ngữ lập trình khác vì mục tiêu là tối ưu hóa sử dụng bộ nhớ và tài nguyên máy tính dựa trên yêu cầu cụ thể của ứng dụng và hệ thống. Một số kiểu dữ liệu số nguyên được thiết kế để chứa các giá trị nguyên cơ bản với mức tiêu thụ bộ nhớ tối thiểu, trong khi các kiểu khác được thiết kế để chứa các giá trị lớn hơn hoặc cung cấp độ chính xác cao hơn.

Dưới đây là một số lý do tại sao có các kiểu dữ liệu số nguyên khác nhau:

  • Phạm vi giá trị: Mỗi kiểu dữ liệu có phạm vi giá trị khác nhau. Sử dụng kiểu dữ liệu thích hợp giúp bạn đảm bảo rằng bạn không vượt quá phạm vi và tránh sai lệch.
  • Tối ưu hoá bộ nhớ: Sử dụng kiểu dữ liệu phù hợp với phạm vi giá trị sẽ tiết kiệm bộ nhớ. Ví dụ, không cần sử dụng kiểu long long cho số nguyên nhỏ nếu kiểu int đủ.
  • Hiệu năng: Sử dụng kiểu dữ liệu thích hợp có thể cải thiện hiệu năng. Ví dụ, việc sử dụng int thay vì long long có thể làm cho các phép tính số học nhanh hơn.
  • Tính chính xác: Đối với các tình huống yêu cầu tính chính xác cao, như tính toán khoa học hoặc tài chính, các kiểu dữ liệu số nguyên như long double có độ chính xác cao hơn.
  • Kích thước dữ liệu: Kiểu dữ liệu ảnh hưởng đến kích thước dữ liệu và dung lượng lưu trữ. Việc lựa chọn kiểu dữ liệu có ảnh hưởng đến việc quản lý bộ nhớ.

2.1. Kiểu dữ liệu số nguyên

Các kiểu dữ liệu số thực phổ biến có thể kể đến: kiểu dữ liệu int, kiểu dữ liệu short, kiểu dữ liệu long.

Các kiểu dữ liệu và các phép so sánh năm 2024

include

int main() {

int a = 42; // Kiểu int

short b = 12345; // Kiểu short

long c = 1234567890; // Kiểu long

long long d = 1234567890123456789; // Kiểu long long

std::cout << "Kiểu int: " << a << std::endl;

std::cout << "Kiểu short: " << b << std::endl;

std::cout << "Kiểu long: " << c << std::endl;

std::cout << "Kiểu long long: " << d << std::endl;

return 0;

}

Kết quả:

Kiểu int: 42

Kiểu short: 12345

Kiểu long: 1234567890

Kiểu long long: 1234567890123456789

2.2. Kiểu số thực

Các kiểu dữ liệu số thực phổ biến có thể kể đến: kiểu dữ liệu float, kiểu dữ liệu double, kiểu dữ liệu long double.

Các kiểu dữ liệu và các phép so sánh năm 2024

Ví dụ:

score = 8.0

distance = 12.3

Biến score và distance ở đây chính là kiểu dữ liệu float.

Các biến dữ liệu float thường được sử dụng để biểu thị cho các giá trị như điểm số, khoảng cách, nhiệt độ…. và thường kết hợp với các phép toán trong C++ để tính toán các giá trị, biểu thị các công thức phức tạp…

Ví dụ:

include

include

int main() {

float a = 3.14159265; // Kiểu float

double b = 3.14159265359; // Kiểu double

long double c = 3.141592653589793238; // Kiểu long double

std::cout << std::fixed << std::setprecision(10);

std::cout << "Kiểu float: " << a << std::endl;

std::cout << "Kiểu double: " << b << std::endl;

std::cout << "Kiểu long double: " << c << std::endl;

return 0;

}

Kết quả:

Kiểu float: 3.1415927410

Kiểu double: 3.1415926536

Kiểu long double: 3.1415926535897931

2.3. Kiểu dữ liệu enum

Kiểu dữ liệu enum trong C++ (viết tắt của "enumeration") được sử dụng để định nghĩa một tập hợp các giá trị hằng số rời rạc, đặt tên để dễ dàng sử dụng và hiểu. enum giúp làm cho mã nguồn dễ đọc hơn, dễ bảo trì và giảm lỗi khi sử dụng các giá trị hằng số. Dưới đây là cách sử dụng enum trong C++:

Cú pháp:

enum enum_name {

enumerator1,

enumerator2,

// ...

};

  • enum_name là tên kiểu dữ liệu enum bạn muốn định nghĩa.
  • enumerator1, enumerator2, v.v., là các giá trị hằng số mà bạn muốn đặt tên.

Ví dụ:

include

enum Day {

Monday, // 0

Tuesday, // 1

Wednesday, // 2

Thursday, // 3

Friday, // 4

Saturday, // 5

Sunday // 6

};

int main() {

Day today = Wednesday;

if (today == Wednesday) {

std::cout << "Today is Wednesday!" << std::endl;

}

return 0;

}

Trong ví dụ này, chúng ta đã định nghĩa một kiểu dữ liệu enum có tên Day với các giá trị hằng số là các ngày trong tuần. Khi chúng ta gán Wednesday cho biến today, ta có thể so sánh biến này với các giá trị enum để kiểm tra xem hôm nay có phải là ngày "Wednesday" không.

Một vài điểm lưu ý:

  • Giá trị của các enumerator bắt đầu từ 0 và tăng lên một đơn vị cho mỗi enumerator tiếp theo, nhưng bạn có thể gán giá trị khởi đầu khác bằng cách gán số nguyên cho chúng.
  • Mặc định, kiểu dữ liệu enum trong C++ sử dụng kiểu số nguyên làm kiểu dữ liệu lưu trữ, vì vậy các enumerator có thể được sử dụng trong các biểu thức số học.

2.4. Kiểu dữ liệu string trong C++

Kiểu dữ liệu string trong C++ hay còn được biết đến là kiểu dữ liệu chuỗi (string) được định nghĩa thông qua thư viện chuỗi chuẩn (STL - Standard Template Library) và được sử dụng thông qua lớp std::string.

Để khai báo một biến kiểu chuỗi với từ khóa std::string, bạn thực hiện như sau:

include

include

int main() {

std::string myString = "Hello, World!";

std::cout << myString << std::endl;

return 0;

}

2.5. Kiểu dữ liệu boolean

Kiểu dữ liệu boolean trong C++ được đại diện bằng hai giá trị chấp nhận được: true (đúng) và false (sai). Kiểu dữ liệu boolean được sử dụng để biểu thị các giá trị logic, trong đó true thường tương ứng với "đúng" và false tương ứng với "sai". Kiểu boolean rất hữu ích trong các biểu thức điều kiện và kiểm tra logic trong lập trình.

Dưới đây là cách bạn có thể khai báo và sử dụng kiểu dữ liệu boolean trong C++:

include

int main() {

bool isTrue = true; // Khai báo biến boolean với giá trị đúng

bool isFalse = false; // Khai báo biến boolean với giá trị sai

if (isTrue) {

std::cout << "isTrue là đúng." << std::endl;

} else {

std::cout << "isTrue là sai." << std::endl;

}

if (isFalse) {

std::cout << "isFalse là đúng." << std::endl;

} else {

std::cout << "isFalse là sai." << std::endl;

}

return 0;

}

Kết quả:

isTrue là đúng.

isFalse là sai.

3. Lời Kết

Qua bài viết trên, ICANTECH đã cùng bạn tìm hiểu các khái niệm, các thao tác cơ bản và các kiểu dữ liệu trong C++. Việc kiểm soát kiểu dữ liệu của các giá trị, biến số trong chương trình là vô cùng quan trọng.

Bởi vậy, bạn hãy nắm chắc và ứng dụng các kiến thức cơ bản này để tối ưu các chương trình trong lập trình C++ nhé. Chúc các bạn thành công!