Ví dụ về chương trình con trong C

Một chương trình viết trong ngôn ngữ C là một dãy các hàm, trong đó có một hàm chính [hàm main[]]. Hàm chia các bài toán lớn thành các công việc nhỏ hơn, giúp thực hiện những công việc lặp lại nào đó một cách nhanh chóng mà không phải viết lại đoạn chương trình. Thứ tự các hàm trong chương trình là bất kỳ, song chương trình bao giờ cũng đi thực hiện từ hàm main[]. Trong C chương trình con chỉ tồn tại dới dạng hàm chứ không có thủ tục.

Hàm có thể xem là một đơn vị độc lập của chương trình. Các hàm có vai trò ngang nhau, vì vậy không có phép xây dựng một hàm bên trong các hàm khác.

8.1 Khai báo và định nghĩa hàm

Xây dựng một hàm bao gồm: khai báo kiểu hàm, đặt tên hàm, khai báo các đối và đưa ra câu lệnh cần thiết để thực hiện yêu cầu đề ra cho hàm. Một hàm được viết theo mẫu sau:

                   [ [khai báo các tham số hình thức]]

{

[Khai báo các biến cục bộ]

[Các câu lệnh]

[return[biểu thức];]

}

Giải thích:

–     : giá trị kiểu dữ liệu của dữ liệu sẽ trả về cho hàm

–      : tên của hàm mà bạn muốn định nghĩa, được đặt theo qui tắc đặt tên của C

–      [khai báo các tham số hình thức]: các tham số hình thức và kiểu của chúng

–      [Khai báo các biến cục bộ]: khai báo các biến cục bộ, các biến này chỉ có tác dụng trong nội bộ hàm

–      [return]: là lệnh thực hiện gán giá trị trả về cho hàm

–      [biểu thức]: là giá trị trả về cho hàm, có thể là biến, hằng, biểu thức nhưng phải có giá trị xác định và có kiểu dữ liệu là kiểu đã khai báo cho hàm.

Ví dụ 1: Hàm tìm giá trị lớn nhất giữa hai giá trị

int tim_max[int a, int b]

{

if[a>=b]

return a;

else

return b;

}

@ Lưu ý:

– Hàm có thể có giá trị trả về hoặc không, giá trị trả về phải cùng kiểu với kiểu trả về đã khai báo hàm. Nếu hàm không có giá trị trả về thì đặt từ khóa void trước tên hàm để báo hiệu là hàm không cần giá trị trả về cho hàm.

– Khi hàm khai báo không có kiểu ở trước nó thì nó được mặc định là kiểu int.

– Không nhất thiết phải khai báo nguyên mẫu hàm. Nhưng nói chung nên có vì nó cho phép chương trình biên dịch phát hiện lỗi khi gọi.

– Nguyên mẫu của hàm thực chất là dòng đầu tiên của hàm thêm vào dấu;. Tuy nhiên, trong nguyên mẫu có thể bỏ tên các tham số hình thức.

Ví dụ 2: Hàm in ra dãy số từ 1 đến n

void In_dayso[int n]

{

for[int i=1;i=b]

return a;

else

return b;

}

8.3 Tham số hình thức, tham số thực và biến cục bộ

Các tham số dùng khi khai báo hàm được gọi là tham số hình thức. Các tham số được cung cấp cho hàm khi gọi hàm là tham số thực. Tham số thực có thể là một biểu thức, trong khi tham số hình thức thì không thể là 1 biểu thức. Dãy các tham số thực phải tương ứng về kiểu với tham số hình thức.

Có những hàm không cần có tham số. Vì vậy, khi khai báo ta có thể dùng từ khóa void để báo rằng hàm không cần tham số.

Ví dụ 4: Hàm in ra bảng cửu chương 2

void in_cuuchuong2[void]

{

for[int i=1;i

Chủ Đề