SlideShare a Scribd company logo
1
Khoa Công Nghệ Thông Tin & Truyền Thông
Đại Học Cần Thơ
HÀMHÀM
CHƯƠNG 4:CHƯƠNG 4:
(FUNCTION)(FUNCTION)
2
HàmHàm
 Mục tiêu
Mô tả cách khai báo, định nghĩa, và gọi hàm
 Nội dung
Khai báo hàm, định nghĩa hàm
Tham số, đối số, phạm vi
Biến tự động, biến thanh ghi, biến nội tuyến
Đối số mặc định, đối số hàng lệnh
Chương 4
3
Hàm Là Gì?Hàm Là Gì?
 Một phương thức để đóng gói quá trình
tính toán  dễ dàng sử dụng
 Định nghĩa hàm
Khai báo hàm
 Tên hàm
 Các tham số của hàm
 Kiểu trả về của hàm
 Một phương thức để đóng gói quá trình
tính toán  dễ dàng sử dụng
 Định nghĩa hàm
Khai báo hàm
 Tên hàm
 Các tham số của hàm
 Kiểu trả về của hàm
Định nghĩa hàm
 Các lệnh
 Sử dụng hàm
Gọi hàm
 Tên hàm
 ( )
 Các đối số
Nhận kết quả trả
về của hàm
Chương 4
4
Ví Dụ Về HàmVí Dụ Về Hàm
1
2
3
4
5
6
7
8
9
10
11
12
int Power(int base, unsigned int exponent)
{
int result = 1;
for (int i = 0; i < exponent; ++i)
result *= base;
return result;
}
main (void)
{
cout << "2 ^ 8 = "<< Power(2,8)<< 'n';
}
Tên hàm Các tham số
Khai báo hàm
Định nghĩa hàm
Định nghĩa hàm
Các đối số
Chương 4
5
Phạm Vi Toàn Cục – Cục BộPhạm Vi Toàn Cục – Cục Bộ
 Phạm vi toàn cục
 Được định nghĩa ở
phạm vi chương
trình
 Phạm vi cục bộ
 Được định nghĩa ở
phạm vi khối hay
hàm
 Toán tử phạm vi
 ::
int xyz = 1; // xyz là toàn cục
void Foo (int xyz) // xyz là cục bộ cho thân của Foo
{
if (xyz > 0) {
double xyz =2; // xyz là cục bộ cho khối này
cout <<xyz;
}
else {
cout<< ::xyz;
}
}
Chương 4
6
Biến Tự Động – Thanh GhiBiến Tự Động – Thanh Ghi
 Biến tự động
 được xác định hoàn toàn tự động
 Ví dụ: int auto sum;
 Biến thanh ghi
 được lưu trữ trong thanh ghi để tăng hiệu xuất của
chương trình
 Ví dụ:
for (register int i = 0; i < n; ++i)
sum += i;
Chương 4
7
Hàm Nội Tuyến – Đệ QuiHàm Nội Tuyến – Đệ Qui
 Sử dụng hàm
Thuận lợi: chương trình dễ đọc, tăng khả năng
sử dụng lại, tránh các hiệu ứng phụ
Bất lợi: tốn chi phí cho việc gọi hàm
Giải pháp: định nghĩa hàm là nội tuyến (inline)
 Đệ qui
Một hàm gọi chính nó
inline int Abs (int n)
{
return n > 0 ? n : -n;
}
int Factorial (unsigned int n)
{
return n == 0 ? 1 : n * Factorial(n-1);
}
Chương 4
8
Đối Số Mặc Định - Hàng LệnhĐối Số Mặc Định - Hàng Lệnh
 Đối số mặc định
bỏ bớt đi gánh nặng phải chỉ định các giá trị
của đối số cho tất cả các tham số hàm
 Đối số hàng lệnh
Có thể nhận không hay nhiều đối số từ hàng
lệnh
 được tạo ra sẵn cho một chương trình C++ thông
qua hàm main
 Ví dụ: int main (int argc, const char* argv[]);
Chương 4

More Related Content

PPT
Lap trinh huong_doi_tuong_cpp_dhct_lesson04
PPT
Lesson04
PDF
Hàm can bản
PPT
3 Function
PPT
Lap trinh huong_doi_tuong_cpp_dhct_lesson08
PPT
Phan2 chuong5 ctrinhcon
PPT
Nmlt C03 Cac Kieu Du Lieu Co So
PDF
lap trinh c Phan2 chuong5
Lap trinh huong_doi_tuong_cpp_dhct_lesson04
Lesson04
Hàm can bản
3 Function
Lap trinh huong_doi_tuong_cpp_dhct_lesson08
Phan2 chuong5 ctrinhcon
Nmlt C03 Cac Kieu Du Lieu Co So
lap trinh c Phan2 chuong5

