Tải bản đầy đủ (.ppt) (15 trang)

Bài giảng C - hàm trong C

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.11 MB, 15 trang )





1
1
LẬP TRÌNH C++
LẬP TRÌNH C++
§7. Hàm (function)
§7. Hàm (function)




2
2
I. Khai báo và sử dụng hàm
I. Khai báo và sử dụng hàm
1. Khái niệm
1. Khái niệm

Hàm là một đoạn chương trình độc lập
Hàm là một đoạn chương trình độc lập
thực hiện
thực hiện
trọn vẹn một công việc nhất định
trọn vẹn một công việc nhất định
sau đó trả về
sau đó trả về
giá trị cho chương trình gọi nó, hay nói cách khác
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.
hàm là sự chia nhỏ của chương trình.

Hàm
Hàm
được sử dụng nhằm mục đích:
được sử dụng nhằm mục đích:

Khi có một công việc giống nhau cần thực hiện ở
Khi có một công việc giống nhau cần thực hiện ở
nhiều vị trí.
nhiều vị trí.

Khi cần chia một chương trình lớn phức tạp thành
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
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
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 đề.
tính toán và giải quyết vấn đề.




3
3
2. Khai báo hàm
2. Khai báo hàm
<Kiểu_dữ_liệu_của_hàm> Tên hàm ([các_tham_số]);

<Kiểu_dữ_liệu_của_hàm> Tên hàm ([các_tham_số]);
Ví dụ :
Ví dụ :

Khai báo hàm không định kiểu :
Khai báo hàm không định kiểu :
void Tên_hàm ([danh sách các tham số])
void Tên_hàm ([danh sách các tham số])
{
{
Khai báo các biến cục bộ;
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;
Các câu lệnh / khối lệnh hay lời gọi đến hàm khác;
}
}

Khai báo hàm có định kiểu dữ liệu:
Khai báo hàm có định kiểu dữ liệu:
<Kiểu dữ liệu> Tên_hàm ([danh sách các tham số])
<Kiểu dữ liệu> Tên_hàm ([danh sách các tham số])
{
{
<Kiểu dữ liệu> kq;
<Kiểu dữ liệu> kq;
Khai báo các biến cục bộ;
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;
Các câu lệnh / khối lệnh hay lời gọi đến hàm khác;
return

return
kq;
kq;
}
}




4
4
3. Bài tập :
3. Bài tập :
1. Đọc vào số tự nhiên n, tính n!=1*2*3*…*n
1. Đọc vào số tự nhiên n, tính n!=1*2*3*…*n
2. Đọc vào số thực a và số tự nhiên n, tinh a
2. Đọc vào số thực a và số tự nhiên n, tinh a
n
n
3. Giải hệ phương trình :
3. Giải hệ phương trình :
4. Tính :
4. Tính :
5. Đọc vào 3 số thực a, b, c (a có thể bằng 0)
5. Đọc vào 3 số thực a, b, c (a có thể bằng 0)
Giải phương trình :
Giải phương trình :




=+
=+
222
111
cybxa
cybxa
k
n
k
n
AC &
0
2
=++ cbxax




5
5
II. Tính đệ quy của hàm
II. Tính đệ quy của hàm
1. Khái niệm :
1. Khái niệm :

Ngay trong thân của một hàm có thể có lệnh gọi
Ngay trong thân của một hàm có thể có lệnh gọi
lại ngay chính nó, tính chất này được gọi là tính
lại ngay chính nó, tính chất này được gọi là tính
đệ qui của hàm.

đệ qui của hàm.
2. Bài tập :
2. Bài tập :

Tính n!
Tính n!

Tính a
Tính a
n
n

Tìm UCLN cua 2 số tự nhiên a va b
Tìm UCLN cua 2 số tự nhiên a va b

Tìm số hạng thứ n của dãy Phibonaxi :
Tìm số hạng thứ n của dãy Phibonaxi :
a
a
1
1
=a
=a
2
2
=1;
=1;
a
a
n

n
=a
=a
n-1
n-1
+a
+a
n-2
n-2
với n>2
với n>2
5. Bài toán chuyển tháp (bài toán tháp Hà Nội)
5. Bài toán chuyển tháp (bài toán tháp Hà Nội)




6
6
III. Thạm trị và tham biến
III. Thạm trị và tham biến
Giả sử ta khai báo hàm sau :
Giả sử ta khai báo hàm sau :
void timUCBC(long a,long b, long &s, long &d)
void timUCBC(long a,long b, long &s, long &d)

Thì a và b được gọi là tham trị, s và d được gọi là
Thì a và b được gọi là tham trị, s và d được gọi là
tham biến
tham biến


Tham trị có thể được gọi bằng số hoặc bằng hằng
Tham trị có thể được gọi bằng số hoặc bằng hằng
số, còn tham biến thì bắt buộc phải gọi bằng biến
số, còn tham biến thì bắt buộc phải gọi bằng biến
số
số

Khi ra khỏi hàm, giá trị của tham biến ở hàm thế
Khi ra khỏi hàm, giá trị của tham biến ở hàm thế
nào thì ở chương trình chính cũng thế, con tham
nào thì ở chương trình chính cũng thế, con tham
trị khi ra khỏi hàm nó lại trở về giá trị ban đầu mặt
trị khi ra khỏi hàm nó lại trở về giá trị ban đầu mặt
dù trong hàm nó có thể bị thay đổi.
dù trong hàm nó có thể bị thay đổi.

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×