Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 22 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
22
Dung lượng
823,17 KB
Nội dung
Bài 5: Hàm thư viện EE3490: Kỹ thuật lập trình – HK1 2017/2018 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Hàm (functions) EE3490: Kỹ thuật lập trình – HK1 2017/2018 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Khái niệm Hàm khối câu lệnh thực nhiệm vụ định, gọi cần Mỗi hàm có tên (các hàm C khơng trùng tên nhau), số tham số, giá trị trả Sử dụng hàm giúp: Chia nhỏ chương trình thành nhiều tốn Sử dụng lại nhiều chương trình Cách khai báo: () { Khai báo biến dùng cho hàm Các câu lệnh hàm } Câu lệnh return dùng để thoát khỏi hàm trả kết EE3490: Kỹ thuật lập trình – HK1 2017/2018 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Ví dụ Hàm tính tổng hai số double sum(double x, double y) { double z = x+y; return z; } int main() { double x = 10, y = sum(2,3); printf("x + y = %g", sum(x,y)); return 0; } Các tham số biến nội giới hạn phạm vi hàm EE3490: Kỹ thuật lập trình – HK1 2017/2018 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Phạm vi biến, Biến toàn cục: khai báo hàm, có phạm vi tồn chương trình tồn suốt trình chạy Biến địa phương: khai báo hàm khối lệnh, có phạm vi hàm/khối đó, bị huỷ sau kết thúc chạy hàm/khối Khai báo biến địa phương “che” biến tên khác có phạm vi rộng Trong C, biến địa phương phải khai báo đầu hàm khối lệnh Ví dụ biến địa phương hàm: int x = 10, y = 20; int sum() { int z = x+y; return z; } int main() { int x = 1, y = 2; int z = sum(); return 0; } /* phải khai báo trước hàm sum() */ /* trả về: 10+20 */ EE3490: Kỹ thuật lập trình – HK1 2017/2018 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Biến khối lệnh Trong khối lệnh { … } ta khai thêm biến, biến tồn từ chương trình chạy vào tới khỏi khối lệnh Ví dụ: int x = 1, y = 2; int sum(int x, int y) { return x+y; } int a = 1000, b = 2000; int main() { int x = 10, y = 20; { int x = 100, y = 200; x+y; } x+y; sum(a,b); return 0; } EE3490: Kỹ thuật lập trình – HK1 2017/2018 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Biến khối lệnh: vịng lặp Chỉ có phạm vi lần chạy vòng lặp, lần lặp tạo biến khởi tạo lại Ví dụ: int x = 20; for (i=0; i