What's hot (14)

PPT
Session 13
PPT
Lesson05
PDF
Chuong 04 ham
PDF
Bài Giảng Ngôn Ngữ Lập Trình CC++ - Con Trỏ Và Số Học Địa Chỉ
PDF
Ctdl lab01
PPT
Nmlt C06 Ham
PPT
Session 15
PDF
Phần 12: Hàm (Nâng cao)
PPT
Nmlt c06 ham
PDF
LAP TRINH C - SESSION 2
PPTX
Slide pointer sepro
PDF
Nmlt c06 ham_in
PPT
Nmlt c11 con_trocoban-
PDF
Phần 6: Hàm
Session 13
Lesson05
Chuong 04 ham
Bài Giảng Ngôn Ngữ Lập Trình CC++ - Con Trỏ Và Số Học Địa Chỉ
Ctdl lab01
Nmlt C06 Ham
Session 15
Phần 12: Hàm (Nâng cao)
Nmlt c06 ham
LAP TRINH C - SESSION 2
Slide pointer sepro
Nmlt c06 ham_in
Nmlt c11 con_trocoban-
Phần 6: Hàm
Ad

Viewers also liked (16)

PPTX
Colonies russy 2014
PPT
Colonies russy
PPT
Lesson01
PPT
Lesson03
PPT
Lesson00
PPTX
Empathize&define
PPT
Lesson02
DOC
La porta di dor
PPTX
Spectrum Financial Services: Things You Should Know About Us and FAQ
PPTX
Tour on monsoon
PPT
Lesson05
PPT
Petits instants de vida
PPTX
UNO (Unlimited Network of Opportunities International Corporation) KSA(Kingdo...
PPTX
PPTX
UNO 10 WAYS TO EARN Philippines Plan (Unlimited Network of Opportunities Inte...
PDF
Vince La Barbera PP 123014
Colonies russy 2014
Colonies russy
Lesson01
Lesson03
Lesson00
Empathize&define
Lesson02
La porta di dor
Spectrum Financial Services: Things You Should Know About Us and FAQ
Tour on monsoon
Lesson05
Petits instants de vida
UNO (Unlimited Network of Opportunities International Corporation) KSA(Kingdo...
UNO 10 WAYS TO EARN Philippines Plan (Unlimited Network of Opportunities Inte...
Vince La Barbera PP 123014
Ad

Similar to Lesson04 (20)

PDF
Chuong_4_HAM CONsadasdkjkasjkdjaksdjkalsjkdjaskjd
PPTX
Hàm(Funtion),khái niệm, cú pháp, lợi ích, ví dụ
PDF
lap-trinh-c_nguyen-thanh-tung_chapter08_ham_-_cuuduongthancong.com.pdf
PDF
Hàm và nạp chồng hàm
PPT
PDF
HÀM_NoCoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapy.pdf
PPT
Chapter03 function
PDF
C3 functions and_library
PDF
C3 functions and_library
PDF
Hàm và Chuỗi
PPTX
Project - Ham - Chuong trinh con trong C++.pptx
PDF
cpp chương 2 cấu trúc dữ liệu và giải thuật
PPT
Session 15
PDF
Lec3. Ham.pdf
PDF
Lect04 functions
PPTX
lap trinh huong doi tuong lap trinh huong doi tuonglap trinh huong doi tuongl...
PDF
Lap trinh huong doi tuong voi c++ smith.n studio
 
DOC
Chuong 2
PDF
LTNC_Chuong1-Kieu du lieu va cac cau truc.pdf
PDF
Nmlt c15 ham_nangcao_phan1_in
Chuong_4_HAM CONsadasdkjkasjkdjaksdjkalsjkdjaskjd
Hàm(Funtion),khái niệm, cú pháp, lợi ích, ví dụ
lap-trinh-c_nguyen-thanh-tung_chapter08_ham_-_cuuduongthancong.com.pdf
Hàm và nạp chồng hàm
HÀM_NoCoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapy.pdf
Chapter03 function
C3 functions and_library
C3 functions and_library
Hàm và Chuỗi
Project - Ham - Chuong trinh con trong C++.pptx
cpp chương 2 cấu trúc dữ liệu và giải thuật
Session 15
Lec3. Ham.pdf
Lect04 functions
lap trinh huong doi tuong lap trinh huong doi tuonglap trinh huong doi tuongl...
Lap trinh huong doi tuong voi c++ smith.n studio
 
Chuong 2
LTNC_Chuong1-Kieu du lieu va cac cau truc.pdf
Nmlt c15 ham_nangcao_phan1_in

Recently uploaded (20)

PPTX
Phân bố Nhị Thức Chuyên Đề Toán Lớp 12 Chân trời sáng tạo Tập 2
PDF
Public economy và vai trò trong phân bổ nguồn lực, cung cấp hàng hóa công, đi...
PPTX
Flashcard giải pháp đơn giản – trực quan – hiệu quả, giúp học từ vựng theo t...
PDF
BÀI TẬP TEST FOR UNIT TIẾNG ANH LỚP 8 GLOBAL SUCCESS CẢ NĂM THEO TỪNG ĐƠN VỊ ...
PDF
Dao tao va Phat trien NỘI DUNG ÔN THI CHO SINH VIÊN
PDF
BÁO CÁO THỰC TẬP KỸ SƯ 2 ĐỀ TÀI TÌM HIỂU QUY TRÌNH CÔNG NGHỆ SẢN XUẤT BÁNH SN...
PPTX
Chương 1 – Tổng quan về Cơ sở dữ liệu.pptx
PPTX
1 CHƯƠNG MÔT- KHÁI LUẬN VỀ TRIẾT HỌC (1) [Read-Only].pptx
PPTX
CHƯƠNG I excel,,,,,,,,,,,,,,,,,,,,,,,,,,
PPTX
Tốc độ và vận tốc trong chuyển động thẳng
PPT
Bài giảng Cơ sở dữ liệu Table trong Access
PDF
Vision - Language - Model-- - Ebook.pdf
DOCX
6.CQ_KT_Ke toan tai chinh 2_Pham Thi Phuong Thao.docx
DOCX
BÀI TIỂU LUẬN HẾT HỌC PHẦN TỔ CHỨC HOẠT ĐỘNG TRẢI NGHIỆM,HƯỚNG NGHIỆP Ở TRƯỜN...
PDF
12894-44864-1-CE-1037-1038_Văn bản của bài báo.pdf
PPTX
TIẾT 11. BÀI 32 DINH DƯỠNG VÀ TIÊU HÓA Ở NGƯỜI.pptx
DOC
Chương 1 Tính tương đổi của chuyển động.doc
PDF
TeétOrganicChemistryFromVietNamVeryHardd
DOCX
Luận văn group-Bài tiểu luận Ý thức - Giấc mơ.docx
PPTX
17. ĐẠI CƯƠNG GÃY XƯƠNG bệnh học ngoại.pptx
Phân bố Nhị Thức Chuyên Đề Toán Lớp 12 Chân trời sáng tạo Tập 2
Public economy và vai trò trong phân bổ nguồn lực, cung cấp hàng hóa công, đi...
Flashcard giải pháp đơn giản – trực quan – hiệu quả, giúp học từ vựng theo t...
BÀI TẬP TEST FOR UNIT TIẾNG ANH LỚP 8 GLOBAL SUCCESS CẢ NĂM THEO TỪNG ĐƠN VỊ ...
Dao tao va Phat trien NỘI DUNG ÔN THI CHO SINH VIÊN
BÁO CÁO THỰC TẬP KỸ SƯ 2 ĐỀ TÀI TÌM HIỂU QUY TRÌNH CÔNG NGHỆ SẢN XUẤT BÁNH SN...
Chương 1 – Tổng quan về Cơ sở dữ liệu.pptx
1 CHƯƠNG MÔT- KHÁI LUẬN VỀ TRIẾT HỌC (1) [Read-Only].pptx
CHƯƠNG I excel,,,,,,,,,,,,,,,,,,,,,,,,,,
Tốc độ và vận tốc trong chuyển động thẳng
Bài giảng Cơ sở dữ liệu Table trong Access
Vision - Language - Model-- - Ebook.pdf
6.CQ_KT_Ke toan tai chinh 2_Pham Thi Phuong Thao.docx
BÀI TIỂU LUẬN HẾT HỌC PHẦN TỔ CHỨC HOẠT ĐỘNG TRẢI NGHIỆM,HƯỚNG NGHIỆP Ở TRƯỜN...
12894-44864-1-CE-1037-1038_Văn bản của bài báo.pdf
TIẾT 11. BÀI 32 DINH DƯỠNG VÀ TIÊU HÓA Ở NGƯỜI.pptx
Chương 1 Tính tương đổi của chuyển động.doc
TeétOrganicChemistryFromVietNamVeryHardd
Luận văn group-Bài tiểu luận Ý thức - Giấc mơ.docx
17. ĐẠI CƯƠNG GÃY XƯƠNG bệnh học ngoại.pptx

Lesson04

  • 1. 1 Khoa Công Nghệ Thông Tin & Truyền Thông Đại Học Cần Thơ HÀMHÀM CHƯƠNG 4:CHƯƠNG 4: (FUNCTION)(FUNCTION)
  • 2. 2 HàmHàm  Mục tiêu Mô tả cách khai báo, định nghĩa, và gọi hàm  Nội dung Khai báo hàm, định nghĩa hàm Tham số, đối số, phạm vi Biến tự động, biến thanh ghi, biến nội tuyến Đối số mặc định, đối số hàng lệnh Chương 4
  • 3. 3 Hàm Là Gì?Hàm Là Gì?  Một phương thức để đóng gói quá trình tính toán  dễ dàng sử dụng  Định nghĩa hàm Khai báo hàm  Tên hàm  Các tham số của hàm  Kiểu trả về của hàm  Một phương thức để đóng gói quá trình tính toán  dễ dàng sử dụng  Định nghĩa hàm Khai báo hàm  Tên hàm  Các tham số của hàm  Kiểu trả về của hàm Định nghĩa hàm  Các lệnh  Sử dụng hàm Gọi hàm  Tên hàm  ( )  Các đối số Nhận kết quả trả về của hàm Chương 4
  • 4. 4 Ví Dụ Về HàmVí Dụ Về Hàm 1 2 3 4 5 6 7 8 9 10 11 12 int Power(int base, unsigned int exponent) { int result = 1; for (int i = 0; i < exponent; ++i) result *= base; return result; } main (void) { cout << "2 ^ 8 = "<< Power(2,8)<< 'n'; } Tên hàm Các tham số Khai báo hàm Định nghĩa hàm Định nghĩa hàm Các đối số Chương 4
  • 5. 5 Phạm Vi Toàn Cục – Cục BộPhạm Vi Toàn Cục – Cục Bộ  Phạm vi toàn cục  Được định nghĩa ở phạm vi chương trình  Phạm vi cục bộ  Được định nghĩa ở phạm vi khối hay hàm  Toán tử phạm vi  :: int xyz = 1; // xyz là toàn cục void Foo (int xyz) // xyz là cục bộ cho thân của Foo { if (xyz > 0) { double xyz =2; // xyz là cục bộ cho khối này cout <<xyz; } else { cout<< ::xyz; } } Chương 4
  • 6. 6 Biến Tự Động – Thanh GhiBiến Tự Động – Thanh Ghi  Biến tự động  được xác định hoàn toàn tự động  Ví dụ: int auto sum;  Biến thanh ghi  được lưu trữ trong thanh ghi để tăng hiệu xuất của chương trình  Ví dụ: for (register int i = 0; i < n; ++i) sum += i; Chương 4
  • 7. 7 Hàm Nội Tuyến – Đệ QuiHàm Nội Tuyến – Đệ Qui  Sử dụng hàm Thuận lợi: chương trình dễ đọc, tăng khả năng sử dụng lại, tránh các hiệu ứng phụ Bất lợi: tốn chi phí cho việc gọi hàm Giải pháp: định nghĩa hàm là nội tuyến (inline)  Đệ qui Một hàm gọi chính nó inline int Abs (int n) { return n > 0 ? n : -n; } int Factorial (unsigned int n) { return n == 0 ? 1 : n * Factorial(n-1); } Chương 4
  • 8. 8 Đối Số Mặc Định - Hàng LệnhĐối Số Mặc Định - Hàng Lệnh  Đối số mặc định bỏ bớt đi gánh nặng phải chỉ định các giá trị của đối số cho tất cả các tham số hàm  Đối số hàng lệnh Có thể nhận không hay nhiều đối số từ hàng lệnh  được tạo ra sẵn cho một chương trình C++ thông qua hàm main  Ví dụ: int main (int argc, const char* argv[]); Chương 4