Nếu bạn là người mới bắt đầu và đang băn khoăn về những khái niệm cơ bản nhất, thì “biến” chắc chắn là một trong số đó. Đừng lo lắng, đây là nền tảng mà ai cũng cần nắm vững. Bài viết này sẽ giải thích cho bạn biến là gì một cách đơn giản nhất.
Trong lập trình, việc hiểu và sử dụng biến là kỹ năng đầu tiên và quan trọng nhất bạn cần có. Nó giống như việc học bảng chữ cái trước khi ghép từ và viết câu vậy. Biến sẽ đồng hành cùng bạn trong mọi chương trình, từ đơn giản đến phức tạp.
Chúng ta sẽ cùng nhau đi sâu vào khái niệm biến, tìm hiểu tại sao chúng lại cần thiết, cách bạn tạo ra và sử dụng chúng, cũng như phân biệt biến với những khái niệm khác. Mục tiêu là giúp bạn nắm bắt vững vàng kiến thức nền tảng này.
CÓ THỂ BẠN QUAN TÂM
Khi bạn sẵn sàng tiến xa hơn và muốn chạy các ứng dụng lập trình của mình trên môi trường internet một cách ổn định, một máy chủ ảo (VPS) sẽ là giải pháp bạn cần. Khám phá ngay dịch vụ thuê VPS giá rẻ - uy tín - tốc độ cao từ InterData. Với nền tảng phần cứng chuyên dụng thế hệ mới như bộ xử lý AMD EPYC Gen 3, SSD NVMe U.2 tốc độ cực cao, VPS InterData mang lại hiệu năng ổn định, chất lượng cao và đáng tin cậy chỉ từ 3K/Ngày.
Biến là gì?
Trong lập trình, biến là một “thùng chứa” hoặc “ô nhớ” được đặt tên trong bộ nhớ máy tính (RAM), dùng để lưu trữ tạm thời các loại dữ liệu khác nhau trong suốt quá trình chương trình hoạt động. Mỗi biến có một cái tên duy nhất để bạn dễ dàng truy cập, đọc hoặc thay đổi dữ liệu mà nó đang giữ.
Mục đích chính của biến là giúp chương trình có thể làm việc với dữ liệu một cách linh hoạt và hiệu quả. Thay vì phải nhớ hoặc sử dụng trực tiếp các giá trị “chết” (như số 10
, đoạn văn bản "Xin chào"
), chúng ta gán các giá trị này cho biến, đặt tên cho biến (ví dụ: soLuongSanPham
, tenNguoiDung
).
Sử dụng biến giúp mã nguồn (code) của bạn trở nên dễ đọc và dễ quản lý hơn rất nhiều. Nếu giá trị cần thay đổi, bạn chỉ cần cập nhật giá trị tại một chỗ duy nhất là tên biến, thay vì phải đi sửa hàng loạt nơi khác trong chương trình. Điều này đặc biệt quan trọng với các chương trình lớn.
Hãy hình dung biến như một cái hộp giấy có dán nhãn ở bên ngoài để dễ nhận biết. Cái nhãn đó chính là tên của biến (ví dụ: tuoi
, ten_sach
, diem_so
). Bên trong hộp, bạn có thể bỏ vào một “món đồ” (dữ liệu), ví dụ như số 30
vào hộp tuoi
, hoặc chuỗi "Tư Duy Ngược"
vào hộp ten_sach
.
Về mặt kỹ thuật sâu hơn một chút, khi bạn “khai báo” (tạo) một biến trong chương trình của mình, hệ thống máy tính sẽ tự động cấp phát và quản lý một vùng nhỏ trong bộ nhớ RAM (Random Access Memory - bộ nhớ truy cập ngẫu nhiên). Vùng nhớ này là nơi dữ liệu của biến được lưu trữ.
Tên biến mà chúng ta đặt chỉ là một cách thân thiện, dễ nhớ để chúng ta tương tác với vùng nhớ đó. Thay vì phải làm việc trực tiếp với các địa chỉ bộ nhớ phức tạp (ví dụ: 0x7FF7C0D3A9C0
), chúng ta chỉ cần gọi tên biến đơn giản như so_luong
hoặc ten_nguoi_dung
.
Giá trị mà biến đang giữ có thể được thay đổi (cập nhật) bất cứ lúc nào trong quá trình chương trình chạy. Ví dụ, biến diem_so
ban đầu có giá trị 7
, sau khi làm thêm bài tập, giá trị của nó có thể được cập nhật thành 9
. Chính vì khả năng “biến đổi” giá trị này mà nó được gọi là “biến”.
Tóm lại, biến chỉ đơn giản là một cách để đặt tên cho một vị trí trong bộ nhớ máy tính dùng để lưu trữ dữ liệu. Nó là công cụ cơ bản nhất nhưng vô cùng mạnh mẽ giúp chúng ta thao tác và quản lý thông tin trong thế giới lập trình.
Nguồn tham khảo: Biến là gì? Các khái niệm, Vai trò & Các kiểu dữ liệu của biến - InterData
Tại Sao Cần Sử Dụng Biến Trong Lập Trình?
Việc sử dụng biến trong lập trình mang lại rất nhiều lợi ích thiết thực, đặc biệt là khả năng quản lý dữ liệu động. Các chương trình thực tế hiếm khi chỉ làm việc với các giá trị cố định từ đầu đến cuối. Dữ liệu thường thay đổi dựa trên tương tác người dùng, kết quả tính toán, hoặc dữ liệu từ bên ngoài.
Một lý do cốt lõi cần dùng biến là để lưu trữ trạng thái của chương trình. Ví dụ, trong một trò chơi, bạn cần lưu điểm số hiện tại của người chơi, số mạng còn lại, vị trí nhân vật… Tất cả những thông tin này đều thay đổi và cần được lưu trữ trong các biến để chương trình có thể theo dõi và cập nhật.
Biến giúp code của bạn dễ đọc và dễ hiểu hơn. Hãy so sánh hai đoạn code sau: dien_tich_hinh_tron = 3.14 * 5 * 5
và pi = 3.14; ban_kinh = 5; dien_tich_hinh_tron = pi * ban_kinh * ban_kinh;
. Rõ ràng, đoạn code thứ hai dùng biến (pi
, ban_kinh
, dien_tich_hinh_tron
) giải thích rõ ràng ý nghĩa của các con số hơn.
Khả năng tái sử dụng dữ liệu là một lợi ích lớn khác. Khi một giá trị được lưu trong biến, bạn có thể tham chiếu đến biến đó ở nhiều nơi trong chương trình mà không cần lặp lại giá trị gốc. Điều này giúp tiết kiệm công sức và giảm thiểu lỗi gõ sai.
Hơn nữa, biến làm cho chương trình dễ sửa đổi (maintain) hơn. Nếu giá trị cần thay đổi (ví dụ: lãi suất ngân hàng), bạn chỉ cần sửa giá trị của biến đó tại một chỗ duy nhất là xong. Thay vì phải đi dò tìm và sửa tất cả những nơi giá trị cũ xuất hiện trong code, điều này rất mất thời gian và dễ gây lỗi.
Biến còn giúp chúng ta thực hiện các phép tính và thao tác phức tạp với dữ liệu. Bạn có thể lấy giá trị từ một hoặc nhiều biến, thực hiện các phép cộng (+), trừ (-), nhân (*), chia (/) hoặc các thao tác xử lý văn bản, sau đó lưu kết quả vào một biến khác.
Tóm lại, biến là công cụ thiết yếu để làm cho chương trình của bạn có khả năng tương tác, linh hoạt, dễ hiểu và dễ quản lý. Chúng là trái tim của hầu hết mọi logic xử lý dữ liệu trong lập trình.
Cách Khai Báo Và Gán Giá Trị Cho Biến (Thao Tác Cơ Bản)
Để có thể sử dụng một biến trong lập trình, bạn cần thực hiện hai bước chính: khai báo biến và gán giá trị cho biến. Trình tự và cú pháp cụ thể có thể khác nhau đôi chút tùy thuộc vào ngôn ngữ lập trình bạn đang dùng, nhưng ý nghĩa cốt lõi thì tương đồng.
Khai báo biến là quá trình thông báo cho trình biên dịch (compiler) hoặc trình thông dịch (interpreter) về sự tồn tại của một biến với một cái tên cụ thể. Ở một số ngôn ngữ, khi khai báo, bạn còn phải chỉ định kiểu dữ liệu mà biến đó sẽ lưu trữ (ví dụ: đây là biến sẽ lưu số nguyên, hay văn bản).
Khi khai báo, hệ thống sẽ dành ra một vùng nhớ thích hợp trong RAM cho biến đó. Tên biến bạn đặt sẽ được liên kết với địa chỉ của vùng nhớ này, giúp bạn dễ dàng gọi tên để làm việc thay vì địa chỉ phức tạp.
Gán giá trị cho biến là quá trình đưa một giá trị cụ thể (dữ liệu) vào vùng nhớ mà biến đó đại diện. Thao tác này thường sử dụng toán tử gán, phổ biến nhất là dấu bằng (=
). Giá trị ở bên phải dấu bằng sẽ được đưa vào biến ở bên trái dấu bằng.
Ví dụ đơn giản về cú pháp gán giá trị có thể là: tên_biến = giá_trị;
. Dấu chấm phẩy (;
) thường dùng để kết thúc câu lệnh ở nhiều ngôn ngữ như C++, Java, JavaScript.
Một số ngôn ngữ lập trình linh hoạt hơn (như Python) cho phép bạn vừa khai báo, vừa gán giá trị ngay trong một câu lệnh duy nhất mà không cần khai báo kiểu dữ liệu tường minh. Hệ thống sẽ tự suy luận kiểu dữ liệu dựa trên giá trị bạn gán.
Trong nhiều trường hợp, bạn có thể gán giá trị ban đầu cho biến ngay lúc khai báo. Ví dụ: int soTuoi = 25;
(trong C++/Java) hoặc let ten = "Alice";
(trong JavaScript). Thao tác này gọi là khởi tạo biến.
Giá trị của biến có thể được gán lại (cập nhật) nhiều lần trong quá trình chương trình chạy. Mỗi lần gán giá trị mới, giá trị cũ đang được lưu trong biến sẽ bị ghi đè. Điều này làm cho biến trở nên linh hoạt và có thể phản ánh sự thay đổi của dữ liệu trong chương trình.
Nắm vững cách khai báo và gán giá trị là bước đệm để bạn bắt đầu viết các dòng code đầu tiên sử dụng biến. Phần tiếp theo chúng ta sẽ xem xét cụ thể các loại dữ liệu mà biến có thể chứa.
Biến Lưu Trữ Được Những Loại Dữ Liệu Nào? (Giới Thiệu Kiểu Dữ Liệu Cơ Bản)
Biến trong lập trình không chỉ lưu trữ một loại dữ liệu duy nhất, mà có thể chứa nhiều dạng thông tin khác nhau. Loại dữ liệu mà một biến có thể chứa được xác định bởi kiểu dữ liệu (Data Type). Kiểu dữ liệu cho máy tính biết cách xử lý dữ liệu trong biến và lượng bộ nhớ cần thiết để lưu trữ nó.
Có rất nhiều kiểu dữ liệu khác nhau trong lập trình, nhưng ở mức cơ bản, bạn sẽ làm quen với một số loại phổ biến như:
- Kiểu Số Nguyên (Integer): Dùng để lưu trữ các số không có phần thập phân, cả số dương, số âm và số 0. Ví dụ:
-5
,0
,100
,2023
. Các biến dùng để đếm số lượng thường có kiểu dữ liệu này. - Kiểu Số Thực (Floating-point Number): Dùng để lưu trữ các số có phần thập phân. Ví dụ:
3.14
,-0.5
,99.99
. Kiểu này thường dùng cho các phép tính cần độ chính xác cao hơn như tiền tệ, đo lường. - Kiểu Chuỗi (String): Dùng để lưu trữ các đoạn văn bản, bao gồm chữ cái, số, ký hiệu… được đặt trong dấu ngoặc kép (hoặc nháy đơn). Ví dụ:
"Xin chào thế giới!"
,"Địa chỉ: Số 123"
,"Python"
. - Kiểu Boolean (Logic): Dùng để lưu trữ chỉ hai giá trị duy nhất là
True
(Đúng) hoặcFalse
(Sai). Kiểu này rất quan trọng trong các cấu trúc điều kiện rẽ nhánh của chương trình (ví dụ:Nếu
một điều kiệnTrue
thì làm gì đó).
Ngoài ra còn có nhiều kiểu dữ liệu phức tạp hơn như mảng (array), đối tượng (object),… mà bạn sẽ học sau. Việc biết kiểu dữ liệu của biến giúp bạn tránh các lỗi khi thực hiện phép tính hoặc thao tác không tương thích (ví dụ: không thể nhân trực tiếp một số với một chuỗi văn bản).
Ở một số ngôn ngữ như C++, Java (ngôn ngữ có kiểu tĩnh - statically-typed), bạn phải khai báo rõ kiểu dữ liệu khi tạo biến: int soLuong;
hoặc String ten;
. Ở các ngôn ngữ khác như Python, JavaScript (ngôn ngữ có kiểu động - dynamically-typed), bạn không cần khai báo kiểu tường minh; kiểu sẽ được suy luận tự động khi bạn gán giá trị.
Hiểu về các kiểu dữ liệu cơ bản và cách chúng liên quan đến biến là điều cần thiết để bạn có thể lựa chọn và sử dụng biến một cách chính xác, đảm bảo chương trình hoạt động đúng mong đợi.
Quy Tắc Đặt Tên Cho Biến
Việc đặt tên cho biến trong lập trình không chỉ là tùy ý mà thường phải tuân thủ các quy tắc nhất định do ngôn ngữ lập trình quy định. Ngoài ra, có những quy ước cộng đồng để giúp code của bạn dễ đọc và chuyên nghiệp hơn. Tuân thủ quy tắc là bắt buộc, còn tuân thủ quy ước là nên làm.
Các Quy Tắc Bắt Buộc Chung (áp dụng ở hầu hết ngôn ngữ):
- Chỉ chứa các ký tự hợp lệ: Tên biến thường chỉ được chứa chữ cái (a-z, A-Z), số (0-9) và ký tự gạch dưới (
_
). Các ký tự đặc biệt khác (như!
,@
,#
,$
,%
,…) thường không được phép. - Không bắt đầu bằng số: Tên biến không được phép bắt đầu bằng một chữ số. Nó phải bắt đầu bằng chữ cái hoặc dấu gạch dưới (
_
). Ví dụ:_count
hợp lệ, nhưng1st_item
thì không. - Không trùng với Từ khóa (Keywords) dành riêng: Mỗi ngôn ngữ lập trình có một bộ từ khóa dành riêng cho các mục đích đặc biệt (ví dụ:
if
,else
,for
,while
,int
,String
). Bạn không được dùng các từ này để đặt tên biến. - Phân biệt chữ hoa/chữ thường (ở một số ngôn ngữ): Các ngôn ngữ như C++, Java, Python, JavaScript phân biệt chữ hoa và chữ thường. Điều này có nghĩa là
myvariable
,myVariable
, vàMyVariable
là ba biến khác nhau. Cần cẩn thận để tránh nhầm lẫn. (Ngôn ngữ khác như Pascal thì không phân biệt).
Các Quy Ước Nên Theo (để code dễ đọc):
- Tên biến nên có ý nghĩa: Đặt tên biến sao cho gợi nhớ về mục đích hoặc dữ liệu mà nó lưu trữ. Ví dụ:
tuoiNguoiDung
thay vìt1
hoặcx
. Tên rõ ràng giúp người khác (và cả bạn sau này) hiểu code dễ dàng hơn rất nhiều. - Sử dụng quy tắc đặt tên nhất quán: Có nhiều phong cách đặt tên biến phổ biến:
camelCase
: Bắt đầu bằng chữ thường, các từ tiếp theo viết hoa chữ cái đầu (ví dụ:tenSinhVien
,soLuongSanPham
).snake_case
: Tất cả chữ thường, các từ cách nhau bằng gạch dưới (ví dụ:ten_sinh_vien
,so_luong_san_pham
).PascalCase
(hay UpperCamelCase): Mỗi từ đều viết hoa chữ cái đầu (ví dụ:TenSinhVien
). Thường dùng cho Tên Lớp (Class Name). Chọn một phong cách và sử dụng nhất quán trong toàn bộ dự án.
Việc tuân thủ cả quy tắc bắt buộc và quy ước đặt tên giúp bạn viết code sạch sẽ, chuyên nghiệp và dễ bảo trì. Tên biến tốt là bước đầu tiên để tạo ra một chương trình dễ hiểu.
Phân Biệt Biến Và Hằng Số
Khi làm quen với biến trong lập trình, bạn cũng sẽ thường nghe đến một khái niệm tương tự là hằng số (Constant). Sự khác biệt cốt lõi và quan trọng nhất giữa biến và hằng số nằm ở khả năng thay đổi giá trị.
Biến (Variable) như chúng ta đã tìm hiểu, là một vùng nhớ mà giá trị của nó CÓ THỂ THAY ĐỔI trong quá trình chương trình chạy. Bạn có thể gán một giá trị ban đầu, và sau đó cập nhật giá trị mới cho nó bất cứ khi nào cần thiết.
Ngược lại, Hằng số (Constant) là một vùng nhớ được đặt tên giống như biến, nhưng giá trị của nó KHÔNG THỂ THAY ĐỔI sau khi đã được gán giá trị ban đầu (thường là ngay lúc khai báo). Một khi hằng số đã được định nghĩa và gán giá trị, bạn không thể gán lại giá trị khác cho nó.
Tại sao cần dùng Hằng số?
Hằng số được sử dụng để lưu trữ những giá trị cố định, không đổi trong suốt quá trình thực thi chương trình. Ví dụ kinh điển nhất là số Pi (π≈3.14159). Giá trị này không bao giờ thay đổi. Việc lưu nó vào một hằng số (ví dụ: const PI = 3.14159;
) giúp code dễ đọc hơn so với việc lặp lại số 3.14159
nhiều lần.
Sử dụng hằng số cho các giá trị cố định còn giúp tăng tính chính xác và dễ bảo trì. Nếu bạn cần thay đổi một giá trị cố định (ví dụ: thuế suất), chỉ cần sửa giá trị của hằng số tại một chỗ duy nhất thay vì phải đi sửa ở mọi nơi giá trị đó xuất hiện trong code.
Hằng số thường được đặt tên bằng chữ IN HOA để dễ phân biệt với biến (ví dụ: MAX_SIZE
, VAT_RATE
). Cú pháp khai báo hằng số cũng khác với biến, thường thêm từ khóa như const
(trong JavaScript, C++, Java) hoặc final
(trong Java).
Tóm lại, nếu giá trị cần lưu trữ có thể thay đổi, dùng biến. Nếu giá trị là cố định và không bao giờ đổi, dùng hằng số. Phân biệt rõ hai khái niệm này giúp bạn viết code chính xác và hiệu quả hơn.
Ví Dụ Minh Họa Về Biến Trong Các Ngôn Ngữ Phổ Biến
Phần lý thuyết có thể hơi trừu tượng, cách tốt nhất để hiểu rõ biến trong lập trình là xem các ví dụ thực tế bằng code. Chúng ta sẽ cùng xem cách khai báo, gán giá trị và sử dụng biến trong một số ngôn ngữ phổ biến dành cho người mới bắt đầu.
Các ví dụ này cực kỳ đơn giản, chỉ tập trung vào khái niệm biến.
### Ví Dụ Biến Trong Python
Python là ngôn ngữ rất thân thiện với người mới bắt đầu bởi cú pháp gọn gàng, dễ đọc. Python là ngôn ngữ kiểu động, nên bạn không cần khai báo kiểu dữ liệu khi tạo biến.
Python
# Đây là comment trong Python, không ảnh hưởng đến code
# Khai báo và gán giá trị cho biến 'ten' (kiểu chuỗi)
ten = "Alice"
# Khai báo và gán giá trị cho biến 'tuoi' (kiểu số nguyên)
tuoi = 30
# Khai báo và gán giá trị cho biến 'chieu_cao' (kiểu số thực)
chieu_cao = 1.65
# Khai báo và gán giá trị cho biến 'dang_hoc' (kiểu boolean)
dang_hoc = True
# In giá trị của biến ra màn hình
print("Tên:", ten)
print("Tuổi:", tuoi)
print("Chiều cao:", chieu_cao)
print("Đang học lập trình:", dang_hoc)
# Thay đổi giá trị của biến 'tuoi'
tuoi = 31
# In lại giá trị đã thay đổi
print("Tuổi sau một năm:", tuoi)
# Sử dụng biến trong phép tính
nam_sinh = 2024 - tuoi
print("Năm sinh (ước tính):", nam_sinh)
Giải thích ví dụ Python:
ten = "Alice"
: Tạo biến tên làten
và gán giá trị chuỗi"Alice"
. Python tự hiểu đây là biến kiểu chuỗi.tuoi = 30
: Tạo biến tên làtuoi
và gán giá trị số nguyên30
. Python tự hiểu đây là biến kiểu số nguyên.chieu_cao = 1.65
: Tạo biến tên làchieu_cao
, gán giá trị số thực1.65
. Python tự hiểu đây là biến kiểu số thực (float).dang_hoc = True
: Tạo biến tên làdang_hoc
, gán giá trị booleanTrue
.print(...)
: Lệnh in giá trị ra màn hình. Bạn dùng tên biến để lấy giá trị của nó.tuoi = 31
: Gán lại giá trị mới là31
cho biếntuoi
. Giá trị30
cũ bị mất.nam_sinh = 2024 - tuoi
: Lấy giá trị của biếntuoi
(hiện là 31) để thực hiện phép tính. Kết quả1993
được gán vào biếnnam_sinh
.
Ví dụ này minh họa cách khai báo, gán, sử dụng và thay đổi giá trị của biến một cách rất trực quan trong Python.
### Ví Dụ Biến Trong JavaScript (JS)
JavaScript là ngôn ngữ phổ biến cho phát triển web, cũng là ngôn ngữ kiểu động. Các từ khóa var
, let
, const
được dùng để khai báo biến và hằng số. Với code hiện đại, bạn nên dùng let
cho biến và const
cho hằng số.
JavaScript
// Đây là comment trong JavaScript
// Khai báo biến 'ten' với let và gán giá trị chuỗi
let ten = "Bob";
// Khai báo biến 'diem' với let và gán giá trị số
let diem = 75;
// Khai báo biến 'daHoanThanh' với let và gán giá trị boolean
let daHoanThanh = false;
// Khai báo biến mà chưa gán giá trị ban đầu (giá trị mặc định là undefined)
let ghiChu;
// In giá trị của biến ra console (cửa sổ debug của trình duyệt)
console.log("Tên:", ten);
console.log("Điểm:", diem);
console.log("Đã hoàn thành:", daHoanThanh);
console.log("Ghi chú ban đầu:", ghiChu); // Sẽ in ra 'undefined'
// Gán giá trị cho biến 'ghiChu' sau khi khai báo
ghiChu = "Bài tập về nhà";
console.log("Ghi chú sau khi gán:", ghiChu);
// Thay đổi giá trị của biến 'diem'
diem = 90;
console.log("Điểm sau khi cập nhật:", diem);
// Khai báo hằng số PI với const (giá trị không đổi)
const PI = 3.14;
// PI = 3.15; // Dòng này sẽ gây lỗi nếu chạy, vì hằng số không thể thay đổi
console.log("Hằng số PI:", PI);
Giải thích ví dụ JavaScript:
let ten = "Bob";
: Khai báo biếnten
bằng từ khóalet
và gán giá trị"Bob"
.let diem = 75;
,let daHoanThanh = false;
: Tương tự với biến số và boolean.let ghiChu;
: Khai báo biếnghiChu
nhưng chưa gán giá trị ban đầu. Mặc định biến này sẽ có giá trịundefined
.console.log(...)
: Lệnh in giá trị ra console.ghiChu = "Bài tập về nhà";
: Gán giá trị chuỗi"Bài tập về nhà"
cho biếnghiChu
.diem = 90;
: Cập nhật giá trị của biếndiem
.const PI = 3.14;
: Khai báo hằng sốPI
bằng từ khóaconst
. Giá trị3.14
được gán và sẽ không thể thay đổi sau đó. Dòng codePI = 3.15;
chỉ được thêm vào để minh họa lỗi khi cố gắng thay đổi hằng số.
Ví dụ này cho thấy cách dùng let
để khai báo biến có thể thay đổi và const
để khai báo hằng số không thay đổi trong JavaScript hiện đại.
### Ví Dụ Biến Trong C++
C++ là ngôn ngữ mạnh mẽ và hiệu quả, thường dùng trong phát triển game, hệ thống. C++ là ngôn ngữ có kiểu tĩnh, nên bạn phải khai báo kiểu dữ liệu của biến khi tạo nó.
C++
// Đây là comment trong C++
#include <iostream> // Thư viện cần thiết cho nhập/xuất (in ra màn hình)
#include <string> // Thư viện cần thiết cho kiểu dữ liệu chuỗi
int main() { // Hàm chính của chương trình C++
// Khai báo biến 'soNguyen' kiểu số nguyên (int) và gán giá trị
int soNguyen = 123;
// Khai báo biến 'soThuc' kiểu số thực (double)
double soThuc;
// Gán giá trị cho biến 'soThuc' sau khi khai báo
soThuc = 45.67;
// Khai báo biến 'tenSach' kiểu chuỗi (string)
std::string tenSach = "Lap Trinh C++"; // std::string cần #include <string>
// Khai báo biến 'isCompleted' kiểu boolean (bool)
bool isCompleted = true;
// In giá trị của biến ra màn hình console
// std::cout << ... << std::endl; là cú pháp in trong C++
std::cout << "So nguyen: " << soNguyen << std::endl;
std::cout << "So thuc: " << soThuc << std::endl;
std::cout << "Ten sach: " << tenSach << std::endl;
std::cout << "Is completed: " << isCompleted << std::endl;
// Thay đổi giá trị của biến 'soNguyen'
soNguyen = 456;
std::cout << "So nguyen sau khi thay doi: " << soNguyen << std::endl;
// Khai báo hằng số MAX_ITEMS với từ khóa const
const int MAX_ITEMS = 100;
// MAX_ITEMS = 120; // Dòng này sẽ gây lỗi, hằng số không đổi
std::cout << "Hang so MAX_ITEMS: " << MAX_ITEMS << std::endl;
return 0; // Kết thúc hàm main thành công
}
Giải thích ví dụ C++:
#include <iostream>
và#include <string>
: Các lệnh này yêu cầu trình biên dịch đưa mã từ thư viện chuẩn vào chương trình của bạn, cần thiết để dùng các hàm nhập/xuất (std::cout
) và kiểu dữ liệu chuỗi (std::string
).int main() { ... return 0; }
: Đây là cấu trúc cơ bản của một chương trình C++. Mã của bạn viết bên trong dấu ngoặc nhọn{}
củamain
.int soNguyen = 123;
: Khai báo một biến tên làsoNguyen
với kiểu dữ liệu là số nguyên (int
), và gán giá trị ban đầu là123
. Bắt buộc phải có kiểu dữ liệu (int
) ở đây.double soThuc;
: Khai báo một biến tên làsoThuc
với kiểu dữ liệu là số thực (double
). Ở đây, nó được khai báo mà chưa gán giá trị ban đầu.soThuc = 45.67;
: Gán giá trị45.67
cho biếnsoThuc
sau khi nó đã được khai báo.std::string tenSach = "Lap Trinh C++";
: Khai báo biến chuỗi.bool isCompleted = true;
: Khai báo biến boolean.std::cout << ... << std::endl;
: Cú pháp để in dữ liệu ra màn hình console trong C++.soNguyen = 456;
: Gán lại giá trị mới cho biếnsoNguyen
.const int MAX_ITEMS = 100;
: Khai báo hằng sốMAX_ITEMS
kiểu số nguyên với từ khóaconst
. Giá trị100
được gán và không thể thay đổi.
Qua các ví dụ này, bạn có thể thấy sự khác biệt về cú pháp giữa các ngôn ngữ, nhưng ý tưởng cốt lõi về biến (một nơi lưu trữ dữ liệu có thể thay đổi, được đặt tên) là nhất quán.