Các kiểu dữ liệu cơ bản trong C++

1. Kiểu dữ liệu là gì?

1.1. Dữ liệu và kiểu dữ liệu

Mọi chương trình đều cần đến dữ liệu. Ví dụ chương trình sau :

int main()
{
	cout<<"LAP TRINH C/C++";
	system("pause");
}

Một chương trình xuất ra màn hình hiển thị đơn thuần cũng cần dữ liệu

Chương trình trên cần lưu trữ dữ liệu “LAP TRINH C/C++” để xuất ra màn hình. Hay một chương trình giải phương trình bậc 2 cần lưu trữ dữ liệu các hệ số a, b,c, giá trị Delta, các nghiệm của phương trình.

Một chương trình quản lý nhân sự cần dữ liệu mã số nhân sự, họ tên, hệ số lương,…

Dữ liệu mà chương trình lưu trữ có thể thuộc nhiều dạng khác nhau, gọi là kiểu dữ liệu (data type):

    • Ký tự (character), một chuỗi như “LAP TRINH C/C++”
    • Trạng thái: có hay không, đúng hay sai
    • Các con số nguyên, số thực,…
    • Một dãy các giá trị, một tổ hợp các giá trị (struct, class)

Ngoài đặc thù tàng trữ không giống nhau, chương trình cũng thiết yếu phân biệt những kiểu dữ liệu nói trên. Vì mỗi kiểu pháp luật thông tin đi kèm khác nhau, cách tổ chức triển khai tàng trữ khác nhau .

Vậy ngôn ngữ lập trình phân biệt các kiểu dữ liệu như thế nào?

Ngôn ngữ C / C + + ( những ngôn từ khác cũng vậy ) quy ước ngữ nghĩa với một loạt những tên kiểu dữ liệu mà nó cung ứng sẵn. Tên những kiểu có sẵn này đã được gắn sẵn ngữ nghĩa nên nó là từ khoá. Ngoài ra, những ngôn từ lập trình cũng cung ứng chính sách để lập trình viên tự định nghĩa những kiểu dữ liệu cho riêng mình .

1.2. Ngôn ngữ lập trình C++ hỗ trợ các kiểu dữ liệu nào?

Kiểu dữ liệu cơ bản (Fundamental Data Type): Tên kiểu là từ khoá, ngữa nghĩa của tên này được quy định bởi ngôn ngữ lập trình.

Kiểu dữ liệu do lập trình viên định nghĩa (User-defined Data Type): Tên kiểu do người lập trình đặt ra. Các kiểu dữ liệu dạng này trong C++ như struct, class,…

Kiểu dữ liệu dẫn xuất (Derived Data Type): C++ cung cấp các ký hiệu để tạo ra kiểu mới từ các kiểu khác. Ví dụ: Mảng (array) các ký tự, các số nguyên, các số thực hay con trỏ (pointer).

Kiểu dữ liệu Enum (Enum Data Type): tham khảo bài Kiểu dữ liệu enum trong C++.

2. Các kiểu dữ liệu cơ bản trong C++

Phải nhớ từ khóa và phạm vi giá trị của các kiểu dữ liệu để sử dụng chính xác.

Kiểu dữ liệu Từ khóa Kích thước (bytes) Phạm vi giá trị
Số nguyên int 4 –2.147.483.648 đến +2.147.483.647
Số thực float 4 +/- 3.4E +/- 38
Số thực double 8 +/- 1.7E +/- 308
Ký tự char 1 -128 đến 127 hoặc 0 đến 255
Ký tự wchar_t 2 0 đến 65.535
Luận lý (Boolean) bool 1 true hoặc false (1 hoặc 0)
Không kiểu (Valueless) void    

3. Modifiers của kiểu dữ liệu trong C++

Ngôn ngữ C++ cho phép các modifiers đứng trước các kiểu dữ liệu cơ bản. Mục đích là thay đổi ý nghĩa của các kiểu dữ liệu cơ bản.

Modifiers trong C++Modifiers trong C++

Các modifiers được hỗ trợ trong C++ là signed (có dấu), unsigned (không dấu), short, long.

Từ khóa Kích thước (bytes) Phạm vi giá trị
Modifier của kiểu int
short int 2 -32.768 đến 32.767
unsigned short int 2 0 đến 65.535
unsigned int 4 0 đến 4.294.967.295
long int 4 -2.147.483.648 đến 2.147.483.647
unsigned long int 4 0 đến 4.294.967.295
long long int 8 -(2^63) đến (2^63)-1
unsigned long long int 8 0 đến 18.446.744.073.709.551.615
Modifier của kiểu char
signed char 1 -128 đến 127
unsigned char 1 0 đến 255
Modifier của kiểu double
long double 8 +/- 1.7E +/- 308

4. Chương trình in kích thước kiểu dữ liệu

Sử dụng hàm sizeof để in ra số bytes của các kiểu dữ liệu.

#include  
using namespace std; 
int main() 
{ 
   cout << "Kich thuoc cua char la: " << sizeof(char) <<" byte"<< endl; 
   cout << "Kich thuoc cua int la: " << sizeof(int) <<" byte"<< endl; 
   cout << "Kich thuoc cua short int la: " << sizeof(short int) <<" byte"<< endl; 
   cout << "Kich thuoc cua long int la: " << sizeof(long int) <<" byte"<< endl; 
   cout << "Kich thuoc cua float la: " << sizeof(float) <<" byte"<< endl; 
   cout << "Kich thuoc cua double la: " << sizeof(double) <<" byte"<< endl; 
   cout << "Kich thuoc cua wchar_t la: " << sizeof(wchar_t) <<" byte"<< endl;
   system("pause");
}

Kết quả:

Kich thuoc cua char la: 1 byte
Kich thuoc cua int la: 4 byte
Kich thuoc cua short int la: 2 byte
Kich thuoc cua long int la: 4 byte
Kich thuoc cua float la: 4 byte
Kich thuoc cua double la: 8 byte
Kich thuoc cua wchar_t la: 2 byte

Mời bạn nhìn nhận bài viết