Bài giảng Nhập môn lập trình C: Chương 6 - Trần Thị Kim Chi
lượt xem 14
download
Bài giảng "Nhập môn lập trình C - Chương 6: Hàm" cung cấp cho người học các kiến thức: Khái niệm và cú pháp, tầm vực, tham số và lời gọi hàm, đệ quy. Đây là một tài liệu hữu ích dành cho các bạn sinh viên và những ai quan tâm dùng làm tài liệu học tập và nghiên cứu.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Nhập môn lập trình C: Chương 6 - Trần Thị Kim Chi
- && VC VC BB BB Nội dung 1 Khái niệm và cú pháp 2 Tầm vực 3 Tham số và lời gọi hàm 4 Đệ quy NMLT Hàm (Function) 1
- && VC VC BB BB Đặt vấn đề Viết chương trình tính S = a! + b! + c! với a, b, c là 3 số nguyên dương nhập từ bàn phím. Chương Chươngtrình trình chính chính Nhập Nhập Tính Tính Xuất Xuất a, a,b, b,cc>>00 SS==a! a!++b! b!++c!c! kết kếtquả quảSS Nhập Nhập Nhập Nhập Nhập Nhập Tính Tính Tính Tính Tính Tính aa>>00 bb>>00 cc>>00 s1=a! s1=a! s2=b! s2=b! s3=c! s3=c! NMLT Hàm (Function) 2
- && VC VC BB BB Đặt vấn đề 3 đoạn lệnh nhập a, b, c > 0 do { printf(“Nhap mot so nguyen duong: ”); scanf(“%d”,&a); } while (a
- && VC VC BB BB Đặt vấn đề 3 đoạn lệnh tính s1 = a!, s2 = b!, s3 = c! { Tính s1 = a! = 1 * 2 * … * a } s1 = 1; for (i = 2; i
- && VC VC BB BB Đặt vấn đề Giải pháp => Viết 1 lần và sử dụng nhiều lần Đoạn lệnh nhập tổng quát, với n = a, b, c do { printf(“Nhap mot so nguyen duong: ”); scanf(“%d”,&n); } while (n
- && VC VC BB BB Hàm Khái niệm Một đoạn chương trình có tên, đầu vào và đầu ra. Có chức năng giải quyết một số vấn đề chuyên biệt cho chương trình chính. Được gọi nhiều lần với các tham số khác nhau. Được sử dụng khi có nhu cầu: • Tái sử dụng. • Sửa lỗi và cải tiến. NMLT Hàm (Function) 6
- && VC VC BB BB Hàm Các đặc trưng của Hàm Nằm trong hoặc ngoài văn bản có chương trình gọi đến hàm. Một văn bản có thể chứa nhiều hàm. Được gọi từ chương trình chính (main), từ hàm khác hoặc từ chính nó (đệ quy). Không lồng nhau. Có 3 cách truyền giá trị: Truyền theo tham trị, tham biến và tham trỏ. Các biến cục bộ trong hàm được tạo ra khi hàm được gọi và biến mất khi hàm thực thi xong. NMLT Hàm (Function) 7
- && VC VC BB BB Hàm NMLT Hàm (Function) 8
- && VC VC BB BB Hàm Có 2 loại hàm trong NNLT “C/C++”: Hàm thư viện (library functions): Do chương trình dịch “C/C++” cung cấp. Để sử dụng các hàm này trong chương trình, đầu chương trình phải chứa các khai báo và định nghĩa hằng, biến, hàm nguyên mẫu, . . . bằng các chỉ thị tiền xử lý #include . Ví dụ: #include #include Hàm tự tạo: Do người sử dụng định nghĩa thêm các hàm khác phục vụ cho nhu cầu lập trình của mình. NMLT Hàm (Function) 9
- && VC VC BB BB Hàm Cú pháp ([danh sách tham số]) { [return ;] } Trong đó • : kiểu bất kỳ của C (char, int, long, float,…). Nếu không trả về thì là void. • : theo quy tắc đặt tên định danh. • : tham số hình thức đầu vào giống khai báo biến, cách nhau bằng dấu , • : trả về cho hàm qua lệnh return. NMLT Hàm (Function) 10
- && VC VC BB BB Các bước viết hàm Cần xác định các thông tin sau đây: Tên hàm. Hàm sẽ thực hiện công việc gì. Các đầu vào (nếu có). Đầu ra (nếu có). Đầu vào 1 Tên Tênhàm hàm Đầu vào 2 Đầu ra (nếu có) Các công việc Đầu vào n sẽ thực hiện NMLT Hàm (Function) 11
- && VC VC BB BB Hàm Ví dụ 1 Tên hàm: XuatTong Công việc: tính và xuất tổng 2 số nguyên Đầu vào: hai số nguyên x và y Đầu ra: không có void XuatTong(int x, int y) { int s; s = x + y; printf(“%d+%dy=%dx“,x,y,s); } NMLT Hàm (Function) 12
- && VC VC BB BB Hàm Ví dụ 2 Tên hàm: TinhTong Công việc: tính và trả về tổng 2 số nguyên Đầu vào: hai số nguyên x và y Đầu ra: một số nguyên có giá trị x + y int TinhTong(int x, int y) { int s; s = x + y; return s; } NMLT Hàm (Function) 13
- && VC VC BB BB Chương trình con Function Ví dụ 3 Tên hàm: NhapXuatTong Công việc: nhập và xuất tổng 2 số nguyên Đầu vào: không có Đầu ra: không có void NhapXuatTong() { int x, y; printf(“Nhap 2 so nguyen: ”); scanf(“%d%d”,&x,&y); printf(“%d+%dy=%dx“,x,y,x+y); } NMLT Hàm (Function) 14
- && VC VC BB BB Tầm vực Khái niệm Là phạm vi hoạt động của biến và hàm. Biến: • Toàn cục: khai báo ngoài tất cả các hàm (kể cả hàm main) và có tác dụng lên toàn bộ chương trình. • Cục bộ: khai báo trong hàm hoặc khối { } và chỉ có tác dụng trong bản thân hàm hoặc khối đó (kể cả khối con nó). Biến cục bộ sẽ bị xóa khỏi bộ nhớ khi kết thúc khối khai báo nó. NMLT Hàm (Function) 15
- && VC VC BB BB Tầm vực int a; int Ham1() { int a1; } int Ham2() { int a2; { int a21; } } void main() { int a3; } NMLT Hàm (Function) 16
- && VC VC BB BB Hàm nguyên mẫu (function prototype) Hàm nguyên mẫu: Được dùng để cung cấp thông tin cho chương trình dịch về tên hàm, kiểu giá trị trả về, số lượng, thứ tự và kiểu của các tham số của hàm. Chương trình dịch căn cứ vào các thông tin này để kiểm tra các lời gọi hàm trong chương trình. Hàm nguyên mẫu được đặt sau phần khai báo toàn cục và ngay trước hàm main() hoặc có thể đặt trong tập tin khác. Khai báo: [] ([]) ; Ví dụ: Khai báo hàm nguyên mẫu có chức năng xác định trị min giữa 2 số nguyên. int Min(int, int) ; 17 int Min(int a, int b) ; // nên dùng cách khai báo này
- && VC VC BB BB Tổ chức một chương trình “C/C++” Cách 1: chương trình gồm 3 phần PHẦN KHAI BÁO TOÀN CỤC PHẦN KHAI BÁO VÀ ĐỊNH NGHĨA HÀM HÀM main() Cách 2: chương trình gồm 4 phần (nên dùng cách này) PHẦN KHAI BÁO TOÀN CỤC PHẦN KHAI BÁO HÀM NGUYÊN MẪU HÀM main() PHẦN ĐỊNH NGHĨA HÀM 18
- && VC VC BB BB Tổ chức một chương trình “C/C++” Ví dụ: cách 1 Ví dụ: Cách 2 #include #include int min(int a, int b); int min(int a, int b) //prototype { if (a
- && VC VC BB BB Các phương pháp truyền tham số Có hai loại tham số: Tham số thực (actual parameter):là tham số trong lời gọi hàm. Tham số hình thức (formal parameter): là tham số trong phần khai báo và định nghĩa. Tham số hình thức chỉ là tên đại diện cho tham số thực tương ứng. Kiểu của tham số hình thức sẽ qui định kiểu của tham số thực. 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Nhập môn lập trình - Chương 1: Các khái niệm cơ bản về lập trình
20 p | 114 | 8
-
Bài giảng Nhập môn lập trình - Bài 2: Giới thiệu ngôn ngữ lập trình C
18 p | 111 | 5
-
Bài giảng Nhập môn lập trình: Chương 2 - ThS. Cáp Phạm Đình Thăng
18 p | 68 | 4
-
Bài giảng Nhập môn lập trình - Bài 1: Các khái niệm cơ bản về lập trình
21 p | 129 | 4
-
Bài giảng Nhập môn lập trình - Bài 5: Câu lệnh lặp
49 p | 101 | 4
-
Bài giảng Nhập môn lập trình: Bài 3 - Trần Duy Thanh
16 p | 99 | 3
-
Bài giảng Nhập môn lập trình: Bài 2 - TS. Ngô Hữu Dũng
53 p | 64 | 3
-
Bài giảng Nhập môn lập trình: Bài 1 - TS. Ngô Hữu Dũng
47 p | 80 | 3
-
Bài giảng Nhập môn lập trình: Tổng quan về ngôn ngữ lập trình C - Nguyễn Đình Hưng
14 p | 103 | 3
-
Bài giảng Nhập môn lập trình: Chương giới thiệu - ThS. Nguyễn Đông Hà
9 p | 79 | 3
-
Bài giảng Nhập môn lập trình: Sử dụng những kiểu dữ liệu cơ sở trong chương trình - Trường ĐH Khoa học tự nhiên TP. HCM
53 p | 1 | 1
-
Bài giảng Nhập môn lập trình: Giới thiệu về các cấu trúc điều khiển - Trường ĐH Khoa học tự nhiên TP. HCM
58 p | 6 | 1
-
Bài giảng Nhập môn lập trình: Dữ liệu mạng và dữ liệu có cấu trúc - Trường ĐH Khoa học tự nhiên TP. HCM
37 p | 0 | 0
-
Bài giảng Nhập môn lập trình: Kỹ thuật cài đặt các thuật toán cơ bản - Trường ĐH Khoa học tự nhiên TP. HCM
37 p | 2 | 0
-
Bài giảng Nhập môn lập trình: Giới thiệu về thuật toán - Trường ĐH Khoa học tự nhiên TP. HCM
29 p | 0 | 0
-
Bài giảng Nhập môn lập trình: Hàm và kỹ thuật tổ chức chương trình - Trường ĐH Khoa học tự nhiên TP. HCM
86 p | 2 | 0
-
Bài giảng Nhập môn lập trình: Giới thiệu tổng quan về lập trình - Trường ĐH Khoa học tự nhiên TP. HCM
31 p | 2 | 0
-
Bài giảng Nhập môn lập trình: Lập trình với tập tin văn bản thô - Trường ĐH Khoa học tự nhiên TP. HCM
38 p | 8 | 0
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn