Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 48 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
48
Dung lượng
545,91 KB
Nội dung
NGÔN NGỮ LẬP TRÌNH C HÀM Ninh Thị Thanh Tâm Khoa CNTT – HV Quản lý Giáo dục Mục đích Biết cách xây dựng chương trình từ hàm Cách tạo hàm Cơ cấu truyền thông tin hàm Cách dùng viết hàm đệ quy Giới thiệu hàm toán học thư viện C chuẩn Nội dung Khai báo định nghĩa hàm Tham số lời gọi hàm Địa trỏ Con trỏ hàm Khái niệm Khai báo biến trỏ hàm Tham số hình thức hàm trỏ hàm Đệ quy Ví dụ /*func1.c*/ #include #include int square(int); void main() { int i; for (i=1; iy) return ucln(x-y,y); else return ucln(x,y-x); } Con trỏ hàm Con trỏ hàm trỏ trỏ đến điểm xâm nhập vào hàm Có thể sử dụng thay cho tên hàm Cho phép hàm truyền tham số cho hàm khác Khai báo biến trỏ hàm Cú pháp: [kiểu giá trị] (*tên biến trỏ hàm)([danh sách tham số]); Con trỏ hàm nhận giá trị tên hàm có kiểu giá trị trả kiểu giá trị tham số Ví dụ float (*f)(float) báo f trỏ hàm kiểu float có đối float Khai double (*g)(int, double) Khai báo g trỏ hàm kiểu double có đối int double Tác dụng trỏ hàm Chứa địa hàm Thực phép gán tên hàm cho trỏ hàm Kiểu hàm kiểu trỏ phải tương thích Ví dụ #include #include float max(float x, float y){ return (x>y?x:y); } int main(){ float x = 3, y = 5; float (*f)(float, float) = max; printf("max=%f\n",f(x,y)); getch(); return 0; } Kết Đối trỏ hàm Hàm có tham số thực lời gọi tới tên hàm khác số hình thức tương ứng phải trỏ hàm Tham Cách dùng đối khai báo: float (*f)(float, int) Sử dụng thân hàm: f(x,n) (f)(x,n) (*f)(x,n) Nếu Ví dụ #include #include #include double tichphan(double (*f)(double), double a, double b) { double s, h; int i, n; n = 10000; h = (b-a)/n; s = (f(a)+f(b))/2; for (i=1; i