Nền tảng lập trình & môi trường

2. Biến và kiểu dữ liệu

Biến là một ô nhớ có tên, dùng để lưu giá trị. Mỗi biến có một kiểu quy định nó chứa loại dữ liệu gì:

KiểuDùng choPhạm vi / ví dụ
intsố nguyên thông thườngkhoảng −2⋅109-2\cdot10^9 đến 2⋅1092\cdot10^9
long longsố nguyên rất lớnđến khoảng 9⋅10189\cdot10^{18}
charmột ký tự'A', '7', '?'
boolđúng/saitrue hoặc false
doublesố thực (có phần thập phân)3.14, -0.5
Tràn số (overflow) — lỗi kinh điển

Nếu kết quả vượt phạm vi của int (khoảng hai tỉ), giá trị sẽ bị sai âm thầm mà không báo lỗi. Khi nhân/cộng các số lớn, hãy dùng long long. Đây là lỗi khiến nhiều bài đúng thuật toán vẫn sai kết quả.

Khai báo và dùng biến
tong-tich.cpp
#include <iostream>
using namespace std;

int main() {
    int a = 5;
    int b = 8;
    long long tich = (long long)a * b;  // ep kieu de tranh tran
    cout << a + b << "\n";   // 13
    cout << tich << "\n";    // 40
    return 0;
}

Phép (long long)a * b ép a sang long long trước khi nhân, nên phép nhân thực hiện ở kiểu lớn — an toàn khi a, b cỡ vài tỉ.

3. Nhập/xuất qua bàn phím

cin đọc dữ liệu người dùng gõ vào; cout in kết quả ra màn hình. Toán tử >> (đọc vào) và << (in ra):

cong-2-so.cpp
#include <iostream>
using namespace std;

int main() {
    int a, b;
    cin >> a >> b;          // doc 2 so, cach nhau bang dau cach hoac xuong dong
    cout << a + b << "\n";   // in tong
    return 0;
}