Buổi 5: Hàm và chương trình<br />
Giảng viên: TS. Lê Hoàng Sơn<br />
lehoangson@hus.edu.vn<br />
<br />
Lập trình tính toán khoa học kỹ thuật<br />
<br />
1<br />
<br />
Nội dung chính<br />
<br />
1<br />
<br />
Hàm & chương trình con<br />
<br />
2<br />
<br />
Bài tập<br />
<br />
2/20<br />
<br />
Lê Hoàng Sơn<br />
<br />
1. Hàm<br />
Là một đoạn chương trình độc lập thực hiện trọn vẹn<br />
một công việc rồi trả về một giá trị cho chương trình đã<br />
gọi nó.<br />
Hỗ trợ cho chương trình chính nhằm thực hiện một số<br />
thao tác cụ thể.<br />
Một chương trình C bao gồm một hoặc nhiều hàm.<br />
Hàm main() là thành phần bắt buộc của chương trình<br />
Đặc điểm của hàm:<br />
<br />
<br />
<br />
Là một đơn vị độc lập của chương trình.<br />
Không cho phép xây dựng một hàm bên trong một hàm khác.<br />
3/20<br />
<br />
Lê Hoàng Sơn<br />
<br />
Cú pháp Hàm<br />
<br />
<br />
Kiểu dữ liệu (KiểuDL): Giá trị trả<br />
về của hàm được xác định dựa<br />
vào mục đích của hàm. VD: int,<br />
float, double, void<br />
<br />
<br />
<br />
Tên hàm (hàmA): theo quy ước<br />
đặt tên biến<br />
<br />
<br />
<br />
Tham số: danh sách các giá trị<br />
đầu vào (tham trị) và đầu ra<br />
(tham biến) của hàm<br />
<br />
<br />
<br />
Danh sách biến: là các biến chỉ<br />
sử dụng trong từng hàm con<br />
<br />
<br />
<br />
Gọi hàm trong main() bằng tên<br />
hàm và tham số<br />
4/20<br />
<br />
KiểuDL: hàmA (tham số)<br />
{<br />
danh sách biến;<br />
các lệnh;<br />
return KiểuDL;<br />
}<br />
int main() {<br />
hàmA();<br />
…<br />
}<br />
Lê Hoàng Sơn<br />
<br />
Ví dụ: Tính lũy thừa m của x<br />
# include <br />
# include <br />
# include <br />
double luy_thua(int x, int m) {<br />
Định nghĩa hàm<br />
double ket_qua;<br />
ket_qua = pow(x,m);<br />
return ket_qua;<br />
Trả về lũy thừa m của x<br />
}<br />
int main() {<br />
int a, n;<br />
printf("\n Nhap vao a va so mu n:");<br />
scanf("%d%d", &a,&n);<br />
printf("\n Luy thua a^n = %5.3f",luy_thua(a,n));<br />
Gọi hàm<br />
getch();<br />
return 0;<br />
}<br />
5/20<br />
<br />
Lê Hoàng Sơn<br />
<br />