Bài giảng Nhập môn lập trình C - Chương 3: Hàm
lượt xem 4
download
Trong chương 3 chúng ta sẽ tìm hiểu về hàm. Hàm là một khối lệnh thực hiện một công việc hoàn chỉnh (module), được đặt tên và được gọi thực thi nhiều lần tại nhiều vị trí trong chương trình. Hàm còn gọi là chương trình con (subroutine). Mời các bạn cùng tham khảo để biết thêm các nội dung chi tiết.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Nhập môn lập trình C - Chương 3: Hàm
- Khái niệm Hàm là một khối lệnh thực hiện một công việc hoàn chỉnh (module), được đặt tên và được gọi thực thi nhiều lần tại nhiều vị trí trong chương trình. Hàm còn gọi là chương trình con (subroutine) Hàm có thể được gọi từ chương trình chính (hàm main) hoặc từ 1 hàm khác. Hàm có giá trị trả về hoặc không. Nếu hàm không có giá trị trả về gọi là thủ tục (procedure)
- Khái niệm Có hai lọai hàm: Hàm thư viện: là những hàm đã được xây dựng sẵn. Muốn sử dụng các hàm thư viện phải khai báo thư viện chứa nó trong phần khai báo #include. Hàm do người dùng định nghĩa.
- Dạng tổng quát của hàm Hàm do người dùng định nghĩa returnType functionName(parameterList) { body of the function } returnType: Kiểu dữ liệu của giá trị trả về bởi hàm. Nếu hàm không trả về giá trị thì returnType là void. parameterList: Danh sách các tham số hình thức phân cách nhau bởi dấu phẩy
- Dạng tổng quát của hàm Ví dụ: int max(int a, int b) { if(a
- Gọi hàm Hàm khi đã định nghĩa nhưng chúng vẫn chưa được thực thi, hàm chỉ được thực thi khi được gọi. Cú pháp gọi hàm: ([Danh sách các tham số])
- Gọi hàm Ví dụ: Gọi hàm trong chương trình chính: void main() { int a, b, m; printf(“ a=“); scanf(“%d”,&a); printf(“ b=“); scanf(“%d”,&b); m=max(a, b); printf (“so lon nhat la: %d”, m); }
- Nguyên tắc hoạt động của hàm Hàm có thể được gọi từ nhiều vị trí khác nhau trong chương trình. Khi hàm được gọi, khối lệnh tương ứng của hàm được thực thi. Sau khi thực hiện xong, quyền điều khiển được trả về cho chương trình gọi.
- Nguyên tắc hoạt động của hàm void main() int uscln(int a, int b) { { int a, b, USC; a=abs(a); printf(“a=“); scanf(“%d”,&a); b=abs(b); printf(“b=“); scanf(“%d”,&b); while(a!=b) USC = uscln(a,b); { if(a>b) a-=b; printf (“USC lon nhat la: ”,USC); else b-=a; } } return a;}
- Tham số hình thức và tham số thực Đối với hàm có đối số (arguments), khi thực thi hàm cần khai báo danh sách các tham số để nhận giá trị từ chương trình gọi. Các tham số này được gọi là tham số hình thức Ví dụ: int min( int a, int b) { Tham số hình thức if(a
- Tham số hình thức và tham số thực Khi gọi hàm, phải cung cấp các giá trị thật, các giá trị này được sao chép vào các tham số hình thức, các giá trị thật được gọi là tham số thực. Ví dụ: Để tìm giá trị nhỏ nhất của 2 số 5 và 6, bằng cách gọi hàm min(5, 6) Tham số thực min(int a, int b)
- Tham số hình thức và tham số thực Có hai cách truyền đối số vào tham số hình thức: Truyền tham trị: Sao chép giá trị của đối số vào tham số hình thức của hàm. Những thay đổi của tham số không ảnh hưởng đến giá trị của đối số Truyền tham biến Sao chép địa chỉ của đối số vào tham số hình thức. Do đó, những thay đổi đối với tham số sẽ có tác dụng trên đối số
- Tham số là tham chiếu Tham số làm kết quả đầu ra Tham số vừa làm đầu vào và đầu ra Dùng dấu & phía trước tên tham số khi cài đặt hàm
- Tham số hình thức và tham số thực Ví dụ: void double(int a) { a = a*2; printf(“gia tri cua a trong ham double:%d“,a); } void main() { int a=40; double(a); printf(“\n Gia tri cua a trong ham main: %d”, a); }
- Tham số hình thức và tham số thực Ví dụ: Khi gọi hàm double(&a); Địa chỉ của a truyền vào cho tham số hình thức của hàm: double(int &b) void double(int &b) { b *= 2; printf(“Trong hàm double a = %d“, b); }
- Ví dụ: viết chương trình hoán vị hai số nguyên a và b nhập từ bàn phím
- Dùng tham chiếu
- Prototype (nguyên mẫu)của hàm Chương trình bắt buộc phải có prototype của hàm hoặc phải bắt buộc viết định nghĩa của hàm trước khi gọi. Prototype để loại trừ việc bắt buộc phải định nghĩa hàm trước khi gọi. Prototype khai báo giống như header của hàm Sau khi đã sử dụng prototype của hàm, ta có thể viết định nghĩa chi tiết hàm ở bất kỳ vị trí nào trong chương trình
- Prototype (nguyên mẫu)của hàm #include // Khai báo thư viện iostream.h Ví dụ: int max(int x, int y);// khai báo nguyên mẫu hàm max void main()//hàm main (sẽ gọi các hàm thực hiện) { int a, b;// khai báo biến printf(“ a=“); scanf(“%d”,&a); printf(“ b=“); scanf(“%d”,&b); m=max(a, b); printf (“so lon nhat la: %d”, m); } int max(int x, int y)// Định nghĩa hàm max(a,b) { return (x>y) ? x:y; }
- Ví dụ: Viết chương trình nhập vào số nguyên dương n, in ra màn hình các số nguyên tố nhỏ hơn n. vd: Nhập n = 10, in ra màn hình là: 2, 3, 5, 7 Kiểm tra có phải số nguyên tố không?
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Nhập môn lập trình - Chương 1: Các khái niệm cơ bản về lập trình
20 p | 114 | 8
-
Bài giảng Nhập môn lập trình: Chương 2 - Trần Minh Thái
86 p | 107 | 8
-
Bài giảng Nhập môn lập trình: Chương 1 - Trần Minh Thái
58 p | 103 | 7
-
Bài giảng Nhập môn lập trình: Bài 1 - Trần Duy Thanh
70 p | 188 | 5
-
Bài giảng Nhập môn lập trình - Bài 2: Giới thiệu ngôn ngữ lập trình C
18 p | 111 | 5
-
Bài giảng Nhập môn lập trình: Bài 2 - TS. Ngô Hữu Dũng
53 p | 63 | 3
-
Bài giảng Nhập môn lập trình: Bài 1 - TS. Ngô Hữu Dũng
47 p | 80 | 3
-
Bài giảng Nhập môn lập trình: Tổng quan về lập trình - Nguyễn Đình Hưng
21 p | 78 | 3
-
Bài giảng Nhập môn lập trình: Chương giới thiệu - ThS. Nguyễn Đông Hà
9 p | 79 | 3
-
Bài giảng Nhập môn lập trình: Bài 3 - Trần Duy Thanh
16 p | 98 | 3
-
Bài giảng Nhập môn lập trình: Giới thiệu về các cấu trúc điều khiển - Trường ĐH Khoa học tự nhiên TP. HCM
58 p | 5 | 1
-
Bài giảng Nhập môn lập trình: Sử dụng những kiểu dữ liệu cơ sở trong chương trình - Trường ĐH Khoa học tự nhiên TP. HCM
53 p | 1 | 1
-
Bài giảng Nhập môn lập trình: Giới thiệu tổng quan về lập trình - Trường ĐH Khoa học tự nhiên TP. HCM
31 p | 2 | 0
-
Bài giảng Nhập môn lập trình: Hàm và kỹ thuật tổ chức chương trình - Trường ĐH Khoa học tự nhiên TP. HCM
86 p | 1 | 0
-
Bài giảng Nhập môn lập trình: Giới thiệu về thuật toán - Trường ĐH Khoa học tự nhiên TP. HCM
29 p | 0 | 0
-
Bài giảng Nhập môn lập trình: Kỹ thuật cài đặt các thuật toán cơ bản - Trường ĐH Khoa học tự nhiên TP. HCM
37 p | 2 | 0
-
Bài giảng Nhập môn lập trình: Dữ liệu mạng và dữ liệu có cấu trúc - Trường ĐH Khoa học tự nhiên TP. HCM
37 p | 0 | 0
-
Bài giảng Nhập môn lập trình: Lập trình với tập tin văn bản thô - Trường ĐH Khoa học tự nhiên TP. HCM
38 p | 7 | 0
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn