Khai báo nguyên mẫu (prototype) cho hàm

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

Khi một hàm gọi đến một hàm khác trong chương trình thì hàm được gọi đã phải được biết đến từ trước trong chương trình. Một hàm được coi là đã "biết đến" khi nó đã khai báo đầy đủ hoặc có khai báo nguyên mẫu (prototype) của nó. Một khai báo ngun mẫu cho hàm thì chỉ có phần tiêu đề hàm mà khơng có thân hàm. Trong ngun mẫu của hàm cần chỉ ra được tên hàm, kiểu dữ liệu của các tham số truyền vào và kết quả trả về. Dưới đây là khai báo nguyên mẫu của các hàm ở ví dụ trên.

int max(int, int); /* một khai báo nguyên mẫu hàm phải có ; kết thúc */ void squares();

Trong một chương trình để giúp người đọc nhanh chóng nắm bắt cấu trúc của nó thì phần đầu của chương trình thường có khai báo nguyên mẫu của các hàm trong chương trình. Các khai báo hàm đầy đủ có thân hàm thường được viết phần sau của chương trình vì người đọc ít khi quan tâm đến nội dung chi tiết của từng hàm.

Chương trình mẫu (nguyenmau.c): Một chương trình tính max hai số có sử dụng khai báo

nguyên mẫu hàm. #include <stdio.h>

/* khai báo prototype cho các hàm của chương trình */ int max(int, int);

float fmax(float, float); void main()

{

int a, b; float fa, fb;

printf("Nhap hai so nguyen: "); scanf("%d%d", &a, &b);

printf("Gia tri lon nhat la %d\n", max(a, b)); printf("Nhap hai so thuc: ");

scanf("%f%f", &fa, &fb);

printf("Gia tri lon nhat la %f\n", fmax(fa, fb)); }

/* khai báo hàm đầy đủ */ int max(int a, int b) {

return a > b ? a: b; }

float fmax(float fa, float fb) {

return fa > fb ? fa: fb; }

BÀI TẬP

Câu 1: Viết hàm cho phép tính diện tích của các hình vng, hình trịn, hình thang trong một

chương trình. Tạo một menu chương trình để người sử dụng lựa chọn một phương án tính diện tích theo cách thức sau.

1. Tính diện tích hình vng 2. Tính diện tích hình trịn 3. Tính diện tích hình thang Hãy ấn một số để chọn:

Câu 2: Tạo các hàm cho giải và biện luận phương trình bậc nhất và bậc hai. Hàm giải phương

trình bậc hai sẽ gọi hàm phương trình bậc nhất khi hệ số a của phương trình bằng 0. Viết chương trình cho phép người sử dụng lựa chọn các công việc như sau.

1. Giải và biện luận phương trình bậc nhất 2. Giải và biện luận phương trình bậc hai Hãy ấn một số để chọn:

Câu 3: Viết chương trình theo hàm để tìm ước số chung lớn nhất và bội số chung nhỏ nhất của

hai số nguyên.

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