1.3.3 Biến (2)

Kiểu dữ liệu là một thuộc tính duy nhất xác định các giá trị có thể được lưu bên trong các biến. Chúng ta đã gặp kiểu số nguyên – int và kiểu dấu phẩy động – float. Giá trị của biến là những gì mà chúng ta đưa vào đó. Tất nhiên là bạn chỉ có thể đưa vào đó những giá trị tương thích với kiểu của biến. Chỉ một giá trị nguyên mới có thể gán cho một biến nguyên (biến có kiểu int). Compiler sẽ không cho phép chúng ta nhập một số dấu phẩy động vào đó.

Bây giờ chúng tôi sẽ nói về 2 điều quan trọng – biến được tạo ra như thế nào và làm thế nào để đưa một giá trị vào bên trong nó.

Sự tồn tại của biến là kết quả của một khai báo (declaration). Một khai báo là một cấu trúc cú pháp dùng để gắn kết một cái tên cung cấp bởi lập trình viên với một kiểu dữ liệu cụ thể được cung cấp bởi ngôn ngữ C++. Xây dựng một khai báo rất đơn giản: sử dụng tên của kiểu dữ liệu mong muốn, tiếp theo là tên biến (nếu có nhiều biến thì các tên biến tách với nhau bởi dấu phẩy). Toàn bộ câu lệnh kết thúc bằng dấu ;

Hãy thử khai báo một biến kiểu int có tên là Counter:

int Counter;

Những gì được khai báo bởi đoạn code sau đây ?

int variable1, account_balance, invoices;

Nó khai báo 3 biến kiểu int có tên là variable1account_balance và invoices.

Và làm thế nào để chúng ta cấp một giá trị cho biến mới được khai báo ? Chúng ta sẽ cần đến cái gọi là assignment operator. Nghe có vẻ ghê gớm nhưng các operator đều có cú pháp đơn giản rõ ràng.

Assignment operator trông rất quen thuộc, nó đây →

=

Hãy xem ví dụ sau:

Counter = 1;

Câu lệnh trên nói rằng: gán giá trị 1 cho biến có tên là Counter hoặc nói ngắn hơn là gán 1 cho Counter.

Hãy xem một ví dụ khác

Result = 100 + 200;

Trong trường hợp này, giá trị mới của biến Result sẽ là kết quả của phép cộng 100 với 200, có lẽ bạn cũng đã đoán ra điều đó đúng không ?

Bây giờ thì khó hơn chút xíu

x = x + 1;

Nhìn vào đây thì một nhà toán học có lẽ sẽ phản đối, làm đéo gì có cái giá trị nào bằng chính nó cộng với 1, hư cấu vcđ. Đây là một sự mâu thuẫn nhảm nhí ?

Nhưng nghe này, trong C++ thì dấu =  không có nghĩa là bằng (theo kiểu so sánh) mà nó có nghĩa là gán một giá trị.

Vậy chúng ta đọc biểu thức trên trong chương trình như thế nào ?

Lấy giá trị hiện tại của biến x, cộng thêm 1 vào đó rồi lưu kết quả vào biến x

Kết quả là giá trị của biến x được tăng lên 1, nó không so sánh biến với giá trị gì cả. OK.