Lập trình C++ / C# — August 18, 2016 at 3:09 am

Khái niệm biến và hằng trong ngôn ngữ lập trình C/C++

by

Trong bài biết ngày hôm nay, chúng ta hãy cùng nhau tìm hiểu về khái niệm cơ bản về biến và hằng dành cho những bạn mới bắt đầu tìm hiểu với lập trình C

BIẾN VÀ HẰNG

1. Biến:

1.1.Khái niệm:

Biến là đại lượng có giá trị thuộc một kiểu dữ liệu nào đó mà được chấp nhận bởi ngôn ngữ (xem phần các kiểu dữ liệu), giá trị của biến có thể thay đổi trong thời gian tồn tại của biến (hay ta nói trong vòng đời của biến).
Các thành phần của chương trình sẽ được lưu trong bộ nhớ trong và biến cũng không ngoại lệ. Tức là biến cũng được cấp phát một vùng nhớ để lưu giữ giá trị thuộc một kiểu dữ liệu xác định. Vì thế theo một khía cạnh nào đó có thể nói biến là một cái tên đại diện cho ô nhớ trong máy tính, chương trình có thể truy xuất ô nhớ (lấy hoặc ghi giá trị) thông qua tên biến.

Nói 1 cách dễ hiểu thì biến giống như là khi bạn sinh ra đời – bạn sẽ được đặt cho 1 cái tên( trường hợp mỗi tên là duy nhất ) – ví dụ là A, cái tên A đó của bạn có tác dụng là để phân biệt bạn với mọi người xung quanh. Bởi vì trên thế giới này có hàng tỷ người – nếu như bạn không có tên thì sẽ không thể nào phân biệt đâu là bạn – đâu là mọi người xung quanh bạn.

Chú ý:

Một biến nói chung phải có các đặc trưng sau:
– Tên biến.
– Kiểu dữ liệu: kiểu của biến.
– Giá trị hiện tại nó đang lưu giữ – giá trị của biến( nếu có ).

– Trong C/C++ cũng như các ngôn ngữ lập trình khác các biến đều phải có tên, các tên biến hay nói chung là tên (gồm tên biến, tên hằng, tên hàm, hoặc từ khoá) là một xâu kí tự và phải tuân theo các quy định của ngôn ngữ lập trình.

1.2.Quy tắc khai báo biến

Tên chỉ có thể chứa kí tự là chữ cái (‘a’ ,..,’z’; ‘A’,..,’Z’); chữ số(‘0’,..,’9’) và kí tự gạch dưới (_).
Kí tự đầu tiên của tên phải là chữ cái hoặc kí tự gạch dưới

Trong tên phân biệt chữ hoa và chữ thường. Tức là hai xâu cùng các kí tự nhưng khác nhau bởi loại chữ hoa hoặc chữ thường là hai tên khác nhau, ví dụ như với 2 xâu kí tự “AB” và “Ab” là hai tên hoàn toàn phân biệt nhau.

Các từ khoá của ngôn ngữ không được dùng làm tên biến, tên hằng, hay tên hàm. Hay nói khác đi, trong chương trình có thể bạn phải dùng đến tên, tên này do bạn đặt theo ý tưởng của bạn nhưng không được trùng với các từ khoá.

1.3.Cú pháp khai báo biến:

<kiểu_dữ_liệu> <tên_biến_1>;

<kiểu_dữ_liệu> <tên_biến_1>, <tên_biến_2>, < …>;

Ví dụ:

double x;  // khai báo biến x có kiểu dữ liệu là double, giá trị chưa được khởi tạo

int a, b;    // khai báo biến a và b có cùng kiểu dữ liệu là int, giá trị chưa được khởi tạo

1.4. Cú pháp khởi tạo biến:

< kiểu_dữ_liệu > < tên_biến_1 > = < giá_trị_1 >;

< kiểu_dữ_liệu > < tên_biến_1> = < giá_ trị_1 > , < tên_ biến_2 > = < giá_trị _2 >;

Ví dụ:

int a = 5, b = 8; // khởi tạo biến a có giá trị ban đầu là 5, b có giá trị ban đầu là 8.

double x = 5.5; // khởi tạo biến x có giá trị ban đầu là 5.5
float y = 6.9, z, i;

Trong đó:

< kiểu_dữ_liệu > là tên một kiểu dữ liệu đã tồn tại, đó có thể là tên kiểu dữ liệu chuẩn hoặc kiểu dữ liệu định nghĩa bởi người lập trình( khi nào lớn sẽ biết ).

< tên_biến_1 >, < tên_biến_2> là các tên biến cần khai báo, các tên này phải tuân theo quy tắc về tên của ngôn ngữ.

< giá_ trị_1 >, < giá_ trị_2 > là các giá trị khởi đầu cho các biến tương ứng <tên_biến_1>, < tên_biến_2>. Các thành phần này là tuỳ chọn, nếu có thì giá trị này phải phù hợp với kiểu của biến.

– Trên một dòng lệnh định nghĩa có thể khai báo nhiều biến cùng kiểu, với tên là < tên_biến_1>, < tên_biến_2>,.. các biến cách nhau bởi dấu phẩy (,) dòng khai báo kết thúc bằng dấu chấm phẩy (;).

Khi gặp các lệnh định nghĩa biến, chương trình dịch compiler sẽ yêu cầu máy tính cấp phát vùng nhớ có kích thước(  độ lớn byte  ) phù hợp với kiểu dữ liệu của biến, nếu có thành phần khởi đầu thì sẽ gán giá trị khởi đầu vào vùng nhớ đó.

Kết luận: Biến gồm có 2 thành phần là địa chỉ và giá trị.

logo-sun

2. Hằng:

2.1. Khái niệm:

– Hằng là đại lượng có giá trị thuộc một kiểu dữ liệu nhất định, nhưnggiá trị của hằng không thể thay đổi trong thời gian tồn tại của nó. Nói cách khác là khi ta khởi tạo ra biến hằng thì giá trị của biến đó sẽ không được thay đổi trong suốt chương trình, nếu chúng ta thay đổi thì chương trình sẽ báo lỗi.

– Nói 1 cách dễ hiểu thì hằng trong ngôn ngữ lập trình là 1 đại lượng có giá trị không thể thay đổi trong suốt quá trình chương trình đang thực thi – giống như là: PI = 3.14.., c = 3×10^8(vận tốc ánh sáng)……

2.3.Cú pháp khởi tạo hằng:

– Bạn có thể định nghĩa các hằng với tên mà bạn muốn để có thể sử dụng thường xuyên mà không mất tài nguyên cho các biến bằng cách sử dụng chỉ thị #define

– Chỉ thị #define không phải là một lệnh thực thi, nó là chỉ thị tiền xử lý (preprocessor), đó là lý do trình biên dịch coi cả dòng là một chỉ thị và dòng đó không cần kết thúc bằng dấu chấm phẩy. Nếu bạn thêm dấu chấm phẩy vào cuối dòng, nó sẽ được coi là một phần của giá trị định nghĩa hằng.

#define < tên hằng > <giá trị>  // không có dấu ;

– Với tiền tố const bạn có thể khai báo các hằng với một kiểu xác định như là bạn làm với một biến.

const < kiểu dữ liệu > < tên hằng >= <giá trị >; // có dấu  ;

Ví dụ:

#define MAX 100  // không có dấu ;
#define PI 3.14   // khống dó dấu ;
const int MAX = 100;
const  int x = 5;  // có dấu ;
const int a = 5; // định nghĩa hằng a kiểu nguyên, có giá trị là 5
const float x = 4; // hằng x kiểu thực, có giá trị là 4.0
const d = 7; // hằng d kiểu int, giá trị là 7

Trên đây là những khái niệm cơ bản về biến và hằng mà chúng tôi đã chia sẻ với các bạn. Hy vọng bài viết này sẽ giúp cho các bạn nắm rõ kiến thức hơn. Chúc các bạn học tốt!

Nguồn: windybook

Leave a Comment

Your email address will not be published. Required fields are marked *