Thứ Tư, 25 tháng 11, 2020

Lập trình C++ Basic | #6. Biến trong C++

 Chương 2: CÁC KHÁI NIỆM CƠ BẢN TRONG C++

Do your c, c plus plus or c sharp assignments by Rajarjs

2.5 Biến trong C++

2.5.1 Giới thiệu


Giống như toán học, trong lập trình, các bạn cũng sẽ giải những bài toán.

Ví dụ: Bạn có bài toán giải phương trình bậc nhất: 2x - 6 = 0. Và bạn viết một chương trình để giải nó, như thế này:

            #include <iostream>
            int main()
            {
                        // Xuất thông báo "2x - 6 = 0" ra màn hình console
                        std::cout << "2x - 6 = 0" << std::endl;                         // Xuất kết quả nghiệm x
                        std::cout << "x = " << (6 / 2) << std::endl;                         return 0;             }

Nhìn có vẻ đã ổn, bây giờ bạn tiếp tục muốn giải một phương trình bậc nhất khác: 6x + 9 = 0.

Vấn đề phát sinh từ đây, khi bạn muốn giải những bài toán với những số khác nhau, bạn phải viết lại nhiều lần. Nhưng bạn muốn chỉ viết chương trình một lần nhưng sử dụng trong mọi trường hợp, vậy nên khái niệm biến trong lập trình đã ra đời.

Bài học hôm nay, mình chỉ đề cập đến các biến số nguyên (integer variables). Số nguyên là các số nguyên dương (1, 2, 3, …), các số đối (-1, -2, -3, …) và số 0. Biến số nguyên (integer variables) là những biến dùng để lưu trữ các số nguyên.

// Khai báo biến số nguyên nVarName

// Giả sử nVarName được cấp vùng nhớ tại địa chỉ 0x0069

int nVarName;


Đây gọi là một câu lệnh khai báo, khi chương trình được chạy, đến dòng lệnh này, một vùng trong bộ nhớ RAM sẽ được cấp cho biến nVarName này. Ví dụ trong trường hợp này, biến nInterger được cấp một vùng nhớ tại địa chỉ 0x0069 trong RAM, vậy mỗi khi chương trình chạy đến dòng lệnh nào chứa biến nInterger, chương trình sẽ vào vùng nhớ 0x0069 để lấy giá trị của nó.

Sau khi một biến được khai báo, bạn muốn biến nVarName có một giá trị để sử dụng, câu lệnh gán với toán tử gán = (assignment operatorsẽ làm việc đó.

// Gán giá trị 96 cho vùng nhớ tại địa chỉ 0x0069

nVarName = 96;

Khi chương trình chạy đến câu lệnh này, vùng nhớ tại địa chỉ 0x0069 sẽ được gán giá trị 96.

// In giá trị biến nVarName tại địa chỉ 0x0069 ra màn hình

std::cout << nVarName;

2.5.2 Khởi tạo biến trong C++


Ngay khi biến được định nghĩa, bạn lập tức có thể cung cấp một giá trị cho biến. Đó gọi là biến khởi tạo. Trong C++, có 2 cách cơ bản để khởi tạo 1 biến:

// Khởi tạo sao chép giá trị cho biến với toán tử gán =
int nVarName = 69; // copy initialization
// Khởi tạo trực tiếp giá trị cho biến với dấu ngoặc đơn ()
int nVarName(69); // direct initialization

2.5.3 Gán giá trị cho biến trong C++


int nVarName; nVarName =
nVarName = 96; // Gán giá trị 96 cho biến nVarName

2.5.4 Định nghĩa biến trong C++


C++ cho phép bạn định nghĩa nhiều biến cùng kiểu dữ liệu trong một câu lệnh, cách nhau bởi dấu phẩy “,”.

// Các câu lệnh bên dưới là như nhau
int nPNU;
int nPNU1;
int nPNU2, nPNU4;

Chỉ nên định nghĩa nhiều biến trong một câu lệnh. Không nên khởi tạo nhiều biến trong một câu lệnh, vì có thể gây nhầm lẫn. Ví dụ:

// Định nghĩa nhiều biến trong một câu lệnh
int nPNU1, int nPNU2; // Sai: Compile error
int nPNU3, nPNU4; // Đúng
// Định nghĩa nhiều kiểu dữ liệu trong một câu lệnh
int nPNU1, double nPNU2; // Sai: Compile error
int nPNU3; double nPNU4; // Đúng: Không nên
// Đúng và nên viết
int nPNU3;
double nPNU4;

2.5.5 Định nghĩa biến ở đâu trong chương trình C++


Trong compiler C cũ bắt buộc lập trình viên khai báo tất cả các biến ở đầu một hàm. Phong cách này ngày nay đã lỗi thời.

C++ cho phép định nghĩa các biến ở bất kỳ đâu trong hàm, khuyến khích gần nơi sử dụng biến đó. Một số lý do nên định nghĩa biến gần nơi sử dụng:

  • Định nghĩa tất cả biến ở đầu hàm sẽ khó xác định được ý nghĩa của biến đó cho đến khi tìm ra nơi sử dụng biến đó.
  • Định nghĩa biến ở nơi sử dụng sẽ chắc chắn rằng biến này không ảnh hưởng bởi những dòng lệnh phía trên, giúp thu hẹp phạm vi ảnh hưởng tốt hơn.
  • Giảm thiểu khả năng biến định nghĩa mà không sử dụng, hoặc sử dụng biến chưa được khởi tạo (uninitialized), định nghĩa ngay khi sử dụng sẽ đảm bảo biến đó sẽ được dùng ngay.

Không có nhận xét nào:

Đăng nhận xét

Bài tập chuỗi trong C++

  Bài tập chuỗi trong C++   (7) 668 lượt xem Chuỗi (String) trong C/C++ là một mảng ký tự được kết thúc bởi \0 (ký tự null). Dưới đây là các...