1. Trang chủ
  2. » Công Nghệ Thông Tin

CHƯƠNG 6 HÀM (FUNCTION) pps

39 226 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 39
Dung lượng 1,21 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

THAM SỐ HÌNH THỨC &THAM SỐ THỰCy Khi hàm cần nhận đối số arguments để y Khi hàm cần nhận đối số arguments để thực thi thì khi khai báo hàm cần khai báodanh sách các tham số để nhận giá t

Trang 2

Á Ệ

1 KHÁI NiỆM

y Hàm là một khối lệnh thực hiện một công

y Hàm là một khối lệnh thực hiện một côngviệ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 t ình con ( b ti )

y Hàm còn gọi là chương trình con (subroutine)

Trang 3

khai báo #include.

Trang 4

Á Ệ

1 KHÁI NiỆM

y Hàm có thể được gọi từ chương trình chính

y 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

Trang 5

Ổ Á Ủ À

2 DẠNG TỔNG QUÁT CỦA HÀM

y Dạng tổng quát của hàm do người dùng

y Dạng tổng quát của hàm do người dùng định nghĩa:

returnType functionName(parameterList) {

body of the function

}}

Trang 6

Ổ Á Ủ À

2 DẠNG TỔNG QUÁT CỦA HÀM

y returnType: Kiểu dữ liệu của giá trị trả về

y 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

y functionName: Tên hàm

y parameterList: Danh sách các tham sốhình thức phân cách nhau bởi dấu phẩy

Trang 8

3 GỌI HÀM

y Một hàm khi đã định nghĩa nhưng chúng vẫn

y Một hàm khi đã định nghĩa nhưng chúng vẫnchưa được thực thi, hàm chỉ được thực thikhi trong chương trình có một lời gọi đếnhàm đó

Cú pháp gọi hàm

<Tên hàm>([Danh sách các tham số])

Trang 9

VÍ DỤ

y Gọi hàm trong chương trình chính:

y Gọi hàm trong chương trình chính:

Trang 10

4 NGUYÊN TẮC HOẠT ĐỘNG CỦA HÀM

y Hàm có thể được gọi từ nhiều chỗ khácnhau trong chương trình

Trang 11

4 NGUYÊN TẮC HOẠT ĐỘNG CỦA HÀM

cout<<“Uoc chung lon

nhat la: ” USC);

Trang 12

5 THAM SỐ HÌNH THỨC &THAM SỐ THỰC

y Khi hàm cần nhận đối số (arguments) để

y Khi hàm cần nhận đối số (arguments) để

thực thi thì khi khai báo hàm cần khai báodanh 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

là tham số hình thức.

Trang 13

return b;

}

Trang 14

5 THAM SỐ HÌNH THỨC &THAM SỐ THỰC

y Khi gọi hàm ta cung cấp các giá trị thật các

y Khi gọi hàm, ta cung cấp các giá trị thật, cácgiá trị này sẽ được sao chép vào các tham sốhình thức và các giá trị thật được gọi là tham

hình thức và các giá trị thật được gọi là tham

Trang 15

5 THAM SỐ HÌNH THỨC &THAM SỐ THỰC

y Có hai cách truyền đối số vào tham số hình

y Có hai cách truyền đối số vào tham số hìnhthức:

T ề th t ị

y Truyền tham trị

y Truyền tham biến.

Trang 16

5 THAM SỐ HÌNH THỨC &THAM SỐ THỰC

y Truyền tham trị (call by value)

y Truyền tham trị (call by value)

số hình thức của hàm

y Những thay đổi của tham số không ảnhhưởng đến giá trị của đối số

Trang 19

cout<< \n Gia tri cua a

trong ham main: ”;

cout << “a = “ << a <<

t o g a doub e a; }

endl;

} Gia tri cua a trong ham double: 80

Gia tri cua a trong ham main: 40

Trang 20

5 THAM SỐ HÌNH THỨC &THAM SỐ THỰC

y Truyền tham chiếu Truyền tham chiếu (call by reference) (call by reference)

số hình thức Do đó những thay đổi đốivới tham số sẽ có tác dụng trên đối số

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) ( )

Trang 22

b80

}

Trong hàm double a   80 Trong hàm main a = 80

