Bài 7: Hàm và chương trìnhBài 7: Hàm và chương trình

Một phần của tài liệu Bài giảng lập trình C (Trang 73 - 82)

V ậ y ậ

Bài 7: Hàm và chương trìnhBài 7: Hàm và chương trình

Bài 7: Hàm và chương trình

1.

1. Khái niệm Khái niệm Chương trình

Chương trình:: Một chương trình C bao gồm một hoặc Một chương trình C bao gồm một hoặc nhiều hàm. Hàm main() là thành phần bắt buộc của

nhiều hàm. Hàm main() là thành phần bắt buộc của

chương trình. Chương trình bắt

chương trình. Chương trình bắt đầu thực hiện từ câu đầu thực hiện từ câu

lệnh đầu ti

lệnh đầu tiên của hàm main( ) cho ên của hàm main( ) cho đến khi gặp dấu } đến khi gặp dấu }

cuối c

cuối cùng của hàm này.ùng của hàm này.

Hàm

Hàm: Là một : Là một đoạn chương trđoạn chương trình ình độc lập thực hiện trọn độc lập thực hiện trọn

vẹn một công việc rồi trả về một giá trị cho chương

vẹn một công việc rồi trả về một giá trị cho chương

tr

trình đã gọi nó.ình đã gọi nó.

Đặc điểm của hàm:

Đặc điểm của hàm:

 Là một Là một đơn vị độc lập của chương trđơn vị độc lập của chương trình. ình.

2. Quy tắc xây dựng hàm: Một hàm gồm có các thành phần

2. Quy tắc xây dựng hàm: Một hàm gồm có các thành phần

sau

sau

- Nguyên mẫu của hàm: Nguyên mẫu của hàm: Bao gồmBao gồm

<kiểu dl của hàm> <

<kiểu dl của hàm> <tên hàmtên hàm(ds các tham số)>;(ds các tham số)>;

Có thể có hoặc không khai báo nguyên mẫu của hàm,

Có thể có hoặc không khai báo nguyên mẫu của hàm,

khi không khai báo nguyên mẫu thì bộ biên dịch sẽ

khi không khai báo nguyên mẫu thì bộ biên dịch sẽ

kiểm tra việc truyền tham số, giá trị trả về có phù hợp

kiểm tra việc truyền tham số, giá trị trả về có phù hợp

hay không rồi mới cho thực hiện hàm.

hay không rồi mới cho thực hiện hàm.

Tất cả nguyên mẫu của các hàm có trong chương trình

Tất cả nguyên mẫu của các hàm có trong chương trình

nên

Ki u giá tr c a hàmKi u giá tr c a hàmểể ị ủị ủ

Giá tr tr v c a hàm ị ả ề ủ

Giá tr tr v c a hàm ị ả ề ủ đđượược xác đ nh d a vc xác đ nh d a vịị ựự ào m c ào m c ụụ đích đích c a hủ

c a hủ àmàm. N u các h. N u các hếế àm không tr v giá tr ta ph i khai àm không tr v giá tr ta ph i khai ả ềả ề ịị ảả báo ki u void.ể

báo ki u void.ể

Tên hàmTên hàm

Ð t theo qui ặ

Ð t theo qui ặ đ nh đ i v i danh đ nhđ nh đ i v i danh đ nhịị ố ớố ớ ịị . Tên hàm trong . Tên hàm trong nguyên m u và khi khai báo ph i gi ng nhau.ẫ ả ố

nguyên m u và khi khai báo ph i gi ng nhau.ẫ ả ố

Tham s c a hàmTham s c a hàmố ủố ủ

Khi vi t m t hàm ta ph i xác ế ộ ả

Khi vi t m t hàm ta ph i xác ế ộ ả đ nh xem hđ nh xem hịị àm có bao nhiêu àm có bao nhiêu tham s ? ố

tham s ? ố

C u trúc c a m t hàmấ ủ ộ C u trúc c a m t hàmấ ủ ộ

