Thông tin tài liệu:
Mời các bạn cùng tìm hiểu khai báo và sử dụng hàm; phạm vi biến; nguyên mẫu hàm được trình bày cụ thể trong "Bài giảng Tin học đại cương Phần 2: Bài 5" do Nguyễn Hữu Nam Dương biên soạn.
Nội dung trích xuất từ tài liệu:
Bài giảng Tin học đại cương Phần 2: Bài 5 - Nguyễn Hữu Nam Dương
TIN HỌC ĐẠI CƯƠNG
PHẦN 2: LẬP TRÌNH BẰNG NGÔN NGỮ C
BÀI 5: HÀM (FUNCTION)
Nguyễn Hữu Nam Dương
Email: duongnnhn-
duongnnhn-fit@mail.hut.edu.vn 1
BÀI 5: HÀM (FUNTION)
5.1. Giới thiệu về hàm (function)
5.2. Khai báo và sử dụng hàm
5.3. Phạm vi biến
5.4. Nguyên mẫu hàm
2
1
5.1. Giới thiệu về hàm
Một trong những tư tưởng chính của lập
trình cấu trú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ỏ.
Viết thành hàm (function) để khi cần chỉ cần
gọi ra chứ không phải viết lại toàn bộ.
Ví dụ:
Các hàm toán học: sin(x), pow(x,y), sqrt(x),...
sqrt(x),...
Các hàm do người dùng viết ra.
3
Giới thiệu về hàm(tiếp)
Đầu vào của hàm:
Các tham số
Hàm có thể có nhận vào các tham số đầu
vào hoặc không.
Đầu ra của hàm:
Giá trị của hàm
Sự thay đổi giá trị của các tham số.
Hàm có thể trả về giá trị hoặc không trả về
giá trị
4
2
BÀI 5: HÀM
5.1. Giới thiệu về hàm (function)
5.2. Khai báo và sử dụng hàm
5.3. Phạm vi biến
5.4. Nguyên mẫu hàm
5
5.2.1. Khai báo hàm (tiếp)
Tên hàm
Có thể là bất kì một định danh hợp
lệ nào.
Thường mang nghĩa gợi ý chức
năng công việc mà hàm thực hiện.
Các hàm không được đặt tên trùng
nhau.
6
3
5.2.1. Khai báo hàm (tiếp)
Kiểu dữ liệu trả về của hàm:
Kiểu dữ liệu của giá trị tính toán mà
hàm trả về sau khi thực hiện.
Hàm có thể có giá trị trả về hoặc không
có giá trị trả về.
Nếu có giá trị trả về, trong thân hàm có ít
nhất một lệnh return
return..
Nếu không có giá trị trả về cần khai báo
cho hàm đó có kiểu trả về là void
void..
7
5.2.1. Khai báo hàm (tiếp)
Tham số của hàm
hàm::
Tham số chứa dữ liệu vào cung cấp
cho hàm
hàm.. (đầu
(đầu vào
vào))
Tham số chứa dữ liệu ra mà hàm
tính toán được
được..
Một hàm có thể không có tham số
số,,
hoặc có nhiều tham số số..
8
4
5.2.1. Khai báo hàm
Cách khai báo và sử dụng
Cách 1:
Khai báo hàm
Viết mã lệnh hoàn chỉnh cho hàm.
Sử dụng hàm.
9
5.2.1. Khai báo hàm
Cách 2:
Khai báo hàm nguyên mẫu
Sử dụng các hàm đã khai báo
Viết mã lệnh hoàn chỉnh cho các
hàm nguyên mẫu đã khai báo.
10
5
5.2.1. Khai báo hàm
Cách 1:
Cú pháp:
kieu_gia_tri_tra_ve
ten_ham(danh_sach_tham_so)
{
//Than ham` bao gồm:
//Các khai bao biến
...
//Các câu lệnh
}
11
5.2.1. Khai báo hàm (tiếp)
Ví dụ:
int giai_thua(int a) Dong dau ham
{
int ket_qua; Cac khai bao
int i;
ket_qua = 1;
for(i = 1;i Ví dụ
#include
#include
int max(int x, int y, int z)
{
int max1;
max1 = x>y?x:y;
max1 = max1>z?max1:z;
return max1;// max(x,y,z) = max1;
}
13
void main()
{
int a,b,c
a,b,c;; clrscr
clrscr();
();
printf(
printf (\
\n Nhap gia tri cho 3 so nguyen a,
b, c: );
scanf(%d
scanf (%d %d %d,&a,&b,&c
%d,&a,&b,&c);
);
printf(
printf (\
\n Gia tri cac so vua nhap
nhap:: );
printf(
printf ( a = %-
%-5d b = %-
%-5d c = %-
%-5d);
printf(\
printf( \n Gia tri lon nhat trong 3 so la
%d,max
d,max((a,b,c
a,b,c));
));
getch();
getch ();
}
14
7
5.2.1. Khai báo hàm (tiếp)
Lệnh return
Cú pháp:
return bieu_thuc;
Khi gặp lệnh này, chương trình sẽ tính toán
giá trị của bieu_thuc
bieu_thuc,, 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ó.
Nếu thiếu bieu_thuc Kết thúc việc thực
hiện hàm mà không trả về giá trị nào cả.
15
5.2.2. Sử dụng hàm
Sử dụng hàm hay gọi hàm Cú pháp:
Ten_ham([danh_sach_tham_so])
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ố hình thức và
tham số thực phải giống nhau.
16
8
Quá trình thực hiện một hàm
Khi 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.
ứ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 ...