Trang 23

cout << “sau khi goi swap: “;

cout << “a = “ << a << endl;

cout << “b = “ << b << endl; }

Trang 25

6 PROTOTYPE (NGUYÊN MẪU)CỦA HÀM

y Dùng để loại trừ việc bắt buộc phải địnhnghĩa hàm trước khi gọi

y Prototype khai báo giống như header của

y Prototype khai báo giống như header củahàm

Ví d

Ví dụ:

Header : void dispayMessage()

Prototype : void dispayMessage()

Trang 26

6 PROTOTYPE (NGUYÊN MẪU)CỦA HÀM

y ChươngChương trìnhtrình bắt bắt buộc buộc phải phải có 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.

y Sau khi đã sử dụng prototype của hàm, taụ g p yp ,

có thể viết định nghĩa chi tiết hàm ở bất kỳ

vị trí nào trong chương trình.ị g g

Trang 27

VÍ DỤ

#include <iostream.h>// Khai báo thư viện iostream.h

á ê à

void main()// hàm main (sẽ gọi các hàm thực hiện)

{{

int a, b;// khai báo biến

cout<<” Nhap vao 2 so a, b ";

Trang 28

6 Truyền mảng vào hàm

y Khi một mảng được dùng như một đối số

để truyền cho hàm, địa chỉ của mảng đượctruyền vào tham số hình thức

truyền vào tham số hình thức

y Như vậy, truyền mảng vào hàm mặc định

là truyền tham chiếu

là truyền tham chiếu

y Những thay đổi đến giá trị của các phần tử

ả t thâ hà ẽ ả h hưở đếmảng trong thân hàm sẽ ảnh hưởng đếnmảng gốc

Trang 30

7.Đối số của hàm main

y Đối số truyền vào cho tham số của hàmmain còn gọi là đối số dòng lệnh

(command line arguments)

(command line arguments).

y Hàm main có 2 tham số là argv và argc

dùng để nhận các đối số dòng lệnh

dùng để nhận các đối số dòng lệnh

int main(int argc, char *argv[]){ return 0;}

Trang 31

7.Đối số của hàm main

y Tham số argc là một biến nguyên giữ số

y Tham số argc là một biến nguyên giữ sốđối số có trong dòng lệnh

y Tham số argv là một mảng con trỏ char

y Tham số argv là một mảng con trỏ char.Mỗi phần tử của mảng này trỏ đến mộtđối số dòng lệnh Tất cả đối số dònglệnh là chuổi (string)

Trang 32

}

Trang 33

8 Lệnh return

Có hai cách để kết thúc sự thực thi củahàm và trả điều khiển về chương trìnhgọi nó

Khi lệ h ối ù ó t hà đượ

y Khi lệnh cuối cùng có trong hàm đượcthực thi

y Khi hàm thực hiện câu lệnh return

Trang 35

8 Lệnh return

y Lệnh return cho phép một hàm trả vềmột giá trị cho thành phần gọi nó

một giá trị cho thành phần gọi nó

y Cú pháp:

Trang 36

8 Lệnh return

y Trong đó biểu thức chỉ rõ giá trị được trả

y Trong đó biểu thức chỉ rõ giá trị được trả

về bởi hàm Kiểu của giá trị này phảihợp với kiểu trả về của hàm

hợp với kiểu trả về của hàm

y Trường hợp kiểu trả về của hàm là void,

return;

Trang 37

9 ĐỆ QUI

y Một hàm được gọi là đệ qui nếu một lệnhtrong thân hàm gọi đến chính hàm đó

y Ví dụ: Định nghĩa giai thừa của một số

y Ví dụ: Định nghĩa giai thừa của một số

nguyên dương n như sau:

! 1* 2 * 3 * * ( 1) * ( 1)! * ( ới 0! 1)n!=1* 2 * 3 *…* (n-1) *n = (n-1)! *n (với 0!=1)

Ngày đăng: 22/07/2014, 21:23

HÌNH ẢNH LIÊN QUAN

Hình thức và các giá trị thật được gọi là tham - CHƯƠNG 6 HÀM (FUNCTION) pps
Hình th ức và các giá trị thật được gọi là tham (Trang 14)

TỪ KHÓA LIÊN QUAN

w