Bài tập

Các kiểu dữ liệu trong C (int - float - double - char ...)

Huy Erick

Trong bài viết này, chúng ta sẽ khám phá các kiểu dữ liệu trong ngôn ngữ lập trình C như: kiểu số thực (float), số nguyên (int), ký tự (char), ... và nhiều kiểu dữ...

Trong bài viết này, chúng ta sẽ khám phá các kiểu dữ liệu trong ngôn ngữ lập trình C như: kiểu số thực (float), số nguyên (int), ký tự (char), ... và nhiều kiểu dữ liệu quan trọng khác. Cùng tìm hiểu chi tiết về từng kiểu dữ liệu để hiểu rõ hơn về cách sử dụng chúng trong lập trình.

C là ngôn ngữ lập trình khá khó tính, bạn không thể gán giá trị kiểu số thực cho biến được khai báo kiểu số nguyên. Vì vậy, khi tạo một biến, bạn cần xác định rõ kiểu dữ liệu cần lưu trữ để khai báo cho chính xác. Dưới đây là danh sách các kiểu dữ liệu trong C thường được sử dụng nhất.

1. Bảng các kiểu dữ liệu trong C

Trước tiên, hãy xem bảng tóm tắt các kiểu dữ liệu cơ bản trong C và chúng ta sẽ đi vào chi tiết về từng loại trong các phần tiếp theo.

Type Size (bytes) Format Specifier
int 2 -> 4 %d, %i
char 1 %c
float 4 %f
double 8 %lf
short int 2 %hd
unsigned int 2 -> 4 %u
long int 4 -> 8 %ld, %li
long long int 8 %lld, %lli
unsigned long int 4 %lu
unsigned long long int 8 %llu
signed char 1 %c
unsigned char 1 %c
long double 10 -> 16 %Lf

2. Chi tiết kích thước các kiểu dữ liệu trong C

Kiểu int

Int là viết tắt của Integer, đây là kiểu số nguyên âm hoặc dương và không có giá trị thập phân. Ví dụ, 0, 10, -7 là các số nguyên, trong khi 0.4, 0.7 không phải là số nguyên.

Để khai báo một biến kiểu int, chúng ta sử dụng cú pháp như sau:

int num = 5;

Ngoài ra, ta có thể khai báo nhiều biến liên tiếp như sau:

int a, b, c;

Kích thước của kiểu int thường là 4 byte (32 bit), tức là giá trị giao động từ -2,147,483,648 đến 2,147,483,647.

Kiểu float và double

Đây là kiểu số thực, dùng để chứa những số có dấu phẩy động. Ví dụ, 2.5 và 5.6 là những số thực.

Dưới đây là cách khai báo biến kiểu số thực:

float num1 = 3.14;
double num2 = 2.71828;

Trong ngôn ngữ C, số dấu phẩy động cũng có thể được biểu diễn theo cấp số nhân. Ví dụ:

float num3 = 1e-5;

Câu hỏi đặt ra là sự khác nhau giữa float và double là gì?

Về tính chất, cả hai giống nhau, chỉ khác nhau về kích thước như sau:

  • Float có kích thước 4 byte (32 bit)
  • Double có kích thước 8 byte (64 bit)

Kiểu char

Kiểu char rất đặc biệt, nó dùng để lưu trữ một ký tự bất kỳ và ký tự đó phải ở định dạng chuỗi. Vì vậy, khi gán giá trị cho nó, ta phải dùng dấu nháy đơn để bao quanh ký tự cần gán lại.

Ví dụ:

char letter = 'A';

Kích thước của kiểu char là 1 byte.

Kiểu void

Đây là kiểu dữ liệu khá đặc biệt, nó có ý nghĩa không có gì cả, thường được dùng trong những hàm không có giá trị trả về. Vấn đề này sẽ được học ở các bài sau.

Kiểu short và long

Nếu bạn muốn lưu trữ một con số rất lớn và kiểu dữ liệu hiện tại không đáp ứng được, hãy thêm từ khóa long vào lúc khai báo. Ví dụ:

long bigNum = 1000000000;

Còn nếu bạn chắc chắn số nguyên lưu trữ sẽ rất nhỏ và không cần phải phí phạm kích thước, hãy sử dụng từ khóa short. Ví dụ:

short smallNum = 10;

Bây giờ, chúng ta thử xem kích thước của các kiểu dữ liệu bằng cách sử dụng hàm sizeof().

Kết quả thu được như sau:

Đó là danh sách các kiểu dữ liệu thường được sử dụng trong ngôn ngữ lập trình C. Bạn cần nhớ kích thước và công dụng của từng kiểu để sử dụng phù hợp. Ví dụ, muốn lưu trữ số nguyên, ta sử dụng kiểu int, số thực ta sử dụng kiểu float hoặc double, ký tự ta sử dụng kiểu char.

Vẫn còn một số kiểu nâng cao khác như: Mảng, Con trỏ, Đối tượng, nhưng ta sẽ học chúng ở những bài nâng cao sau.

1