Professional Documents
Culture Documents
Nội dung
Design by Minh An
1
1. Khái niệm hàm
Dữ liệu
Dữ liệu
Hàm main()
Hàm main()
(Mã lệnh)
Hàm_1() … Hàm_n()
Design by Minh An
Design by Minh An
2
2. Cấu trúc của hàm
• (các đối của hàm) xuất hiện trong cặp dấu ngoặc
() biểu diễn cho dữ liệu vào/ra của hàm.
Design by Minh An
Design by Minh An
3
Vị trí định nghĩa hàm trong chương trình (tt)
• Khai báo và định nghĩa các hàm trước hàm main().
Design by Minh An
int binh_phuong(int a) {
int t;
t = a * a;
return t;
}
✓ Hàm không định kiểu: Hàm không có giá trị trả về.
Design by Minh An
4
Phân loại hàm
• Theo đối của hàm
✓ Hàm có đối:
void thong_bao() {
printf("Bai tiep theo la CTDK");
}
Design by Minh An
Design by Minh An
5
Xây dựng hàm – Ví dụ
1. Định nghĩa hàm hiển thị ra màn hình bài thơ Cảnh
khuya.
2. Định nghĩa hàm nhận vào độ dài 3 cạnh của một tam
giác, tính và trả về giá trị diện tích của tam giác đó.
3. Định nghĩa hàm nhận vào 1 ký tự, trả về mã ascii của
ký tự đó.
4. Định nghĩa hàm nhận vào 3 số thực, tìm và trả về số
lớn nhất.
5. Định nghĩa hàm thực hiện yêu cầu: nhập vào độ dài
các cạnh của một hình hộp chữ nhật, tính và hiển thị
ra màn hình diện tích xung quanh và thể tích của
hình hộp chữ nhật đó.
Design by Minh An
6. Sử dụng hàm
• Lời gọi hàm:
<Tên_hàm> <([Danh sách tham số])>
• Chú ý
✓ Cặp dấu ngoặc () là bắt buộc theo sau tên hàm.
✓ Số lượng tham số phải bằng số lượng đối của hàm.
✓ Kiểu của các tham số phải tương ứng với các đối.
✓ Nếu hàm có giá trị trả về thì lời gọi hàm được sử dụng như
một biểu thức.
✓ Nếu hàm không có giá trị trả về thì lời gọi hàm là một lệnh,
chỉ thị.
• Ví dụ:
ngam_tho();
s = dien_tich(4, 5, 3);
Design by Minh An
6
7. Truyền tham số cho hàm
Design by Minh An
• Các tham số được truyền đến hàm thông qua các đối,
giá trị của tham số được gán cho các đối tương ứng.
• Các thao tác bên trong hàm chỉ được thực hiện trên
các đối.
• Giá trị chứa trong các tham số (các biến) được truyền
đến hàm không bị thay đổi.
Design by Minh An
7
Truyền tham trị (tt)
Design by Minh An
• Các đối của hàm tham chiếu đến địa chỉ của các
tham số (biến) truyền vào hàm.
• Các thao tác bên trong hàm được thực hiện trực tiếp
trên các biến được truyền đến hàm.
• Giá trị của các biến được truyền đến hàm có thể bị
thay đổi (thường sẽ thay đổi).
Design by Minh An
8
Truyền tham chiếu với C
Design by Minh An
Design by Minh An
9
8. Phạm vi của các loại biến
• Biến cục bộ
✓ Được khai báo bên trong một hàm
✓ Được tạo ra tại điểm vào của một hàm và bị hủy tại
điểm ra khỏi hàm đó.
• Các đối số của hàm
✓ Được khai báo trong định nghĩa hàm như là các biến.
✓ Hoạt động như một biến cục bộ bên trong một hàm.
• Biến toàn cục
✓ Được khai báo bên ngoài tất cả các hàm.
✓ Lưu các giá trị tồn tại suốt thời gian thực thi của
chương trình.
Design by Minh An
Design by Minh An
10
Bài tập
Bài tập
Design by Minh An
11