Khái niệmMỗi biến khi sử dụng trong chương trình cần phải khai báo.. Nó có thể được khai báo ngoài hàm, trong hàm,… tạo nên các lớp lưu trữ của biến:... Khái niệmCó 2 đặc tính quan trọng
Trang 1Giảng viên: Nguyễn Đức Hoàng
Bộ môn Điều Khiển Tự Động
Khoa Điện – Điện Tử
Đại Học Bách Khoa Tp.HCM Email: ndhoang@hcmut.edu.vn
MÔN HỌC
Trang 2Nội dung môn học (10
chương)
chương)
(14 tuần = 28 tiết LT + 14 tiết BT)
Chương 1: Ôn lại các kiến thức cơ bản về máy tính
Chương 2: Các kiểu dữ liệu và thao tác
Chương 3: Giới thiệu ngôn ngữ lập trình C
Chương 4: Các thành phần cơ bản và kiểu dữ liệu của C
Chương 5: Các lệnh điều khiển và vòng lặp
Trang 3Tài liệu tham khảo
Tài liệu: Tin Học 2
Trang 4Đánh giá
Thi giữa kỳ : 20%
Thi cuối kỳ : 80%
Trang 5LỚP LƯU TRỮ CỦA BiẾN
SỰ CHUYỂN KiỂU
CHƯƠNG 7
Trang 6Nội dung chương 7
Trang 7Khái niệm
Trang 8Khái niệm
Mỗi biến khi sử dụng trong chương trình cần phải khai báo Nó có thể được khai báo ngoài hàm, trong hàm,… tạo nên các lớp lưu trữ của biến:
Trang 9Khái niệm
Có 2 đặc tính quan trọng của một biến:
- Tầm sử dụng của biến: là nơi biến có thể được sử dụng trong các lệnh của chương trình → lớp lưu trữ biến toàn cục và lớp lưu trữ biến cục bộ
trị đang tồn tại trong nó có ý nghĩa đến lúc nào → lớp biến tự động và lớp biến tĩnh
Trang 10Khái niệm
Trang 11Biến toàn cục và biến cục bộ
Trang 12Biến cục bộ
-Biến cục bộ hay biến tự động (auto): các biến được khai báo ngay sau cặp dấu {} hoặc các biến được khai báo trong danh sách đối số của hàm
Cú pháp: [auto] kieu ds_tb;
VD:
main() { int i = 1;
{ auto int j; } }
Trang 13Biến cục bộ
- Biến cục bộ chỉ có thể sử dụng trong phần chương trình mà nó được khai báo → chỉ có các lệnh bên trong thân hàm hoặc khối lệnh mà biến được khai báo mới được sử dụng nó mà thôi
- Khi gặp khai báo biến cục bộ, C sẽ cấp chỗ cho các
biến này trong vùng nhớ stack, khi khối lệnh hoặc hàm được sử dụng xong, các biến trong vùng nhớ stack này tự giải phóng
- Đối với hàm cũng tương tự
Trang 15}
Trang 19Biến tĩnh
Cú pháp: static kieu ds_tb;
- Biến toàn cục tĩnh: biến khai báo ngoài tất cả các hàm, trong một module chương trình và chỉ có ý nghĩa
sử dụng bởi các hàm trong cùng module đó mà thôi
- Biến cục bộ tĩnh: biến được khai báo trong hàm và chỉ có ý nghĩa trong hàm đó mà thôi Nó khác với biến
tự động ở thời gian tồn tại, biến tĩnh tồn tại suốt trong
bộ nhớ từ lúc nó được sử dụng lần đầu cho đến kết thúc chương trình và giá trị của nó không mất đi khi
ra khỏi hay trở về hàm chứa nó
Trang 20double tong(double a,double b)
{
static double c;
return (c+=a+b);
}
Trang 21Biến Register
C cho phép lập trình viên sử dụng một số thanh ghi
của bộ vi xử lý để khai báo biến → biến thanh ghi
(register)
Cú pháp: register kieu ds_tb;
kieu: int, char, unsigned, long, pointer
Khai báo biến thanh ghi chỉ có thể được đặt bên trong một hàm hoặc khối lệnh
Tầm sử dụng và thời gian tồn tại giống như biến cục
bộ nhưng chúng truy xuất nhanh hơn biến cục bộ
Trang 22Khởi động trị cho biến
-Đối với biến toàn cục và biến tĩnh: ngay sau khi khai báo mỗi biến sẽ được C gán giá trị bằng 0 và chỉ được khởi động trị một lần Sau lần đầu lệnh khai báo được thực hiện, C bỏ qua lệnh này trong những lần gọi hàm sau
-Biến tự động và biến thanh ghi: sẽ có trị không xác
định do lập trình viên gán Lệnh khai báo sẽ được thực hiện mỗi lần hàm hay khối lệnh được gọi sử dụng