Trong bài viết dưới đây, hãy cùng ICANTECH tìm hiểu về khái niệm, kiểu dữ liệu nói chung và kiểu dữ liệu trong C++ nói riêng.
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ố.
Dưới đây là một số kiểu dữ liệu phổ biến trong C++:
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ù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:
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.
#include <iostream>
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
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.
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 <iostream>
#include <iomanip>
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
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,
// ...
};
Ví dụ:
#include <iostream>
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 ý:
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 <iostream>
#include <string>
int main() {
std::string myString = "Hello, World!";
std::cout << myString << std::endl;
return 0;
}
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 <iostream>
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.
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!
Nếu bạn đang quan đến học lập trình online thì hãy tham khảo ngay các khóa học lập trình tại ICANTECH nhé!
Nguồn ảnh: ICANTECH.