Xem mẫu
- 4/3/2015
CHƯƠNG 4
HÀM CON
1
1
- CẤU TRÚC CHƯƠNG TRÌNH
Khai báo thư viện hàm
Khai báo hàm
Khai báo
Khai báo hằng số …
CHƯƠNG TRÌNH C
Cài đặt tất cả những hàm con
Cài đặt hàm đã được khai báo
Gọi thực hiện các hàm theo
Hàm main() yêu cầu của bài toán
2
- KHÁI NIỆM
Hàm là một đoạn chương trình độc lập thực hiện
trọn vẹn một công việc nhất định sau đó trả về
giá trị cho chương trình gọi nó, hay nói cách khác
hàm là sự chia nhỏ của chương trình.
Mục đích sử dụng hàm:
Khi có một công việc giống nhau cần thực hiện ở
nhiều vị trí.
Khi cần chia một chương trình lớn phức tạp thành các
đơn thể nhỏ (hàm con) để chương trình được trong
sáng, dễ hiểu trong việc xử lý, quản lý việc tính toán
và giải quyết vấn đề.
3
3
- Mẫu tổng quát của hàm
TênHàm([ds các tham số]);
Trong đó:
Kiểu dữ liệu trả về của hàm (kết quả của hàm/ đầu
ra), gồm 2 loại
– void: Không trả về giá trị
– float / int / long / char */ kiểu cấu trúc / …
: Trả về giá trị kết quả có kiểu dữ liệu tương
ứng với bài toán (chỉ trả về được 1 giá trị theo
kiểu dữ liệu)
4
- Ví dụ
Tham số
int Tong(int a, int b)
{
int s=a+b;
return s;
}
void main()
{ Gọi hàm
int kq = Tong (12, 3);
Truyền đối số
cout
- TênHàm: Đặt tên theo qui ước sao cho
phản ánh đúng chức năng thực hiện của
hàm
Danh sách các tham số (nếu có): đầu vào
của hàm (trong một số trường hợp có thể
là đầu vào và đầu ra của hàm nếu kết quả
đầu ra có nhiều giá trị - Tham số này gọi là
tham chiếu)
6
- HÀM KHÔNG TRẢ VỀ GIÁ TRỊ
Cài đặt
void TênHàm([danh sách các tham số])
{
Khai báo các biến cục bộ
Các câu lệnh / khối lệnh hay lời gọi đến hàm khác.
}
Gọi hàm
TênHàm(danh sách tên các đối số);
Những phương thức loại này thường rơi vào những
nhóm chức năng: Nhập / xuất dữ liệu , thống
kê, sắp xếp, liệt kê
7
- VÍ DỤ 1
Viết chương trình nhập số nguyên dương n và in ra
màn hình các ước số của n
Phân tích bài toán:
Input: n (Để xác định tham số)
Kiểu dữ liệu: số nguyên dương (int).
Output: In ra các ước số của n (Để xác định kiểu dữ
liệu trả về của hàm)
Xuất ra màn hình Không trả về giá trị
Kiểu dữ liệu của hàm là void .
Xác định tên hàm: Hàm này dùng in ra các ước số
của n nên có thể đặt là LietKeUocSo
void LietKeUocSo(int n); 8
- #include
void LietKeUocSo(int n); Có dấu chấm phẩy
void LietKeUocSo(int n)
Không dấu chấm phẩy
{
for (int i = 1; i
- Kết quả chương trình
10
- HÀM TRẢ VỀ GIÁ TRỊ
Cài đặt
TênHàm([danh sách các tham số])
{
kq;
Khai báo các biến cục bộ
Các câu lệnh / khối lệnh hay lời gọi đến hàm khác.
return kq;
}
Gọi hàm
Tên biến = TênHàm (danh
sách tên các đối số);
Những phương thức này thường rơi vào các nhóm: Tính
tổng, tích, trung bình, đếm, kiểm tra, tìm kiếm
11
- VÍ DỤ 2
Viết chương trình nhập số nguyên dương n và tính tổng
Sn 1 2 3 n ;n 0
Phân tích bài toán:
Input: n (Để xác định tham số)
Kiểu dữ liệu: số nguyên dương (int).
Output: Tổng S (Để xác định kiểu dữ liệu phương thức)
Trả về giá trị của S.
S là tổng các số nguyên dương nên S cũng là số nguyên
dương Kiểu trả về của hàm là int (hoặc long).
Xác định TênHàm: Dùng tính tổng S nên có thể đặt là
TongS
int TongS(int n);
12
- #include
int TongS(int n);
int TongS(int n)
{
int kq = 0;
for (int i = 1; i
- TẦM VỰC CỦA BIẾN
Phạm vi khối
Phạm vi hàm
Phạm vi chương trình
Phạm vi tập tin
14
- PHẠM VI KHỐI
Một khối được giới hạn bởi ngoặc {}.
Biến khai báo trong khối đó có phạm vi
khối, nghĩa là nó chỉ hoạt động trong
khối đó mà thôi. Phạm vi này còn gọi là
cục bộ, và biến đưọc gọi là biến cục
bộ.
15
- PHẠM VI KHỐI (tt)
void main()
{
int i=20;
{
int i=10;
cout
- PHẠM VI HÀM
Biến hoạt động từ đầu đến cuối một hàm,
chỉ có tác dụng trong hàm
void main()
{
int k;
float m;
double x;
//Các lệnh khác
//…
}
17
- PHẠM VI CHƯƠNG TRÌNH
Biến được khai báo bên ngoài int a, b;
các hàm – còn được gọi là void Nhap()
biến toàn cục, có tác dụng cho {
toàn bộ chương trình couta;
Biến toàn cục mặc dù được coutb;
toàn chương trình, nhưng }
không nên khai báo sử dụng void main()
{
nhiều nếu không cần thiết, vì
int c;
nó sẽ gây trở ngại cho quá Nhap();
trình dò tìm lỗi khi debug c=a+b;
chương trình cout
- PHẠM VI TẬP TIN
Biến được khai báo toàn cục và có kèm từ khóa
static
int x = 0;
static int y = 0;
static float z = 0.0;
void main()
{
int i;
//Các lệnh
.
.
}
19
- THAM SỐ LÀ THAM CHIẾU
Tham số làm kết quả đầu ra
Tham số vừa làm đầu vào và đầu ra
Dùng dấu & phía trước tên tham số
khi cài đặt hàm
20
nguon tai.lieu . vn