intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Nhập môn lập trình C - Chương 3: Hàm

Chia sẻ: 5A4F5AFSDG 5A4F5AFSDG | Ngày: | Loại File: PDF | Số trang:35

73
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Nhập môn lập trình C - Chương 3: Hàm

  1. 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)
  2. 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.
  3. 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
  4. Dạng tổng quát của hàm Ví dụ: int max(int a, int b) { if(a
  5. 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ố])
  6. 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); }
  7. 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.
  8. 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;}
  9. 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
  10. 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)
  11. 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ố
  12. 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
  13. 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); }
  14. 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); }
  15.  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
  16. Dùng tham chiếu
  17. 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
  18. 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; }
  19. 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?
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2