Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 13 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
13
Dung lượng
167,89 KB
Nội dung
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TIN HỌC ĐẠI CƯƠNG Bài 10 Chương trình C Nội dung 10.1 Khái niệm hàm 10.2 Khai báo sử dụng hàm 10.3 Phạm vi biến Nội dung 10.1 Khái niệm hàm 10.1.1 Khái niệm chương trình 10.1.2 Phân loại chương trình 11.2 Khai báo sử dụng hàm 11.3 Phạm vi biến Một ví dụ #include #include int giaiThua(int);//Khai báo nguyên mẫu hàm int main(){ //Khai báo n, k nhập thông tin // toHop=giaiThua(n)/(giaiThua(k)*giaiThua(n-k)); //In kết } //Khai báo nội dung hàm int giaiThua(int n){ int i,ketQua = 1; for(i = 1;i 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 bảo trì 10.1.2 Phân loại chương trình • Phân loại chương trình Chương trình Hàm (function) Thủ tục (procedure) – Hàm: trả giá trị thủ tục không – Trong C: • Chỉ cho phép khai báo chương trình hàm • Sử dụng kiểu “void” với ý nghĩa “không kiểu liệu cả” để chuyển thủ tục dạng hàm 10.1.2 Phân loại chương trình • Phân loại hàm HÀM Hàm chuẩn (Có thư viện) Hàm tự viết (Người dùng định nghĩa) 10.2 Khai báo sử dụng hàm 10.2.1 Khai báo hàm 10.2.2 Sử dụng hàm 10.2.1 Khai báo hàm • Trong chương trình lớn có nhiều chương trình con, điểm bắt đầu thực chương trình thuộc chương trình nào? • Main chương trình con? • Khai báo chương trình độc lập nhau/lồng lẫn nhau? • Muốn “lắp ráp” công việc khác để thực hiện, cần phải đưa “lời gọi” hàm “Lời gọi” cần cung cấp gì? 10.2.1 Khai báo hàm • Ví dụ: – Chương trình in bình phương số tự nhiên từ đến 10 – Gồm hàm: • Hàm binhPhuong(int x): trả bình phương x • Hàm main(): với số nguyên từ đến 10, gọi hàm binhPhuong với giá trị đầu vào hiển thị kết 10 10.2.1 Khai báo hàm Khai báo hàm Gọi hàm #include #include int binhPhuong(int x){ int y; y = x * x; return y; } void main(){ int i; for (i=0; i tham số hình thức • Tham số cung cấp liệu cho hàm lúc hoạt động: tham số thực – Ví dụ: int max(int a, int b, int c) • Thân hàm – return • Gọi hàm thông qua tên hàm tham số thực cung cấp cho hàm • Sau thực xong, trở điểm mà hàm gọi thông qua câu lệnh return kết thúc hàm • Cú pháp chung: return biểu_thức; 13 10.2.1 Khai báo hàm Nguyên mẫu hàm (function prototype) Định nghĩa hàm #include #include int binhPhuong(int ); void main(){ int i; for (i=0; i[...]... < 10; i++) fct(); getch(); } 22 11 10. 3.3 Câu lệnh static và register Day la lan goi ham fct lan thu 1 Day la lan goi ham fct lan thu 2 Day la lan goi ham fct lan thu 3 Day la lan goi ham fct lan thu 4 Day la lan goi ham fct lan thu 5 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 Day la lan goi ham fct lan thu 9 Day la lan goi ham fct lan thu 10. . .10. 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; 21 10. 3.3 Câu lệnh static và register # include ... Day la lan goi ham fct lan thu 5 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 Day la lan goi ham fct lan thu 9 Day la lan goi ham fct lan thu 10 23 10. 3.3 Câu lệnh static, register • Biến register – Thanh ghi có tốc độ truy cập nhanh hơn RAM, bộ nhớ ngoài – Lưu biến trong thanh ghi sẽ tăng tốc độ thực hiện chương trình – Cú pháp register