Biến và hằng số trong C

Hôm nay chúng ta sẽ tìm hiểu về biến trong lập trình C, nhưng trước khi tìm hiểu về nó chúng ta cần biết một khái niệm khác trước đó là kiểu dữ liệu (data type).

Kiểu dữ liệu trong C

Trong lập trình, một kiểu dữ liệu là một cách phân loại dữ liệu cho chương trình hiểu các lập trình viên muốn sử dụng dữ liệu gì.

Ví dụ bạn muốn quản lý tuổi của một người trong chương trình, tuổi sẽ là kiểu số nguyên - trong ngôn ngữ lập trình sẽ có kiểu dữ liệu tương ứng để làm việc với số nguyên.

Hầu hết các ngôn ngữ lập trình hỗ trợ nhiều kiểu dữ liệu khác nhau, như số nguyên, số thập phân... và C cũng vậy.

Một kiểu dữ liệu chỉ định kích thước và loại giá trị. Có 6 kiểu dữ liệu được sử dụng nhiều nhất trong C:

Kiểu dữ liệu Kích thước Mô tả int 4 bytes Lưu trữ toàn bộ số nguyên từ -2,147,483,648 to 2,147,483,647 long 8 bytes Lưu trữ toàn bộ số nguyên từ -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 float 4 bytes Lưu trữ số thập phân. Đủ để lưu trữ 6 đến 7 chữ số thập phân sau dấu phẩy double 8 bytes Lưu trữ số thập phân. Đủ để lưu trữ 15 chữ số thập phân sau dấu phẩy char 2 bytes Lưu trữ một ký tự/chữ cái hoặc giá trị trong bảng mã ASCII

Biến trong C là gì?

Biến nơi lưu trữ tạm thời dữ liệu với một kiểu dữ liệu xác định. Biến có thể thay đổi giá trị trong quá trình thực thi chương trình, do đó được gọi là biến.

Trong ngôn ngữ C, một biến sẽ có 3 thành phần:

Cách đặt tên biến trong C

Trong ngôn ngữ C, mỗi biến có một tên gọi, nhưng không phải muốn đặt tên thế nào tùy theo ý thích của bạn cũng được. Dưới đây là một số nguyên tắc khi đặt tên cho biến:

Vậy đặt tên biến như thế nào cho đúng?

Khai báo và khởi tạo biến trong C

Cú pháp để khai báo 1 biến như sau:

kiểu dữ liệu tên biến;

hoặc chúng ta có thể vừa khai báo vừa gán luôn giá trị cho biến như sau:

kiểu dữ liệu tên biến = giá trị;

Khai báo và khởi tạo biến trong C

Số nguyên

Đối với kiểu số nguyên thì không có có gì đặc biệt, các bạn hãy xem qua ví dụ sau:

#include <stdio.h> int main() { int a = 2; // gán giá trị cho biến tại thời điểm khai báo int b; b = 5; // gán giá trị sau khi khai báo biến }

Số thập phân

Đối với kiểu số thập phân (float và double) cần lưu ý khi khai báo và gán giá trị cho biết, trong lập trình chúng ta sẽ sử dụng dấu chấm . thay vì dấu phẩy , - chúng ta hay dùng cụm từ dấu chấm động để nói đến các số thập phân.

#include <stdio.h> int main() { float a = 2.75; // dùng dấu . float b = 5,55; // dùng dấu , sẽ bị báo lỗi }

Kiểu ký tự

Đối với kiểu ký tự, giá trị cần được đặt trong cặp dấu nháy đơn ' ' để chương trình hiểu được đó là một ký tự.

#include <stdio.h> int main() { char c = 'A'; }

Nếu kiểu ký tự bạn cố tình khai báo nhiều hơn 1 ký tự trong ' ', biến sẽ chỉ nhận 1 ký tự cuối cùng.

#include <stdio.h> int main() { char c = 'ABC'; printf("%c", c); }

Khi bạn khai báo mà không gán giá trị cho biến, lúc này biến sẽ chứa một giá trị không xác định.

Hằng số trong C

Nếu bạn muốn khởi tạo một biến có giá trị không thể thay đổi, bạn có thể sử dụng 2 cách sau:

Điều này sẽ tạo ra một hằng số.

Ví dụ với bộ tiền xử lý #define:

#include <stdio.h> #define PI 3.14 int main() { printf("%f", PI); }

Ví dụ với từ khóa const:

#include <stdio.h> int main() { const double PI = 3.14; PI = 4.5; // dòng này sẽ bị lỗi printf("%f", PI); }

Phạm vi biến trong C

Trong ngôn ngữ lập trình C, mọi biến khi khai báo đều có 2 thuộc tính: kiểu dữ liệu (type) và lớp lưu trữ (storage class) của nó. Lớp lưu trữ ở đây chính là thuộc tính thể hiện phạm vi của biến - nơi nào có thể dùng biến đó và biến đó tồn tại trong bao lâu. Có 2 loại phạm vi chính cần quan tâm như sau:

Biến toàn cục trong C

Các biến được khai báo ở bên ngoài tất cả các khối code của hàm main thì được gọi là biến toàn cục (external or global variable). Các biến toàn cục có thể sử dụng ở mọi hàm - hay mọi nơi trong chương trình. Biến toàn cục cũng tồn tại cho tới khi chương trình kết thúc.

Ví dụ:

#include <stdio.h> int n = 7; // global variable int main() { printf("%d", n); return 0; }

Biến cục bộ trong C

Các biến được khai báo trong thân một hàm thì được gọi là các biến cục bộ (local variables). Các biến cục bộ này chỉ tồn tại và chỉ có thể sử dụng bên trong hàm nó được khai báo.

Thân hay body của một hàm được xác định nằm trong cặp dấu ngoặc nhọn { }.

Ví dụ:

#include <stdio.h> int main() { int a; double b; return 0; }

Độ ưu tiên phạm vi biến

Nếu chúng ta sử dụng cùng một tên biến global variable và local variables thì biến local variables sẽ được ưu tiên hơn.

Ví dụ:

#include <stdio.h> int a = 5; // global variable int main() { int a = 1; // local variables printf("%d", a); }

Link nội dung: https://aicschool.edu.vn/su-dung-bien-va-hang-trong-chuong-trinh-a46720.html