blog.dopana

Back

Bài thứ hai trong loạt C++ cơ bản. Dữ liệu sống trong biến, và mỗi biến có một kiểu cho trình biên dịch biết cách diễn giải các bit của nó.

Biến là gì?#

Biến là một vùng nhớ có tên, chứa một giá trị. Bạn phải khai báo kiểu trước khi dùng:

int age = 30;
double price = 19.99;
std::string name = "Ada";
bool done = false;
cpp

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

KiểuKích thước (thường)Chứa gì
bool1 bytetrue hoặc false
char1 bytemột ký tự, ví dụ 'A'
int4 bytesố nguyên
double8 bytesố thực dấu chấm động
voidkhông có giá trị (cho hàm)

Dùng int cho số đếm và double cho giá trị phân số. Dùng long, shortunsigned khi cần phạm vi khác.

Các cách khởi tạo#

C++ có nhiều cách khởi tạo biến:

int a = 5;       // khởi tạo sao chép
int b(5);        // khởi tạo trực tiếp
int c{5};        // khởi tạo ngoặc nhọn (C++11+)
int d{};         // khởi tạo giá trị thành 0
cpp

Nên dùng khởi tạo ngoặc nhọn {}. Nó loại bỏ việc thu hẹp — giá trị làm mất dữ liệu — ngay lúc biên dịch.

Tràn số và thu hẹp#

short s = 40000;  // có thể tràn: 40000 > max short (32767)
int   x = 3.7;    // thu hẹp: 3.7 âm thầm thành 3
cpp

Với ngoặc nhọn những dòng này lỗi biên dịch thay vì âm thầm làm hỏng dữ liệu.

Hằng số có tên#

Dùng const cho giá trị không được thay đổi:

const double PI = 3.14159;
cpp

Giá trị const dễ suy luận và trình biên dịch có thể tối ưu chúng.

In và đọc dữ liệu#

#include <iostream>

int main() {
    int age;
    std::cout << "Enter your age: ";
    std::cin >> age;
    std::cout << "You are " << age << " years old.\n";
}
cpp

Kết luận#

Kiểu định nghĩa biến chứa được gì và phép toán nào có nghĩa. Bài tiếp theo trong loạt: luồng điều khiển.

Tài liệu tham khảo#