Bài giảng Tin học đại cương: Bài 11 - ĐH Bách khoa Hà Nội
lượt xem 6
download
Bài 11 Hàm thuộc bài giảng "Tin học đại cương", cùng nắm kiến thức trong chương này thông qua các các nội dung sau: khái niệm hàm, khai báo và sử dụng hàm, phạm vi của biến.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Tin học đại cương: Bài 11 - ĐH Bách khoa Hà Nội
- TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Nội dung VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG 11.1. Khái niệm hàm 11.2. Khai báo và sử dụng hàm TIN HỌC ĐẠI CƯƠNG 11.3. Phạm vi của biến Phần 3. Lập trình C Bài 11. Hàm 2 Nội dung 11.1.1. Khái niệm chương trình con 11.1. Khái niệm hàm • Khái niệm 11.1.1. Khái niệm chương trình con – Là một chương trình nằm trong một chương trình lớn hơn nhằm thực hiện một nhiệm vụ cụ 11.1.2. Phân loại chương trình con thể 11.2. Khai báo và sử dụng hàm • Vai trò 11.3. Phạm vi của biến – Chia nhỏ chương trình ra thành từng phần để quản lý => Phương pháp lập trình có cấu trúc – Có thể sử dụng lại nhiều lần: printf, scanf… – Chương trình dễ dàng đọc và bảo trì hơn 3 4 1
- 11.1.2. Phân loại chương trình con 11.1.2. Phân loại chương trình con • Phân loại chương trình con • Phân loại hàm Chương trình con HÀM Hàm Thủ tục (function) (procedure) – Hàm: trả về giá trị trong khi thủ tục thì không Hàm chuẩn Hàm tự viết – Trong C: (Có trong thư viện) (Người dùng định nghĩa) • Chỉ cho phép khai báo chương trình con là hàm. • Sử dụng kiểu “void” với ý nghĩa “không là kiểu dữ liệu nào cả” để chuyển thủ tục về dạng hàm 5 6 11.2. Khai báo và sử dụng hàm 11.2.1. Khai báo hàm 11.2.1. Khai báo hàm • Ví dụ: 11.2.2. Sử dụng hàm – Chương trình in ra bình phương của các số tự nhiên từ 1 đến 10 – Gồm 2 hàm: • Hàm binhphuong(int x): trả về bình phương của x • Hàm main(): với mỗi số nguyên từ 1 đến 10, gọi hàm binhphuong với một giá trị đầu vào và hiển thị kết quả. 7 8 2
- 11.2.1. Khai báo hàm 11.2.1. Khai báo hàm #include [] tên_hàm ([danh_sách_tham_số]) #include { int binhphuong(int x){ [] int y; [] Khai báo hàm } y = x * x; return y; • Dòng đầu hàm } – Là thông tin trao đổi giữa các hàm. Phân biệt void main(){ giữa các hàm với nhau. int i; – Kiểu giá trị trả về: kiểu dữ liệu bất kì, không for (i=0; i các tham số hình thức int giai_thua(int a) Dong dau ham • Tham số cung cấp dữ liệu cho hàm lúc hoạt động: { tham số thực int ket_qua; Cac khai bao – Ví dụ: int max(int a, int b, int c) int i; • Thân hàm ket_qua = 1; for(i = 1;i
- 11.2.1. Khai báo hàm 11.2.1. Khai báo hàm #include #include • Ý nghĩa của nguyên mẫu hàm Nguyên mẫu hàm int binhphuong(int x); – Cho phép định nghĩa sau khi sử dụng. Nhưng void main(){ phải khai báo trước (function int i; – Cho phép đưa ra lời gọi đến một hàm mà không prototype) for (i=0; i
- 11.3. Phạm vi của biến 11.3.1. Phạm vi của biến • 11.3.1. Phạm vi của biến • Phạm vi: khối lệnh, chương #include trình con, chương trình chính #include • 11.3.2. Phân loại biến • Biến khai báo trong phạm vi int i; • 11.3.3. Câu lệnh static và register nào thì sử dụng trong phạm int binhphuong(int x){ vi đó int y; y = x * x; • Trong cùng một phạm vi các return y; biến có tên khác nhau. } • Tình huống void main(){ – Trong hai phạm vi khác nhau int y; có hai biến cùng tên. Trong for (i=0; i
- Ví dụ 2 #include void main() #include { int a, b, c; clrscr(); int tich() { printf("\n Nhap gia tri cho 3 printf("\n Gia tri cac bien tong the so nguyen a, b, c: "); a, b, c: "); scanf("%d %d %d",&a,&b,&c); printf(" a = %-5d b = %-5d c = %- 5d“,a,b,c); printf("\n Tich cua 3 so la return a*b*c; %d",tich()); } getch(); 21 } 22 11.3.3. Câu lệnh static và register • Biến static – Xuất phát: biến cục bộ ra khỏi phạm vi thì bộ nhớ dành cho biến được giải phóng – Yêu cầu lưu trữ giá trị của biến cục bộ một cách lâu dài => sử dụng từ khóa static – So sánh với biến toàn cục? – Cú pháp: static tên_biến; 23 24 6
- 11.3.3. Câu lệnh static và register 11.3.3. Câu lệnh static và register # include Day la lan goi ham fct lan thu 1 # include Day la lan goi ham fct lan thu 2 void fct() { Day la lan goi ham fct lan thu 3 static int count = 1; Day la lan goi ham fct lan thu 4 printf("\n Day la lan goi ham fct lan thu Day la lan goi ham fct lan thu 5 %2d", count++); Day la lan goi ham fct lan thu 6 } Day la lan goi ham fct lan thu 7 Day la lan goi ham fct lan thu 8 void main(){ Day la lan goi ham fct lan thu 9 int i; Day la lan goi ham fct lan thu 10 for(i = 0; i < 10; i++) fct(); getch(); } 25 26 11.3.3. Câu lệnh static, register Bài tập • Biến register int i=10; – Thanh ghi có tốc độ truy cập nhanh hơn RAM, bộ nhớ ngoài printf (“ Gia tri cua i %d”, ++i); – Lưu biến trong thanh ghi sẽ tăng tốc độ thực hiện chương trình printf(“ Gia tri cua i %d”, i++); – Cú pháp printf (“Gia tri cua i %d “, i--); register tên_biến; – Lưu ý: số lượng biến register không nhiều và printf (“Gia tri cua i %d “, --i); thường chỉ với kiểu dữ liệu nhỏ như int, char 27 28 7
- Bài tập int a =10; int b, c; b = ++a *2; c= a++ *2; printf (“ b= %d “,b); printf (“ c= %d “, c); 29 30 8
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng tin học đại cương - trường ĐH Tôn Đức Thắng
175 p | 1024 | 287
-
Bài giảng Tin học đại cương - Chương 1: Các vấn đề cơ bản về CNTT
167 p | 419 | 31
-
Bài giảng Tin học đại cương: Bài 1 - ĐH Bách khoa Hà Nội
33 p | 263 | 21
-
Bài giảng Tin học đại cương: Chương 2 - Tin học và công nghệ thông tin
12 p | 183 | 10
-
Bài giảng Tin học đại cương - Trường Đại học Thái Bình
183 p | 95 | 10
-
Bài giảng Tin học đại cương (Nghề: Công nghệ thông tin) Trường CĐN Công nghệ & Nông lâm Nam Bộ
124 p | 31 | 9
-
Bài giảng Tin học đại cương: Bài 3 - ĐH Bách khoa Hà Nội
14 p | 144 | 8
-
Bài giảng Tin học đại cương - Nguyễn Vũ Duy
95 p | 43 | 8
-
Bài giảng Tin học đại cương: Phần 1 - ThS. Phạm Thanh Bình
18 p | 93 | 6
-
Bài giảng Tin học đại cương (Phần 1): Chương 1 - Phạm Đăng Hải
121 p | 16 | 5
-
Bài giảng Tin học đại cương (Phần 1): Bài 1.1 - Thông tin và tin học
50 p | 14 | 5
-
Bài giảng Tin học đại cương: Chương 1 - Đại cương về tin học
16 p | 124 | 5
-
Bài giảng Tin học đại cương: Chương 1 - Thông tin
29 p | 150 | 5
-
Bài giảng Tin học đại cương: Bài mở đầu - Phạm Xuân Cường
7 p | 65 | 3
-
Bài giảng Tin học đại cương: Bài 1 - Phạm Xuân Cường
25 p | 43 | 3
-
Bài giảng Tin học đại cương: Chương 1 - Nguyễn Vũ Duy
48 p | 34 | 3
-
Bài giảng Tin học đại cương: Chương 1 - Trần Quang Hải Bằng (ĐH giao thông Vận tải)
31 p | 80 | 2
-
Bài giảng Tin học đại cương: Bài 13 - Bùi Thị Thu Cúc
10 p | 78 | 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