BASIC
CONTROL STATEMENTS
DATA TYPE
FUNCTIONS
FILE I/O
THAM KHẢO
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

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

Trong bài viết này chúng ta sẽ tìm hiểu các kiểu dữ liệu trong 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.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

C là ngôn ngữ rất khó tính, bạn không thể gán dữ liệu kiểu float cho biến được khai báo kiểu int. Vì vậy khi tạo một biến bạn cần phải xác định rõ là dữ liệu cần lưu là gì để khai báo cho phù hợp. Và sau đây là danh sách data type 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 đã nhé, và chúng ta sẽ lần lượt tìm hiểu từng loại ở 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à chữ viết tắt của Integer, đây là kiểu số nguyên âm hoặc nguyên dương và không có giá trị thập phân.

Bài viết này được đăng tại [free tuts .net]

Ví dụ:

  • 0, 10, -7 là các số nguyên
  • 0.4, 0.7 không phải là số nguyên

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

int ten_bien;

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

int id, age;

Kích thước của kiểu Int thường là 4 bytes (32 bits), tức giao động vào khoảng -2147483648 đến 2147483647.

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.55.6 là những số thực.

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

float salary;
double price;

Trong 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 normalizationFactor = 22.442e2;

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

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

  • float có kích thước 4 bytes
  • double có kích thước 8 bytes

Kiểu char

Kiểu char rất đặt 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 để bao quanh ký tự cần gán lại.

Ví dụ:

char test = 'h';

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

Kiểu void

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

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 thì hãy thêm từ khóa long vào lúc khai báo nhé. Ví dụ:

long a;
long long b;
long double c;

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

short d;

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 dùng hàm sizeof().

#include <stdio.h>      
int main() {
  short a;
  long b;
  long long c;
  long double d;

  printf("size of short = %d bytes\n", sizeof(a));
  printf("size of long = %d bytes\n", sizeof(b));
  printf("size of long long = %d bytes\n", sizeof(c));
  printf("size of long double= %d bytes\n", sizeof(d));
  return 0;
}

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

ket qua size of JPG

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

Vẫn còn một số kiểu nâng cao nữa như: Mảng, Pointer, Object, nhưng ta sẽ học nó ở những bài nâng cao.

Cùng chuyên mục:

Kiểm tra chuỗi có phải là chuỗi pangram hay không trong C

Kiểm tra chuỗi có phải là chuỗi pangram hay không trong C

Loại bỏ các từ trùng lặp trong một chuỗi trong C

Loại bỏ các từ trùng lặp trong một chuỗi trong C

Chuyển đổi một số thành chuỗi số tiếng Anh trong C

Chuyển đổi một số thành chuỗi số tiếng Anh trong C

Tìm chuỗi con dài nhất không chứa ký tự trùng lặp trong C

Tìm chuỗi con dài nhất không chứa ký tự trùng lặp trong C

Chuyển đổi số nguyên sang dạng chuỗi và ngược lại trong C

Chuyển đổi số nguyên sang dạng chuỗi và ngược lại trong C

Kiểm tra số nguyên tố và số hoàn hảo trong C

Kiểm tra số nguyên tố và số hoàn hảo trong C

Tính lũy thừa của một số nguyên trong C

Tính lũy thừa của một số nguyên trong C

Tính phần dư của phép chia hai số nguyên trong C

Tính phần dư của phép chia hai số nguyên trong C

Tính tổng, hiệu, tích, thương của hai số nguyên trong C

Tính tổng, hiệu, tích, thương của hai số nguyên trong C

Sử dụng con trỏ để tính tổng các phần tử trong mảng trong C

Sử dụng con trỏ để tính tổng các phần tử trong mảng trong C

Sử dụng con trỏ để đảo ngược một chuỗi trong C

Sử dụng con trỏ để đảo ngược một chuỗi trong C

Sắp xếp một mảng số nguyên sao cho số lẻ nằm trước số chẵn trong C

Sắp xếp một mảng số nguyên sao cho số lẻ nằm trước số chẵn trong C

Sắp xếp một mảng chuỗi theo thứ tự từ điển trong C

Sắp xếp một mảng chuỗi theo thứ tự từ điển trong C

Sắp xếp một mảng số nguyên theo thứ tự tăng dần hoặc giảm dần trong C

Sắp xếp một mảng số nguyên theo thứ tự tăng dần hoặc giảm dần trong C

Tìm phần tử lớn thứ k trong mảng trong C

Tìm phần tử lớn thứ k trong mảng trong C

Xóa phần tử trùng lặp trong mảng trong C

Xóa phần tử trùng lặp trong mảng trong C

Đảo ngược mảng không sử dụng mảng phụ trong C

Đảo ngược mảng không sử dụng mảng phụ trong C

Tìm số lần xuất hiện của một phần tử trong mảng trong C

Tìm số lần xuất hiện của một phần tử trong mảng trong C

Tìm giá trị lớn nhất và nhỏ nhất trong một mảng trong C

Tìm giá trị lớn nhất và nhỏ nhất trong một mảng trong C

Tách chuỗi thành các từ riêng lẻ và in ra màn hình trong C

Tách chuỗi thành các từ riêng lẻ và in ra màn hình trong C

Top