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

Đây là bài 7/43 bài của series môn học Nhập môn lập trình

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 đơn giả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 tính chất lưu trữ khác nhau, chương trình cũng cần thiết phân biệt các kiểu dữ liệu nói trên. Vì mỗi kiểu quy định thông tin đi kèm khác nhau, cách tổ chức lưu 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++ (các ngôn ngữ khác cũng vậy) quy ước ngữ nghĩa với một loạt các tên kiểu dữ liệu mà nó cung cấp sẵn. Tên các kiểu có sẵn này đã được gắn sẵn ngữ nghĩa nên nó là từ khoá. Ngoài ra, các ngôn ngữ lập trình cũng cung cấp cơ chế để lập trình viên tự định nghĩa các 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ệuTừ khóaKích thước (bytes)Phạm vi giá trị
Số nguyênint4–2.147.483.648 đến +2.147.483.647
Số thựcfloat4+/- 3.4E +/- 38
Số thựcdouble8+/- 1.7E +/- 308
Ký tựchar1-128 đến 127 hoặc 0 đến 255
Ký tựwchar_t20 đến 65.535
Luận lý (Boolean)bool1true 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óaKích thước (bytes)Phạm vi giá trị
Modifier của kiểu int
short int2-32.768 đến 32.767
unsigned short int20 đến 65.535
unsigned int40 đến 4.294.967.295
long int4-2.147.483.648 đến 2.147.483.647
unsigned long int40 đến 4.294.967.295
long long int8-(2^63) đến (2^63)-1
unsigned long long int80 đến 18.446.744.073.709.551.615
Modifier của kiểu char
signed char1-128 đến 127
unsigned char10 đến 255
Modifier của kiểu double
long double8+/- 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 <iostream> 
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
5/5 - (1 bình chọn)
Bài trước và bài sau trong môn học<< Cấu trúc một chương trình trong C++Khái niệm biến, hằng và minh họa với C++ >>
Chia sẻ trên mạng xã hội:

Trả lời

Lưu ý:

1) Vui lòng bình luận bằng tiếng Việt có dấu.

2) Khuyến khích sử dụng tên thật và địa chỉ email chính xác.

3) Mọi bình luận trái quy định sẽ bị xóa bỏ.