Danh mục tài liệu

Bài giảng Ngôn ngữ lập trình C: Hàm - Ninh Thị Thanh Tâm

Số trang: 48      Loại file: pdf      Dung lượng: 545.91 KB      Lượt xem: 19      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 này cung cấp cho người học các kiến thức về hàm, giúp người học biết cách xây dựng các chương trình từ các hàm; cách tạo ra các hàm mới; biết được cơ cấu truyền thông tin giữa các hàm; biết cách dùng và viết hàm đệ quy;... Mời các bạn cùng tham khảo để nắm bắt các nội dung chi tiết.
Nội dung trích xuất từ tài liệu:
Bài giảng Ngôn ngữ lập trình C: Hàm - Ninh Thị Thanh TâmNGÔN NGỮ LẬP TRÌNH C HÀM Ninh Thị Thanh TâmKhoa CNTT – HV Quản lý Giáo dụcMục đích Biết cách xây dựng các chương trình từ các hàm Cách tạo ra các hàm mới Cơ cấu truyền thông tin giữa các hàm Cách dùng và viết hàm đệ quy Giới thiệu hàm toán học trong thư viện C chuẩnNội dung Khai báo và định nghĩa hàm Tham số trong lời gọi hàm Địa chỉ và con trỏ Con trỏ hàm  Khái niệm  Khai báo biến con trỏ hàm  Tham số hình thức của hàm là con trỏ hàm Đệ quyVí dụ Nguyên mẫu/*func1.c*/ của hàm#include #include int square(int);void main(){ int i; Lời gọi hàm for (i=1; iKhái niệm liên quan đến hàm Tên hàm Kiểu giá trị của hàm Khai báo hàm Thân hàm Lời gọi hàm Tham số hình thức (đối) Tham số thực Tên_hàm là tên hợp lệ Kiểu giá trị trả về là kiểu dữ liệu của kết quả trả lại cho hàm gọi nó  Nếu là void thì hàm không trả lại giá trị  Nếu không xác định kiểu giá trị trả về trình biên dịch sẽ ngầm định là int Danh sách tham số: mô tả kiểu dữ liệu cùng thứ tự của các tham số hàm nhận khi được gọi  Nếu hàm không nhận tham số, danh sách tham số là void  Cần ghi rõ kiểu của tham số, nếu không ghi được ngầm định là intKhai báo và định nghĩa hàm Khai báo hàm (nguyên mẫu của hàm): [kiểu giá trị trả về] Tên_hàm([danh sách tham số]); Ví dụ: int square(int); Định nghĩa hàm: [kiểu giá trị trả về] Tên_hàm([danh sách tham số]) { Các khai báo … (Thân hàm) Các câu lệnh }Định nghĩa hàm (tiếp) Các khai báo và câu lệnh trong cặp dấu { và } tạo thành thân hàm  Khaibáo và cài đặt một hàm không được đặt trong hàm khác Trả lại giá trị cho hàm: [return [biểu thức];]  Có thể có nhiều câu lệnh return  Giá trị của biểu thức trong câu lệnh return được gán cho hàm  Có thể không sử dụng return  return; ~ hàm không trả về giá trị (có thể không có)Ví dụ Định nghĩa hàm Ý nghĩaint count(float a[20]) {…..} Hàm trả về giá trị là một số nguyên. Tham số là một mảng số thực 20 phần tửfloat sum(float *a) {…..} Hàm trả về một số thực. Tham số là một biến mảng thực hoặc một con trỏ thựcfloat *nhap(int n) {…..} Hàm trả về giá trị là một con trỏ thực. Tham số là một số nguyênint max(int a, int b) {…..} Hàm trả về giá trị là một số nguyên. Tham số là hai số nguyênHàm nguyên mẫu Thông báo cho trình biên dịch biết kiểu dữ liệu hàm trả lại, số lượng, kiểu và thứ tự của các tham số được truyền cho hàm  Dùng để kiểm tra lời gọi hàm  Không cần chỉ rõ tên của tham số hình thứcTham số trong lời gọi hàm Khái niệm  Tham số hình thức: là các tham số được khai báo trong phần danh sách tham số trong định nghĩa hàm  Tham số thực: các thông tin được truyền cho hàm trong các lời gọi hàm  Mỗi tham số thực tương ứng với một tham số hình thức  Kiểu dữ liệu của tham số hình thức quyết định kiểu giá trị của tham số thựcCác bước xây dựng hàm: Khai báo kiểu hàm Đặt tên hàm Khai báo các đối Viết các câu lệnhChú ý Hàm không cho giá trị thì dùng kiểu void Hàm không đối dùng void để khai báo đối Giá trị của biểu thức được chuyển kiểu phù hợp với kiểu của hàm trước khi được gán cho hàmVí dụ - max#include #include float max(float, float);void main(){ float a, b, c, d; printf(Nhap 4 so thuc: ); scanf(%f%f%f%f,&a,&b,&c,&d); printf(Max cua 4 so vua nhap la: %f,max(a,max(b,max(c,d)))); getch();}float max(float x, float y){ return (x>y?x:y);}Truyền thông tin cho hàm Truyền theo trị  Tạo ra một bản sao giá trị của tham số thực  Giá trị của tham số thực không bị thay đổi  Tham số thực có thể là biến, hằng, biểu thức Truyền theo tham biến  Truyền trực tiếp giá trị tham số cho hàm được gọi (tham số hình thức và thực là một)  Tham số thực bắt buộc phải là biến  Giá trị của tham số thực có thể bị thay đổiTruyền tham số trong C Trong C, tất cả các tham số được truyền theo trị/*swap1.c*/#include #include void swap(int x, int y);void main(){ int x=3, y=4; clrscr(); printf(Gia tri truoc khi goi ham ); printf(%5d %5d ,x,y); swap(x,y); printf(Sau khi goi ham ); printf(%5d %5d,x,y); getch();}void swap(int x, int y){ int t; t = x; x = y; y = t;}Địa chỉ Các khái niệm liên quan đến biến  Tên biến  Kiểu biến  Giá trị của biến  Địa chỉ c ...