Bài giảng Lập trình nâng cao: Bài 2+3 - Trương Xuân Nam
Số trang: 46
Loại file: pdf
Dung lượng: 973.21 KB
Lượt xem: 16
Lượt tải: 0
Xem trước 5 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng Lập trình nâng cao: Bài 2+3 Hàm trong C/C++ cung cấp cho người học những kiến thức như: Cấu chúc chung của hàm; Hiểu về cách hàm hoạt động; Các hàm có sẵn; Phạm vi của biến và của hàm; Truyền tham số trong hàm; Nạp chồng hàm; 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 Lập trình nâng cao: Bài 2+3 - Trương Xuân NamLẬP TRÌNH NÂNG CAO Bài 2+3: Hàm trong C/C++ TRƯƠNG XUÂN NAM 1Nội dung chính1. Cấu chúc chung của hàm2. Hiểu về cách hàm hoạt động3. Các hàm có sẵn4. Phạm vi của biến và của hàm5. Truyền tham số trong hàm6. Nạp chồng hàm7. Hàm đệ quy8. Bài tập Trương Xuân Nam - Khoa CNTT 2Phần 1Cấu chúc chung của hàm TRƯƠNG XUÂN NAM 3Cấu chúc chung của hàm#include ▪ Đã học trong Nhập mônusing namespace std; Lập trình ▪ Định nghĩa hàm (function// hàm mu3: tính a^3 definition) gồm 2 phần:int mu3(int a) ▪ Phần khai báo (function{ declaration / function int b = a * a * a; prototype) return b; ▪ Phần thân (function body)} ▪ Gọi hàm:int main() { ▪ Thông qua tên cout Cấu chúc chung của hàm#include ▪ Phần khai báo hàm có thểusing namespace std; tách riêng// hàm mu3: tính a^3 ▪ Thường viết ở phần đầuint mu3(int a); của file hoặc tách riêng thành một file (gọi là fileint main() { header) cout Cấu chúc chung của hàm#include ▪ Phần khai báo hàm khôngusing namespace std; cần viết tên tham số// hàm mu3: tính a^3 ▪ Vẫn phải viết kiểu trả về vàint mu3(int); tên hàm. Riêng phần tham số chỉ cần viết kiểu và bỏint main() { qua phần tên cout Cấu chúc chung của hàm#include ▪ Phần khai báo hàm khôngusing namespace std; cần viết tên tham số// hàm mu3: tính x^3 ▪ Thậm chí tên tham số ởint mu3(int x); trên viết một đằng ở dưới viết một nẻo vẫn đượcint main() { chấp nhận cout Cấu trúc của một chương trình C/C++#include ▪ Tiền xử lý:using namespace std; ▪ #includeconst int MAX = 100; ▪ #definedouble PI = 3.1415; ▪ Khai báo, định nghĩa:int mu3(int); ▪ Hằng sốint main() { ▪ Biến cout Quy tắc▪ Khai báo hàm: cung cấp thông tin nguyên mẫu của hàm ▪ Mô tả đủ thông tin để có thể phát lời gọi hàm ▪ Phải viết trước bất kỳ lời gọi hàm nào ▪ Phải có kiểu trả về của hàm ▪ Phải có tên hàm ▪ Phải có kiểu của từng tham số ▪ Không nhất thiết phải có tên tham số ▪ double mu_x(int, double); ▪ double mu_x(int a, double d);▪ Gọi hàm: gọi tên hàm và các đối số cần thiết ▪ d = mu_x(3, 0.5); ▪ Những giá trị thực sự được dùng trong lời gọi hàm được gọi là đối số (argument) hoặc tham số thực (actual parameter) TRƯƠNG XUÂN NAM 9Quy tắc▪ Định nghĩa hàm: viết đầy đủ cả phần khai báo và phần thân hàm ▪ Tất nhiên phải viết đầy đủ tên các tham số (parameter) để có thể sử dụng được chúng trong phần thân hàm ▪ Còn gọi là các tham số hình thức (formal parameter) ▪ Trả về kết quả thông qua lệnh return ▪ Nếu hàm không có kết quả tính toán (chẳng hạn hàm in N số ra màn hình), thì khai báo kiểu void và không cần return nữa ▪ double mu_x(int a, double d) { double k = 1; for (int i = 0; i < a; i++) k *= d; return k } TRƯƠNG XUÂN NAM 10Thảo luận▪ Mục đích của việc sử dụng hàm? ▪ Tái sử dụng: Mã được viết một lần, sử dụng nhiều lần ▪ Giảm chi phí: Sửa lỗi, nâng cấp ở một đoạn mã ▪ Dễ phát triển: Chia chương trình phức tạp thành nhiều đơn thể, giảm độ phức tạp khi viết các khối mã▪ Tại sao phải tách phần nguyên mẫu và phần thân hàm? ▪ Tập trung vào các chức năng ▪ Phát triển song song▪ Hàm: hiện thực hóa ý tưởng “trừu tượng hóa chức năng” (functional abstraction) ▪ Người dùng chỉ cần biết đến chức năng của mã ▪ Người dùng không cần quan tâm đến chi tiết của mã TRƯƠNG XUÂN NAM 11Phần 2Hiểu về cách hàm hoạt động TRƯƠNG XUÂN NAM 12Hiểu về cách hàm hoạt động#include ①Phát lời gọi hàmusing namespace std; ②Gán giá trị thực chodouble mu_x(int, double); tham số: a = 3, d = 0.5int main() { ③Vào thân hàm cout Phần 3Các hàm có sẵn TRƯƠNG XUÂN NAM 14Các hàm có sẵn▪ Các hàm có sẵn do các lập trình viên khác viết ra và cung cấp cho chúng ta sử dụng ▪ Hàm chuẩn của C/C++ đi kèm với trình biên dịch ▪ Hàm do các đồng nghiệp trong cùng dự án viết cho chúng ta▪ Cung cấp ở dạng thư viện, chỉ việc khai báo và sử dụng ▪ Thư viện thường gồm 2 loại file: • File header: chỉ chứa các khai báo hàm (.h, .hpp hoặc không đuôi) • File source: chứa phần thân hàm (.c, .cpp) ▪ Khai báo thư viện thông qua phát biểu #include ▪ Phát biểu #include phải chỉ ra file header sẽ sử dụng ▪ #include ← tìm file trong thư mục chuẩn ▪ #include mylib ← tìm file trong thư mục hiện tại TRƯƠNG XUÂN NAM 15Các hàm có sẵn TRƯƠNG XUÂN NAM 16Các hàm có sẵn TRƯƠNG XUÂN NAM 17 ...
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình nâng cao: Bài 2+3 - Trương Xuân NamLẬP TRÌNH NÂNG CAO Bài 2+3: Hàm trong C/C++ TRƯƠNG XUÂN NAM 1Nội dung chính1. Cấu chúc chung của hàm2. Hiểu về cách hàm hoạt động3. Các hàm có sẵn4. Phạm vi của biến và của hàm5. Truyền tham số trong hàm6. Nạp chồng hàm7. Hàm đệ quy8. Bài tập Trương Xuân Nam - Khoa CNTT 2Phần 1Cấu chúc chung của hàm TRƯƠNG XUÂN NAM 3Cấu chúc chung của hàm#include ▪ Đã học trong Nhập mônusing namespace std; Lập trình ▪ Định nghĩa hàm (function// hàm mu3: tính a^3 definition) gồm 2 phần:int mu3(int a) ▪ Phần khai báo (function{ declaration / function int b = a * a * a; prototype) return b; ▪ Phần thân (function body)} ▪ Gọi hàm:int main() { ▪ Thông qua tên cout Cấu chúc chung của hàm#include ▪ Phần khai báo hàm có thểusing namespace std; tách riêng// hàm mu3: tính a^3 ▪ Thường viết ở phần đầuint mu3(int a); của file hoặc tách riêng thành một file (gọi là fileint main() { header) cout Cấu chúc chung của hàm#include ▪ Phần khai báo hàm khôngusing namespace std; cần viết tên tham số// hàm mu3: tính a^3 ▪ Vẫn phải viết kiểu trả về vàint mu3(int); tên hàm. Riêng phần tham số chỉ cần viết kiểu và bỏint main() { qua phần tên cout Cấu chúc chung của hàm#include ▪ Phần khai báo hàm khôngusing namespace std; cần viết tên tham số// hàm mu3: tính x^3 ▪ Thậm chí tên tham số ởint mu3(int x); trên viết một đằng ở dưới viết một nẻo vẫn đượcint main() { chấp nhận cout Cấu trúc của một chương trình C/C++#include ▪ Tiền xử lý:using namespace std; ▪ #includeconst int MAX = 100; ▪ #definedouble PI = 3.1415; ▪ Khai báo, định nghĩa:int mu3(int); ▪ Hằng sốint main() { ▪ Biến cout Quy tắc▪ Khai báo hàm: cung cấp thông tin nguyên mẫu của hàm ▪ Mô tả đủ thông tin để có thể phát lời gọi hàm ▪ Phải viết trước bất kỳ lời gọi hàm nào ▪ Phải có kiểu trả về của hàm ▪ Phải có tên hàm ▪ Phải có kiểu của từng tham số ▪ Không nhất thiết phải có tên tham số ▪ double mu_x(int, double); ▪ double mu_x(int a, double d);▪ Gọi hàm: gọi tên hàm và các đối số cần thiết ▪ d = mu_x(3, 0.5); ▪ Những giá trị thực sự được dùng trong lời gọi hàm được gọi là đối số (argument) hoặc tham số thực (actual parameter) TRƯƠNG XUÂN NAM 9Quy tắc▪ Định nghĩa hàm: viết đầy đủ cả phần khai báo và phần thân hàm ▪ Tất nhiên phải viết đầy đủ tên các tham số (parameter) để có thể sử dụng được chúng trong phần thân hàm ▪ Còn gọi là các tham số hình thức (formal parameter) ▪ Trả về kết quả thông qua lệnh return ▪ Nếu hàm không có kết quả tính toán (chẳng hạn hàm in N số ra màn hình), thì khai báo kiểu void và không cần return nữa ▪ double mu_x(int a, double d) { double k = 1; for (int i = 0; i < a; i++) k *= d; return k } TRƯƠNG XUÂN NAM 10Thảo luận▪ Mục đích của việc sử dụng hàm? ▪ Tái sử dụng: Mã được viết một lần, sử dụng nhiều lần ▪ Giảm chi phí: Sửa lỗi, nâng cấp ở một đoạn mã ▪ Dễ phát triển: Chia chương trình phức tạp thành nhiều đơn thể, giảm độ phức tạp khi viết các khối mã▪ Tại sao phải tách phần nguyên mẫu và phần thân hàm? ▪ Tập trung vào các chức năng ▪ Phát triển song song▪ Hàm: hiện thực hóa ý tưởng “trừu tượng hóa chức năng” (functional abstraction) ▪ Người dùng chỉ cần biết đến chức năng của mã ▪ Người dùng không cần quan tâm đến chi tiết của mã TRƯƠNG XUÂN NAM 11Phần 2Hiểu về cách hàm hoạt động TRƯƠNG XUÂN NAM 12Hiểu về cách hàm hoạt động#include ①Phát lời gọi hàmusing namespace std; ②Gán giá trị thực chodouble mu_x(int, double); tham số: a = 3, d = 0.5int main() { ③Vào thân hàm cout Phần 3Các hàm có sẵn TRƯƠNG XUÂN NAM 14Các hàm có sẵn▪ Các hàm có sẵn do các lập trình viên khác viết ra và cung cấp cho chúng ta sử dụng ▪ Hàm chuẩn của C/C++ đi kèm với trình biên dịch ▪ Hàm do các đồng nghiệp trong cùng dự án viết cho chúng ta▪ Cung cấp ở dạng thư viện, chỉ việc khai báo và sử dụng ▪ Thư viện thường gồm 2 loại file: • File header: chỉ chứa các khai báo hàm (.h, .hpp hoặc không đuôi) • File source: chứa phần thân hàm (.c, .cpp) ▪ Khai báo thư viện thông qua phát biểu #include ▪ Phát biểu #include phải chỉ ra file header sẽ sử dụng ▪ #include ← tìm file trong thư mục chuẩn ▪ #include mylib ← tìm file trong thư mục hiện tại TRƯƠNG XUÂN NAM 15Các hàm có sẵn TRƯƠNG XUÂN NAM 16Các hàm có sẵn TRƯƠNG XUÂN NAM 17 ...
Tìm kiếm theo từ khóa liên quan:
Bài giảng Lập trình nâng cao Lập trình nâng cao Cấu chúc của hàm Truyền tham số trong hàm Nạp chồng hàm Hàm đệ quyGợi ý tài liệu liên quan:
-
80 trang 220 0 0
-
142 trang 130 0 0
-
Lý thuyết ngôn ngữ lập trình C++ dành cho sinh viên: Phần 2
276 trang 127 0 0 -
Giáo trình Lập trình nâng cao (Nghề Lập trình máy tính): Phần 2 - Tổng cục dạy nghề
169 trang 87 0 0 -
Đề thi kết thúc học phần Lập trình nâng cao - Học viện Nông nghiệp Việt Nam
1 trang 80 0 0 -
Giáo trình Lập trình nâng cao: Phần 2 - Nguyễn Văn Vinh
153 trang 43 0 0 -
Lập trình tự động hóa PLC S7-300 với TIA Portal: Phần 2
233 trang 35 0 0 -
Nghiên cứu lý thuyết thuật toán: Phần 2
35 trang 35 0 0 -
Phân tích cấu trúc dữ liệu: Phần 1
142 trang 35 0 0 -
Bài giảng Lập trình nâng cao: Bài 10+11+12 - Trương Xuân Nam
44 trang 33 0 0