Danh mục

Bài giảng Kỹ thuật lập trình - Chương 5: Xây dựng và sử dụng hàm

Số trang: 22      Loại file: pdf      Dung lượng: 368.54 KB      Lượt xem: 18      Lượt tải: 0    
Hoai.2512

Hỗ trợ phí lưu trữ khi tải xuống: 10,000 VND Tải xuống file đầy đủ (22 trang) 0

Báo xấu

Xem trước 3 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài giảng Kỹ thuật lập trình - Chương 5: Xây dựng và sử dụng hàm, cung cấp cho người học những kiến thức như: Vai trò của hàm; Cấu trúc hàm; Lời gọi hàm và vấn đề truyền tham số; Hàm đệ quy. Mời các bạn cùng tham khảo!
Nội dung trích xuất từ tài liệu:
Bài giảng Kỹ thuật lập trình - Chương 5: Xây dựng và sử dụng hàm BÀI GIẢNG HỌC PHẦN KỸ THUẬT LẬP TRÌNHCHƯƠNG 5: XÂY DỰNG VÀ SỬ DỤNG HÀM Nội dung5.1. Vai trò của hàm5.2. Cấu trúc hàm5.3. Lời gọi hàm và vấn đề truyền tham số5.4. Hàm đệ quy 2 5.1. Vai trò của hàm (1)• Hàm:- Chương trình con cho phép thực hiện một nhiệm vụ cụ thể, chuyên biệt cho chương trình chính- Được định nghĩa với một tên gọi xác định, có thể có nhiều tham số đầu vào/đầu ra- Thường trả về một kết quả thông qua tên hàm (có thể không)• Vai trò của hàm:- Cho phép chia chương trình thành những phần nhỏ để có thể dễ dàng xây dựng, quản lý, hiệu chỉnh  phương pháp lập trình có cấu trúc- Có thể được gọi thực hiện lặp đi lặp lại nhiều lần với các tham số khác nhau  khả năng tái sử dụng 3 5.1. Vai trò của hàm (2)• Phân loại hàm:- Hàm chuẩn (các hàm do trình biên dịch đã xây dựng sẵn, muốn sử dụng chúng cần khai báo tệp tiêu đề tương ứng, ví dụ: muốn sử dụng hàm sqrt(x) cần khai báo tệp tiêu đề math.h)- Hàm do người dùng tự định nghĩa• Lưu ý:- Trong một chương trình viết bằng ngôn ngữ C, hàm main() là bắt buộc phải có và được thực thi đầu tiên- Các hàm xây dựng trong chương trình (trừ hàm main()) nên được khai báo nguyên mẫu ở phần đầu chương trình 4 5.2. Cấu trúc hàm (1) kiểu_dữ_liệu_trả_về tên_hàm(danh_sách_tham_số) { các_khai_báo; các_lệnh; [return biểu_thức;] }trong đó:- kiểu_dữ_liệu_trả_về: có thể là kiểu bất kỳ (char, int, float, …) ngoại trừ kiểu mảng. Nếu hàm không trả về giá trị thì dùng từ khóa void- tên_hàm: đặt theo quy định đặt tên, phản ánh nội dung hàm- danh_sách_tham_số: là các tham số hình thức, được khai báo giống như khai báo biến 5 5.2. Cấu trúc hàm (2)- các_khai_báo: khai báo các đối tượng cục bộ chỉ có phạm vi sử dụng trong nội bộ hàm Các lưu ý về phạm vi sử dụng của các biến cục bộ được khai báo trong hàm tương tự như các lưu ý đối với các biến được khai báo trong khối lệnh (bài giảng chương 1 - slide 43)- biểu_thức: cho giá trị là giá trị trả về qua tên hàm 6 5.2. Cấu trúc hàm (3)• Ví dụ:- Hàm tính tổng 2 số: Cách viết khác: int tong(int x,int y) int tong(int x,int y) { { int s; return (x+y); s=x+y; } return s; } 7 5.2. Cấu trúc hàm (4)• Ví dụ: (tiếp)- Hàm tính diện tích tam giác: float dttg(float x, float y, float z) { float p,s; p=(x+y+z)/2; s=sqrt(p*(p-x)*(p-y)*(p-z)); return s; } 8 5.3. Lời gọi hàm và vấn đề truyền tham số• Lời gọi hàm• Vấn đề truyền tham số 9 Lời gọi hàm• Cú pháp: tên_hàm(danh_sách_tham_số) trong đó: danh_sách_tham_số gồm các tham số thực sự- Ví dụ: tong(4,5) dttg(3,4,5) … 10 Vấn đề truyền tham số• Tham số hình thức: khai báo trong cấu trúc hàm• Tham số thực sự: đặt trong lời gọi hàm• Các tham số hình thức và các tham số thực sự cần “tương thích” với nhau• Khi xây dựng hàm, ta không cần quan tâm đến giá trị của các tham số thực sự là bao nhiêu mà chỉ cần quan tâm đến việc cần thực hiện các thao tác tính toán và xử lý dữ liệu dựa trên các tham số hình thức như thế nào để thu được kết quả trả về qua tên hàm• Khi có lời gọi hàm, các tham số thực sự được “truyền” cho các tham số hình thức (truyền giá trị/địa chỉ) 11 Ví dụ (1)• Chương trình tính tổng 2 số a, b:#include int tong(int x,int y)int tong(int x,int y); {int main(void) return (x+y); { int a,b; } printf(Nhap a = ); scanf(%d,&a); printf(Nhap b = ); scanf(%d,&b); printf(a+b = %d,tong(a,b)); return 0; } 12 Ví dụ (2)• Chương trình tính diện tích tam giác:#include#includefloat dttg(float x,float y,float z);int main(void){ float a,b,c; lap: printf(Nhap do dai 3 canh: ); printf( a = );scanf(%f,&a); printf(b = );scanf(%f,&b); printf(c = );scanf(%f,&c); 13 Ví dụ (3)• Chương trình tính diện tích tam giác: (tiếp) if (a Ví dụ (4)• Chương trình tính diện tích tam giác: ...

Tài liệu được xem nhiều: