
Bài 16 Hàm
M c tiêu:ụ
K t thúc bài h c này, b n có th :ế ọ ạ ể
Đ nh nghĩa và g i hàm ị ọ
S d ng các tham s trong hàm.ử ụ ố
Ph n I – Trong th i gian 1 gi 30 phút đ u:ầ ờ ờ ầ
16.1 Hàm
Nh chúng ta đã bi t, m t hàm là m t kh i các l nh th c hi n m t tác v xác đ nh. Trongư ế ộ ộ ố ệ ự ệ ộ ụ ị
bài này, chúng ta t p trung vào cách t o và s d ng hàm.ậ ạ ử ụ
16.1.1 Đ nh nghĩa hàmị
M t hàm đ c đ nh nghĩa v i m t tên hàm, theo sau b i c p d u ngo c nh n{} bên trongộ ượ ị ớ ộ ở ặ ấ ặ ọ
ch a m t hay nhi u câu l nh. Ví d ,ứ ộ ề ệ ụ
argentina()
{
statement 1;
statement 2;
statement 3;
}
16.1.2 G i m t hàmọ ộ
M t hàm có th đ c g i t ch ng trình chính b ng cách đ a ra tên c a hàm ộ ể ượ ọ ừ ươ ằ ư ủ theo sau theo
sau b i c p d u ngo c () và m t d u ch m ph y. Ví d ,ở ặ ấ ặ ộ ấ ấ ẩ ụ
argentina();
Bây gi , xem ch ng trình hoàn thi n.ờ ươ ệ
1. G i trình so n th o ch ng trình C.ọ ạ ả ươ
2. T o t p tin m i.ạ ậ ớ
3. Đ a vào đo n mã l nh sau:ư ạ ệ
#include<stdio.h>
void main()
{
printf(“\nI am in main”);
italy();
brazil();
argentina();
}
Hàm 231

italy()
{
printf(“\nI am in italy”);
}
brazil()
{
printf(“\nI am in brazil”);
}
argentina()
{
printf(“\nI am in argentina”);
}
Đ xem k t qu , th c hi n các b c sau:ể ế ả ự ệ ướ
4. L u t p tin v i tên functionI.C.ư ậ ớ
5. Biên d ch t p tin, functionI.C.ị ậ
6. Th c thi ch ng trình, functionI.C.ự ươ
7. Tr v trình so n th o.ở ề ạ ả
M t k t qu v k t qu th c thi c a ch ng trình trên đ c ch ra trong hình 16.1.ộ ế ả ề ế ả ự ủ ươ ượ ỉ K t quế ả
c a ch ng trình trên đ c minh h a nh hình 16.1ủ ươ ượ ọ ư
Hình 16.1: K t qu c a functionI.Cế ả ủ
1.2 S d ng các tham s trong hàmử ụ ố
Các tham số đ c s d ng đ ượ ử ụ ể chuy n ểtruy n ềthông tin đ n hàm. Các chu i đ nh d ng vàế ỗ ị ạ
danh sách các bi n đ c đ t bên trong c p d u ngo c () c a hàm là các tham s .ế ượ ặ ặ ấ ặ ủ ố
16.2.1 Đ nh nghĩa m t hàm có tham s ị ộ ố
M t hàm đ c đ nh nghĩa v i m t tên hàm theo sau là d u ngo c m (, sau đó là các thamộ ượ ị ớ ộ ấ ặ ở
s và cu i cùng là d u ngo c đóng ). Bên trong hàm, có th có m t ho c nhi u câu l nh. Víố ố ấ ặ ể ộ ặ ề ệ
d ,ụ
calculatesum (int x, int y, int z)
{
statement 1;
statement 2;
232 L p trình c b n Cậ ơ ả

statement 3;
}
Xem ch ng trình hoàn thi n sau.ươ ệ
1. T o m t t p tin m i.ạ ộ ậ ớ
2. Nh p vào mã l nh sau:ậ ệ
#include<stdio.h>
void main()
{
int a, b, c, sum;
printf(“\nEnter any three numbers: ”);
scanf(“%d %d %d”, &a, &b, &c);
sum = calculatesum(a, b, c);
printf(“\nSum = %d”, sum);
}
calculatesum(int x, int y, int z)
{
int d;
d = x + y + z;
return (d);
}
3. L u t p tin v i tên functionII.C.ư ậ ớ
4. Biên d ch t p tin, functionII.C.ị ậ
5. Th c thi ch ng trình, functionII.C.ự ươ
6. Tr v trình so n th o.ở ề ạ ả
K t qu c a ch ng trình trên đ c minh h a nh hình 16.2ế ả ủ ươ ượ ọ ư
M t ví d c a k t qu th c thi ch ng trình đ c trình bày trong hình 16.2.ộ ụ ủ ế ả ự ươ ượ
Hình 16.2: K t qu ế ả I c a functionII.Củ
Hàm 233

Ph n II – Trong th i gian 30 k ti p:ầ ờ ế ế
1. Vi t m t ch ng trình C nh p vào m t s và tính bình ph ng c a s đó ế ộ ươ ậ ộ ố ươ ủ ố v i s tr giúpớ ự ợ
c aủb ng cách s d ngằ ử ụ hàm.
Đ th c hi n đi u này,ể ự ệ ề
a. Khai báo m t hàm.ộ
b. Nh p vào m t s .ậ ộ ố
c. Truy n s đó đ n hàm và ề ố ế hàm s ẽtr v bình ph ng c a s đó.ả ề ươ ủ ố
234 L p trình c b n Cậ ơ ả

Bài t p t làmậ ự
1. Vi t m t ch ng trình C đ tính di n tích và chu vi hình tròn.ế ộ ươ ể ệ
2. Vi t m t ch ng trình in ra giai th a c a m t s nguyên.ế ộ ươ ừ ủ ộ ố
Hàm 235

