Bài giảng Hệ thống máy tính và ngôn ngữ C: Chương 9 - TS. Nguyễn Phúc Khải
lượt xem 3
download
Bài giảng Hệ thống máy tính và ngôn ngữ C - Chương 9: Hàm, được biên soạn gồm các nội dung chính sau: Khái niệm hàm; Khai báo hàm; Đối số của hàm - đối số là tham trị; Kết quả trả về của hàm - lệnh RETURN; PROTOTYPE của một hàm; Hàm đệ quy. Mời các bạn cùng tham khảo!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Hệ thống máy tính và ngôn ngữ C: Chương 9 - TS. Nguyễn Phúc Khải
- om .c ng co an th o ng du u cu Company LOGO 1 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Các nội dung: Khái niệm hàm om .c Khai báo hàm ng Đối số của hàm - đối số là tham trị co Kết quả trả về của hàm - lệnh RETURN an PROTOTYPE của một hàm th o ng Hàm đệ quy du u cu CuuDuongThanCong.com © TS. Nguyễn Phúc Khải https://fb.com/tailieudientucntt 2
- KHÁI NIỆM HÀM Chương trình con là đoạn chương trình đảm om nhận thực hiện một thao tác nhất định. .c ng Đối với C, chương trình con chỉ ở một dạng là co hàm (function), không có khái niệm thủ tục an th (procedure). o ng du u cu CuuDuongThanCong.com © TS. Nguyễn Phúc Khải https://fb.com/tailieudientucntt 3
- KHÁI NIỆM HÀM Hàm main() là hàm đặc biệt của C, nó là một om hàm mà trong đó các thao tác lệnh (bao gồm .c các biểu thức tính toán, gọi hàm, ...) được C ng co thực hiện theo một trình tự hợp logic để giải an quyết bài toán được đặt ra. th ng Việc sử dụng hàm sẽ làm cho chương trình trở o nên rất dễ quản lý, dễ sửa sai. du u Tất cả các hàm đều ngang cấp nhau. Các hàm cu đều có thể gọi lẫn nhau, dĩ nhiên hàm được gọi phải được khai báo trước hàm gọi. CuuDuongThanCong.com © TS. Nguyễn Phúc Khải https://fb.com/tailieudientucntt 4
- KHÁI NIỆM HÀM Các hàm trong một chương trình có thể nằm om trên các tập tin khác nhau và khác với tập tin .c chính (chứa hàm main()), mỗi tập tin được gọi ng co là một module chương trình an Các module chương trình sẽ được dịch riêng rẽ th ng và sau đó được liên kết (link) lại với nhau để o tạo ra được một tập tin thực thi duy nhất. du u Cách tạo chương trình theo kiểu nhiều module cu như vậy trong C là project CuuDuongThanCong.com © TS. Nguyễn Phúc Khải https://fb.com/tailieudientucntt 5
- KHÁI NIỆM HÀM #include om #include .c #include ng main () co { an th double a, b, c, delta, n1, n2; ng clrscr(); o printf ("Nhap 3 he so phuong trinh bac hai; "); du scanf ("%lf %lf %lf", &a, &b, &c); u cu CuuDuongThanCong.com © TS. Nguyễn Phúc Khải https://fb.com/tailieudientucntt 6
- KHÁI NIỆM HÀM if (a ==0)/* phuong trinh suy bien ve bac nhat */ om { printf ("Phuong trinh suy bien ve bac nhat va "); .c if (b == 0) ng if (c == 0) co printf ("vo so nghiem\n"); an th else /* c != 0 */ ng printf ("vo nghiem\n"); o else / * b != 0 */ du { n1 = -c/b; u cu printf ("co 1 nghiem: = %5.2f \n", n1); } } CuuDuongThanCong.com © TS. Nguyễn Phúc Khải https://fb.com/tailieudientucntt 7
- KHÁI NIỆM HÀM else /* a != 0 */ om { .c printf ("Phuong trinh bac hai va "); ng delta = b*b - 4*a*c; co if (delta < 0) an th printf ("vo nghiem thuc\n"); ng else if (delta == 0) o { du n1 = n2 = -b/2/a; u cu printf ("co nghiem kep x1=x2 = %5.2f \n" ,n1); } CuuDuongThanCong.com © TS. Nguyễn Phúc Khải https://fb.com/tailieudientucntt 8
- KHÁI NIỆM HÀM else /* delta > 0 */ om { .c n1 = (-b + sqrt(delta))/2/a; ng n2 = (-b - sqrt(delta))/2/a; co printf ("co hai nghiem phan biet; \n"); an th printf ("x1 = %5.2f \n", n1); ng printf ( x2 = %5.2f \n", n2); o } du } u cu getch(); } CuuDuongThanCong.com © TS. Nguyễn Phúc Khải https://fb.com/tailieudientucntt 9
- KHÁI NIỆM HÀM #include om #include .c #include ng void gptb1 (double a, double b); co void gptb2 (double a, double b, double c); an th o ng du u cu CuuDuongThanCong.com © TS. Nguyễn Phúc Khải https://fb.com/tailieudientucntt 10
- KHÁI NIỆM HÀM void gptb1 (double a, double b) om { .c printf ("Phuong trinh suy bien ve bac nhat va "); ng if (a == 0) co if (b == 0) an th printf ("vo so nghiem\n"); ng else /* b != 0 */ o printf ("vo nghiem\n"); du else u cu printf ("co 1 nghiem: x = %5.2f \n",-b/a); } CuuDuongThanCong.com © TS. Nguyễn Phúc Khải https://fb.com/tailieudientucntt 11
- KHÁI NIỆM HÀM void gptb2 (double a,double b,double c) om { double delta, x1, x2; .c printf ("Phuong trinh bac hai va "); ng delta = b*b - 4*a*c; co if (delta < 0) printf ("vo nghiem thuc\n"); an th else if (delta == 0) ng printf ("co nghiem kep x1 = x2 = %5.2f \n", -b/2/a); else /* delta > 0 */ o du { x1 = (-b + sqrt(delta))/2/a; x2 = (-b - sqrt(delta))/2/a; u cu printf ("co hai nghiem phan biet: \n"); printf ("x1 = %5.2f \n ", x1); printf ("x2 = %5.2f \n" , x2); } } CuuDuongThanCong.com © TS. Nguyễn Phúc Khải https://fb.com/tailieudientucntt 12
- KHÁI NIỆM HÀM main() om { .c double a, b, c; ng clrscr(); co printf ("Nhap 3 he so phuong trinh bac hai: "); an th scant ("%lf %lf %lf", &a, &b, &c); ng if (a == 0) /* phuong trinh suy bien ve bac nhat */ o gptb1 (b, c); du else /* a != 0 */ u cu gptb2 (a, b, c); getch(); } CuuDuongThanCong.com © TS. Nguyễn Phúc Khải https://fb.com/tailieudientucntt 13
- KHAI BÁO HÀM Khai báo một hàm là chỉ ra rõ rằng trả về kiểu om gì, đối số đưa vào cho hàm có bao nhiêu đối .c số, mỗi đối số có kiểu như thế nào và các lệnh ng co bên trong thân hàm xác định thao tác của hàm. an Có hai loại hàm: hàm trong thư viện và hàm do th ng lập trình viên tự định nghĩa. o du u cu CuuDuongThanCong.com © TS. Nguyễn Phúc Khải https://fb.com/tailieudientucntt 14
- KHAI BÁO HÀM Nếu hàm sử dụng là hàm chuẩn trong thư viện om thì việc khai báo hàm chỉ đơn giản là khai báo .c prototype của hàm, các prototype này đã được ng co phân loại và ở trong các file .h, lập trình viên an cần ra lệnh #include bao hàm các file này vào th chương trình hoặc module chương trình sử o ng dụng nó. du u cu CuuDuongThanCong.com © TS. Nguyễn Phúc Khải https://fb.com/tailieudientucntt 15
- KHAI BÁO HÀM Nếu các hàm sử dụng là do lập trình viên tự om định nghĩa thì việc khai báo hàm bao gồm hai .c việc: khai báo prototype của hàm đầu chương ng co trình và định nghĩa các lệnh bên trong thân an hàm (hay thường được gọi tắt là định nghĩa th ng hàm). o du u cu CuuDuongThanCong.com © TS. Nguyễn Phúc Khải https://fb.com/tailieudientucntt 16
- KHAI BÁO HÀM Cú pháp khai báo hàm: om .c kiểu tên_hàm ng (danh_sách_khai_báo_đối_số) co an { khai_báo_biến_cục_bộ th ng lệnh o du u } cu CuuDuongThanCong.com © TS. Nguyễn Phúc Khải https://fb.com/tailieudientucntt 17
- KHAI BÁO HÀM int so_sanh (int a, int b) om { .c int ket_qua; ng if (a >b) co ket_qua = 1: an th else if (a == b) ng ket_qua = 0; o else if (a < b) du ket_qua = -1; u cu return ket_qua; } CuuDuongThanCong.com © TS. Nguyễn Phúc Khải https://fb.com/tailieudientucntt 18
- KHAI BÁO HÀM #include om #include .c int so_sanh (int a, int b); prototype của hàm so_sanh ng main() co { an th int a, b, ket_qua; ng clrscr(); o printf ("Moi nhap hai so "); du scanf ("%d %d" , &a, &b); u cu ket_qua = so_sanh (a, b); gọi hàm CuuDuongThanCong.com © TS. Nguyễn Phúc Khải https://fb.com/tailieudientucntt 19
- KHAI BÁO HÀM switch (ket_qua) om { case -1: .c printf ("So %d nho hon so %d \n" , a, b); ng break; co case 0: an th printf ("So %d bang so %d \n", a, b); ng break; o case 1: du printf ("So %d lon hon so %d \n" , a, b); u cu break; } getch(); } CuuDuongThanCong.com © TS. Nguyễn Phúc Khải https://fb.com/tailieudientucntt 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Hệ thống máy tính: Chương 5 - Nguyễn Kim Khánh
8 p | 131 | 16
-
Bài giảng Hệ thống máy tính: Chương 1 - Nguyễn Kim Khánh
9 p | 139 | 15
-
Bài giảng Hệ thống máy tính: Chương 2 - Nguyễn Kim Khánh
20 p | 133 | 15
-
Bài giảng Hệ thống máy tính: Chương 3 - Nguyễn Kim Khánh
14 p | 129 | 13
-
Bài giảng Hệ thống máy tính - Chương 4: Hệ thống IO (Input Output System)
16 p | 275 | 7
-
Bài giảng Hệ thống máy tính (Computer Systems): Chương 2 - Nguyễn Kim Khánh
80 p | 14 | 5
-
Bài giảng Hệ thống máy tính - Chương 8: Hệ thống file
16 p | 64 | 5
-
Bài giảng Hệ thống máy tính (Computer Systems): Chương 3 - Nguyễn Kim Khánh
49 p | 8 | 4
-
Bài giảng Hệ thống máy tính - Chương 5: Tổng quan hệ điều hành
8 p | 107 | 4
-
Bài giảng Hệ thống máy tính (Computer Systems): Chương 4 - Nguyễn Kim Khánh
32 p | 6 | 3
-
Bài giảng Hệ thống máy tính và ngôn ngữ C: Chương 1 - TS. Nguyễn Phúc Khải
39 p | 8 | 3
-
Bài giảng Hệ thống máy tính (Computer Systems): Chương 1 - Nguyễn Kim Khánh
68 p | 16 | 3
-
Bài giảng Hệ thống máy tính và ngôn ngữ C - Chương 6: Giới thiệu về ngôn ngữ lập trình C (GV. Nguyễn Nhật Nam)
16 p | 30 | 3
-
Bài giảng Hệ thống máy tính và ngôn ngữ lập trình - Chương 6: Giới thiệu về ngôn ngữ lập trình C
8 p | 32 | 3
-
Bài giảng Hệ thống máy tính và ngôn ngữ C: Chương 10 - TS. Nguyễn Phúc Khải
34 p | 4 | 3
-
Bài giảng Hệ thống máy tính và ngôn ngữ lập trình - Chương 14: Đệ quy
8 p | 28 | 2
-
Bài giảng Hệ thống máy tính: Chương 1 - TS. Trần Thị Minh Khoa
15 p | 22 | 2
-
Bài giảng Hệ thống máy tính - Chương 0: Giới thiệu
7 p | 107 | 2
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