Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 55 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
55
Dung lượng
0,9 MB
Nội dung
Môn: PHƯƠNG PHÁP LẬP TRÌNH Chương 6: Hàm và con trỏ Chương 6: Hàm và con trỏ 2 Nội dung 6.1. Hàm 6.1.1. Khái niệm Hàm 6.1.2. Khai báo và định nghĩa hàm 6.1.3. Các dạng hàm 6.1.4. Các phương pháp truyền tham số 6.1.5. Phạm vi của các đối tượng 6.1.6. Cấp lưu trữ của các đối tượng 6.1.7. Đệ qui 6.1.8. Nạp chồng hàm 6.1.9. Tổ chức chương trình 6.1.10. Các chỉ thị tiền xử lý Chương 6: Hàm và con trỏ 3 6.1.1. Khái niệm Hàm Một hàm là một khối lệnh được đặt tên và có tính chất là nó có thể được thực thi tại nhiều điểm khác nhau trong chương trình khi được gọi. Khối lệnh này còn được gọi là unit hay module. Hàm có thể được sử dụng trong chương trình này mà cũng có thể được sử dụng trong chương trình khác, dễ cho việc kiểm tra và bảo trì chương trình. Hàm có một số đặc trưng: Nằm trong hoặc ngoài văn bản có chương trình gọi đến hàm. Một văn bản có thể chứa nhiều hàm. Được gọi từ chương trình chính (main), từ hàm khác hoặc từ chính nó (đệ quy). Không lồng nhau. Có 3 cách truyền giá trị: Truyền theo tham trị, tham biến và tham trỏ. Các biến cục bộ trong hàm được tạo ra khi hàm được gọi và biến mất khi hàm thực thi xong. Chương 6: Hàm và con trỏ 4 6.1.1. Khái niệm Hàm (tt) Chương 6: Hàm và con trỏ 5 6.1.1. Khái niệm Hàm (tt) Có 2 loại hàm trong NNLT “C/C++”: Hàm thư viện (library functions): Do chương trình dịch “C/C++” cung cấp. Để sử dụng các hàm này trong chương trình, đầu chương trình phải chứa các khai báo và định nghĩa hằng, biến, hàm nguyên mẫu, . . . bằng các chỉ thị tiền xử lý #include <tên tập tin>. Ví dụ: #include <iostream.h> #include <conio.h> Hàm tự tạo: Do người sử dụng định nghĩa thêm các hàm khác phục vụ cho nhu cầu lập trình của mình. Chương 6: Hàm và con trỏ 6 6.1.2. Khai báo và định nghĩa hàm Khai báo: [<kiểu giá trị trả về>] <tên hàm>([<danh sách các tham số>]) { // các khai báo cục bộ . . . . // các câu lệnh . . . . //Trị trả về [Return <Biểu thức trả về>;] } Chương 6: Hàm và con trỏ 7 6.1.2. Khai báo và định nghĩa hàm (tt) Hàm nguyên mẫu (function prototype) : Được dùng để cung cấp thông tin cho chương trình dịch về tên hàm, kiểu giá trị trả về, số lượng, thứ tự và kiểu của các tham số của hàm. Chương trình dịch căn cứ vào các thông tin này để kiểm tra các lời gọi hàm trong chương trình. Hàm nguyên mẫu được đặt sau phần khai báo toàn cục và ngay trước hàm main() hoặc có thể đặt trong tập tin khác. Khai báo: [<kiểu giá trị trả về>] <tên hàm>([<danh sách các tham số>]) ; Ví dụ: Khai báo hàm nguyên mẫu có chức năng xác định trị min giữa 2 số nguyên. int Min(int, int) ; int Min(int a, int b) ; // nên dùng cách khai báo này Chương 6: Hàm và con trỏ 8 6.1.2. Khai báo và định nghĩa hàm (tt) Tổ chức một chương trình “C/C++” Cách 1: chương trình gồm 3 phần PHẦN KHAI BÁO TOÀN CỤC PHẦN KHAI BÁO VÀ ĐỊNH NGHĨA HÀM HÀM main() Cách 2: chương trình gồm 4 phần (nên dùng cách này) PHẦN KHAI BÁO TOÀN CỤC PHẦN KHAI BÁO HÀM NGUYÊN MẪU HÀM main() PHẦN ĐỊNH NGHĨA HÀM Chương 6: Hàm và con trỏ 9 6.1.2. Khai báo và định nghĩa hàm (tt) Ví dụ: Chương 6: Hàm và con trỏ 10 6.1.3. Các dạng hàm 1. Hàm không có giá trị trả về Ví dụ: Hàm xoá màn hình 100 lần