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

Bài giảng Tin học đại cương Phần 2: Bài 6 - Nguyễn Thành Kiên

Chia sẻ: Codon_04 Codon_04 | Ngày: | Loại File: PPT | Số trang:36

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

Khái niệm hàm trong C; khai báo và sử dụng hàm trong C; nguyên mẫu hàm trong C là những nội dung chính mà "Bài giảng Tin học đại cương Phần 2: Bài 6 - Hàm" hướng đến trình bày. Mời các bạn cùng tìm hiểu và tham khảo nội dung thông tin tài liệu.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Tin học đại cương Phần 2: Bài 6 - Nguyễn Thành Kiên

  1. TIN HỌC ĐẠI CƯƠNG Bài 6. HÀM.                        Nguyễn Thành Kiên           Bộ môn Kỹ thuật máy tính          Khoa Công nghệ thông tin – ĐHBK HN
  2. Bài 6. HÀM.  6.1. Khái niệm hàm trong C  6.2. Khai báo và sử dụng hàm trong C  6.2.1. Khai báo hàm  6.2.2. Sử dụng hàm  6.2.3. Phân loại biến sử dụng trong chương  trình  6.2.4. Nguyên mẫu hàm trong C. 2
  3. Bài 6. HÀM.  6.1. Khái niệm hàm trong C  6.2. Khai báo và sử dụng hàm trong C  6.2.1. Khai báo hàm  6.2.2. Sử dụng hàm  6.2.3. Phân loại biến sử dụng trong chương  trình  6.2.4. Nguyên mẫu hàm trong C. 3
  4. 6.1. Khái niệm hàm trong C  Tại sao cần chương trình con?  Trong khi lập trình chúng ta thường gặp những  đoạn chương trình lặp đi lặp lại nhiều lần ở những  chỗ khác nhau.   Để tránh rườm rà và tiết kiệm công sức, những  đoạn chương trình đó được thay thế bởi các  chương trình con tương ứng và khi cần ta chỉ việc  gọi những chương trình con đó ra mà không phải  viết lại cả đoạn chương trình đó. 4
  5. 6.1. Khái niệm hàm trong C  Tại sao cần chương trình con?  Khi giải quyết một bài toán lớn thì chương trình  của ta có thể rất lớn và dài, điều này làm cho việc  sửa chữa, gỡ rối, hiệu chỉnh chương trình gặp  nhiều khó khăn.   Nếu ta chia bài toán lớn, phức tạp ban đầu thành  các bài toán con nhỏ hơn và tương đối độc lập với  nhau, rồi lập các chương trình con giải quyết từng  bài toán con, cuối cùng ghép các ctc đó lại thành  một chương trình giải quyết bài toán ban đầu thì  sẽ rất tiện lợi cho việc phát triển, kiểm tra và sửa  chữa cả chương trình.  5
  6. 6.1. Khái niệm hàm trong C  Trong C, một số ctc thông dụng đã được  thực hiện sẵn như sin, cos, pow, sqrt...  Những chương trình con này nằm trong thư  viện các chương trình con mẫu , do trình biên  dịch C quản lý, vì vậy chúng còn được gọi là  các chương trình con chuẩn.   Trình biên dịch Turbo C++ phân loại và đặt  các chương trình con chuẩn này trong các  đơn vị chương trình khác nhau dưới dạng các  tệp tiêu đề như stdio.h, conio.h, math.h,  string.h... 6
  7. 6.1. Khái niệm hàm trong C  Việc chia nhỏ một chương trình thành các  chương trình con đảm nhận những công việc  nhỏ khác nhau chính là tư tưởng chính cho  phương pháp lập trình có cấu trúc (structured  programming).  Cần lưu ý là có khi một chương trình con chỉ  sử dụng đúng một lần nhưng nó vẫn làm cho  chương trình trở nên sáng sủa và dễ đọc, dễ  hiểu hơn. 7
  8. Bài 6. HÀM.  6.1. Khái niệm hàm trong C  6.2. Khai báo và sử dụng hàm trong C  6.2.1. Khai báo hàm  6.2.2. Sử dụng hàm  6.2.3. Phân loại biến sử dụng trong chương  trình  6.2.4. Nguyên mẫu hàm trong C. 8
  9. Bài 6. HÀM.  6.1. Khái niệm hàm trong C  6.2. Khai báo và sử dụng hàm trong C  6.2.1. Khai báo hàm  6.2.2. Sử dụng hàm  6.2.3. Phân loại biến sử dụng trong chương  trình  6.2.4. Nguyên mẫu hàm trong C. 9
  10. 6.2.1. Khai báo hàm  Cú pháp  []   ([,…])  { //Thân hàm  }  Trong thân hàm có ít nhất một lệnh return.  10
  11. 6.2.1. Khai báo hàm  Ví dụ: hàm tính giai thừa của một số nguyên  dương. Ta quy ước rằng giai thừa của một  số âm thì bằng –1, của 0 bằng 0, của một số  nguyên dương a là a! = a   (a­1)  …  1.  int giai_thua(int a) => Khai báo hàm { int ket_qua, i; Thân hàm ket_qua = 1; for(i = 0;i
  12. 6.2.1. Khai báo hàm  Kiểu dữ liệu trả về của hàm  Trong C, kiểu dữ liệu trả về của hàm có thể là  kiểu dữ liệu bất kì (kiểu dữ liệu có sẵn hoặc kiểu  dữ liệu do người dùng tự định nghĩa) nhưng  không được là kiểu dữ liệu mảng.  Nếu kiểu dữ liệu trả về là kiểu void thì hàm  không trả về giá trị nào cả.  Trường hợp ta không khai báo kiểu dữ liệu trả về  thì chương trình dịch của C sẽ ngầm hiểu rằng  kiểu dữ liệu trả về của hàm là kiểu int. 12
  13. 6.2.1. Khai báo hàm  Tên hàm  Tên hàm đặt theo yêu cầu của định danh.  Tuy nhiên tên hàm nên mang nghĩa gợi ý chức  năng công việc mà hàm thực hiện.   Trong C, các hàm không được đặt tên trùng nhau. 13
  14. 6.2.1. Khai báo hàm  Tham số của hàm  Chứa dữ liệu vào cung cấp cho hàm, hoặc chứa  dữ liệu ra mà hàm tính toán được.  Các tham số sử dụng trong lời khai báo hàm được  gọi là tham số hình thức (tham số giả định).   Các tham số được cung cấp cho hàm trong quá  trình thực hiện được gọi là tham số thực.   Kiểu dữ liệu của tham số thực cung cấp cho hàm  trong chương trình phải giống kiểu dữ liệu của  tham số hình thức tương ứng với tham số thực  đó, nếu không sẽ có báo lỗi biên dịch.  14
  15. 6.2.1. Khai báo hàm  Tham số của hàm  Một hàm có thể có một, nhiều hoặc không có  tham số nào cả.   Nếu có nhiều tham số thì chúng phải được phân  cách với nhau bằng dấu phẩy.   Lưu ý là nếu hàm không có tham số nào cả thì  vẫn phải có cặp dấu ngoặc đơn sau tên hàm, ví  dụ main(). 15
  16. 6.2.1. Khai báo hàm  Lệnh return  Sau khi hàm thực hiện xong, nó sẽ trở về  chương trình đã gọi nó. Có 2 cách để từ  hàm trở về chương trình đã gọi hàm:  Sau khi thực hiện tất cả các câu lệnh có trong  thân hàm.  Khi gặp lệnh return. 16
  17. 6.2.1. Khai báo hàm  Lệnh return  Cú pháp chung của lệnh return là return biểu_thức;  Khi gặp lệnh này, chương trình sẽ tính toán giá trị  của biểu_thức, lấy kết quả tính toán được làm  giá trị trả về cho lời gọi hàm rồi kết thúc việc thực  hiện hàm, trở về chương trình đã gọi nó.  Trong lệnh return cũng có thể không có phần  biểu_thức, khi đó ta sẽ kết thúc thực hiện hàm  mà không trả về giá trị nào cả. 17
  18. Ví dụ hàm #include  #include  int max(int x, int y, int z) { int max; max = x>y?x:y; max = max>z?max:z; return max; } void main() { int a,b,c; clrscr(); printf("\n Nhap gia tri cho 3 so nguyen a, b, c: "); scanf("%d %d %d",&a,&b,&c); printf("\n Gia tri cac so vua nhap: "); printf(" a = %­5d b = %­5d c = %­5d"); printf("\n Gia tri lon nhat trong 3 so la %d",max(a,b,c)); getch(); } 18
  19. Bài 6. HÀM.  6.1. Khái niệm hàm trong C  6.2. Khai báo và sử dụng hàm trong C  6.2.1. Khai báo hàm  6.2.2. Sử dụng hàm  6.2.3. Phân loại biến sử dụng trong chương  trình  6.2.4. Nguyên mẫu hàm trong C. 19
  20. 6.2.2. Sử dụng hàm  Cú pháp:  ([danh sách các tham số])   Trong chương trình, khi gặp một lời gọi hàm thì hàm  bắt đầu thực hiện bằng cách chuyển các lệnh thi  hành đến hàm được gọi. Quá trình diễn ra như sau:   Nếu hàm có tham số, trước tiên các tham số sẽ được gán  giá trị thực tương ứng.   Chương trình sẽ thực hiện tiếp các câu lệnh trong thân hàm  bắt đầu từ lệnh đầu tiên đến câu lệnh cuối cùng.  Khi gặp lệnh return hoặc dấu } cuối cùng trong thân hàm,  chương trình sẽ thoát khỏi hàm để trở về chương trình gọi  nó và thực hiện tiếp tục những câu lệnh của chương trình  này. 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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