<Ki u tr v ><Tên hàm>(<ds tham s hình th c hay đ i ể ả ề ố ứ ố <Ki u tr v ><Tên hàm>(<ds tham s hình th c hay đ i ể ả ề ố ứ ố

s >)ố s >)ố {

{ <Khai báo bi n c c b >;<Khai báo bi n c c b >;ếế ụụ ộộ

<Các câu l nh trong thân hàm>;ệ <Các câu l nh trong thân hàm>;ệ

[return<bt tr v giá tr hàm>];ả ề ị [return<bt tr v giá tr hàm>];ả ề ị }; }; Chú ý: Chú ý:

- Đ i v i các hàm không có ki u tr v ta có hàm ki u voidĐ i v i các hàm không có ki u tr v ta có hàm ki u voidố ớố ớ ểể ả ềả ề ểể

- Hàm không có đ i thì dùng ki u void đ khai báo đ i. VDHàm không có đ i thì dùng ki u void đ khai báo đ i. VDốố ểể ểể ốố void bell(void)

void bell(void) {

 Cách sử dụng hàmCách sử dụng hàm: Hàm được sử dụng thông qua lời gọi : Hàm được sử dụng thông qua lời gọi

hàm.

hàm.

<tên hàm> ([ds tham số thực])

<tên hàm> ([ds tham số thực])

- Tham số thực phải bằng tham số hình thứcTham số thực phải bằng tham số hình thức

- Kiểu của tham số thực phải phù hợp với kiểu của tham Kiểu của tham số thực phải phù hợp với kiểu của tham số hình thức

số hình thức

 Hoạt động của hàm khi có lời gọi hàmHoạt động của hàm khi có lời gọi hàm

 Cấp phát bộ nhớ cho tham số hình thức và biến cục bộCấp phát bộ nhớ cho tham số hình thức và biến cục bộ

 Gán giá trị của tham số thực cho tham số hình thứcGán giá trị của tham số thực cho tham số hình thức

 Thực hiện các lệnh trong thân hàmThực hiện các lệnh trong thân hàm

 Khi gặp câu lệnh return hoặc dấu hiệu kết thúc hàm thì Khi gặp câu lệnh return hoặc dấu hiệu kết thúc hàm thì bộ nhớ sẽ xoá các tham số hình thức và biến cục bộ sau

bộ nhớ sẽ xoá các tham số hình thức và biến cục bộ sau

đó thoát khỏi hàm quay về chương trình gọi hàm

3. Các tham s trong hàmố 3. Các tham s trong hàmố

3.1

3.1 Phân lo i tham s theo cách s d ng Phân lo i tham s theo cách s d ng ạạ ốố ử ụử ụ

o Tham s hình th c: Các tham s mà ta ghi trong nguyên Tham s hình th c: Các tham s mà ta ghi trong nguyên ốố ứứ ốố m u hay ghi lúc khai báo hàm g i là tham s hình th c.ẫ ọ ố ứ m u hay ghi lúc khai báo hàm g i là tham s hình th c.ẫ ọ ố ứ

o Tham s th c:Các giá tr , bi n mà ta ghi sau tên hàm khi Tham s th c:Các giá tr , bi n mà ta ghi sau tên hàm khi ố ựố ự ịị ếế g i hàm ọ

g i hàm ọ đó đ th c hi n g i lđó đ th c hi n g i lể ựể ự ệệ ọọ à tham s th c. Trong C, các à tham s th c. Trong C, các ố ựố ự tham s th c l i chia ra làm hai lo i:ố ự ạ ạ

tham s th c l i chia ra làm hai lo i:ố ự ạ ạ

 Tham chi u: Là các tham s th c mà ta truy n cho Hàm Tham chi u: Là các tham s th c mà ta truy n cho Hàm ếế ố ựố ự ềề dướ ại d ng con tr (d ng ỏ ạ

dướ ại d ng con tr (d ng ỏ ạ đ a ch ). Tham chi u m i ghi đ a ch ). Tham chi u m i ghi ịị ỉỉ ếế ớớ nh n l i đậ ạ ược nh ng k t qu v a tính toán trong Hữ ế ả ừ

nh n l i đậ ạ ược nh ng k t qu v a tính toán trong Hữ ế ả ừ àm àm khi Hàm k t thúc.ế

khi Hàm k t thúc.ế

 Tham tr : Là các tham s th c mà ta truy n cho Hàm dTham tr : Là các tham s th c mà ta truy n cho Hàm dịị ố ựố ự ềề ướưới i d ng bi n. Tham tr không b o l u l i nh ng k t qu ạ ế ị ả ư ạ ữ ế ả

3.2

3.2 Phân lo i theo công d ng Phân lo i theo công d ng ạạ ụụ

 Tham s c a m t hàm có hai công d ng:Tham s c a m t hàm có hai công d ng:ố ủố ủ ộộ ụụ

 Cung c p các giá tr cho hàm khi ta g i nó th c hi n .Cung c p các giá tr cho hàm khi ta g i nó th c hi n .ấấ ịị ọọ ựự ệệ  L u các k t qu tính toán L u các k t qu tính toán ưư ếế ảả đđượược trong quá trc trong quá trình hàm ình hàm

ho t đ ngạ ộ ho t đ ngạ ộ

 TTươương ng v i công d ng ta có các lo i tham s :ng ng v i công d ng ta có các lo i tham s :ứứ ớớ ụụ ạạ ốố  Tham s vào: Cung c p giá tr cho hàm.Tham s vào: Cung c p giá tr cho hàm.ốố ấấ ịị

 Tham s ra: L u k t qu tính toán Tham s ra: L u k t qu tính toán ốố ưư ếế ảả đđượược trong hc trong hàm. àm.  Tham s v a vào, v a ra: v a cung c p giá tr cho Tham s v a vào, v a ra: v a cung c p giá tr cho ố ừố ừ ừừ ừừ ấấ ịị

hàm, v a l u k t qu tính toán ừ ư ế ả

4.

4. Hàm có đ i con trHàm có đ i con trốố ỏỏ Đ i s c a hố ố ủ

Đ i s c a hố ố ủ àm là con tr ki u àm là con tr ki u ỏ ểỏ ể int (float,double,. )int (float,double,. ) thì thì tham s th c tố ự ương ng ph i là ứ ả

tham s th c tố ự ương ng ph i là ứ ả đ a ch c a bi n ki u đ a ch c a bi n ki u ịị ỉ ủỉ ủ ếế ểể

int (float,double,.)

int (float,double,.). Khi . Khi đó đ a ch c a bi n đđó đ a ch c a bi n địị ỉ ủỉ ủ ếế ượược truy n c truy n ềề cho đ i con tr tố ỏ ương ng.ứ

cho đ i con tr tố ỏ ương ng.ứ

Khi mu n b o l u l i k t qu tính toán đố ả ư ạ ế ả ượ ủc c a các Khi mu n b o l u l i k t qu tính toán đố ả ư ạ ế ả ượ ủc c a các

đ i s trong hàm đ s d ng cho chố ố ể ử ụ ương trình g i hàm ọ đ i s trong hàm đ s d ng cho chố ố ể ử ụ ương trình g i hàm ọ

có đ i s thì chúng ta ph i khai báo đ i s c a hàm là ố ố ả ố ố ủ có đ i s thì chúng ta ph i khai báo đ i s c a hàm là ố ố ả ố ố ủ

tham chi u (con tr hay d ng đ a ch ).ế ỏ ạ ị ỉ tham chi u (con tr hay d ng đ a ch ).ế ỏ ạ ị ỉ

VD: VD:

Một phần của tài liệu Bài giảng lập trình C (Trang 73 - 82)

Tải bản đầy đủ (PPT)

(117 trang)