Gwynn

New Member

Download miễn phí Đề tài Hàm, biến toàn cục, biến cục bộ trong C++





MỤC LỤC
Phần I: Mở đầu 1
Phần II: Phần nội dung 2
Chương I: Hàm 2
I. Định nghĩa hàm 2
II. Sử dụng hàm 4
III. Truyền tham số cho hàm 5
IV.Sử dụng hàm trong nhiều chương trình khác 6
V. Danh sách đối của hàm 7
VI.Các hàm trong C++ 8
1. Tham chiếu 8
2. Đối có giá trị mặc định 11
3. Hàm trực tuyến 12
4. Đệ quy 13
Chương II: Biến toàn cục, biến cục bộ 15
I. Biến toàn cục 15
II. Biến cục bộ 16
Chương III: Chương trình có sử dụng định nghĩa hàm,
biến toàn cục, biến cục bộ trong C++ 17
Phần III: Phần kết luận 22
Tài liệu tham khảo 24
 



Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

sử dụng phải tạo ra nó. Vì vậy những hàm này mới có tên là hàm do người dùng định nghĩa. Việc tạo ra và sử dụng những hàm tự định nghĩa làm cho chương trình ngắn gọn hơn, sáng sủa hơn và cho phép tiết kiệm công sức của lập trình viên.
Có thể coi hàm là một phép toán do người dùng xác định. Nói chung hàm được biểu thị bởi một tên gọi chứ không phải là một toán tử. Các toán hạng của hàm, được gọi là các đối của nó, được xác định trong danh sách đối phân cách nhau bởi dấu phẩy và được bao trong dấu ngoặc tròn. Kết quả của hàm thường được coi là kiểu cho lại của nó. Hàm không cho lại giá trị nào có kiểu cho lại là Void. Các hành động thực tại mà một hàm thực hiện được xác định trong thân hàm. Thân hàm được bao trong ngoặc nhọn( "{ }" ) và đôi khi còn được coi là một khối.
Trong C++ có 2 cách định nghĩa hàm:
Định nghĩa hàm sau hàm main( ) và định nghĩa hàm trước hàm main(). Tuy nhiên cách định nghĩa hàm trước hàm main( ) ngăn gọn hơn và hay dùng hơn cho nên ở đây ta nghiên cứu kỹ về chúng.
Việc định nghĩa một hàm theo mẫu sau:
Đầu_đề_hàm
{
Phần khai báo
Thân hàm
}
*Đầu đề hàm có dạng sau đây:
TĐK(từ định kiểu) : int, char;
TĐK tên hàm( TĐK1 tham số 1 [, TĐK2 tham_số 2 ]…)
TĐK(*) xác định kiểu của hàm, tức là xác định kiểu của giá trị được trả lại thông qua tên hàm.
Các tham số có trong ngoặc tròn ( ) đi sau tên hàm được gọi là các tham số hình thức. Toàn bộ các tham số trong ngoặc ( ) gọi là danh sách tham số hình thức. Danh sách này gồm 1 hay nhiều tham số, tham số nọ cách tham số kia dấu phẩy. Danh sách tham số hình thức kết thúc bởi dấu ngoặc, sau đó không có dấu chấm phẩy.
*Phần khai báo của hàm:
Dùng để khai báo các biến được dùng trong hàm này. Các biến được khai báo trong hàm chỉ có ý nghĩa trong hàm này nên được gọi là các biến cục bộ( địa phương). Việc sử dụng các biến cục bộ trong chương trình khác hay chương trình chính là không hợp lệ.
Một hàm được tính bất kỳ khi nào toán tử gọi( "( )") được áp dụng vào tên của hàm. Nếu hàm cần có các đối thì các đối này, còn được gọi là các đối thực tại, sẽ được đặt vào bên trong toán tử gọi. Mỗi đối được phân cách bởi một dấu phẩy. Nó còn được gọi là truyền đối cho hàm.
*Thân hàm:
Giống như phần thân chương trình của một chương trình thông thường. Tuy nhiên sau khi tính xong giá trị hàm thì trong thân hàm thường có câu lệnh return để trả lại giá trị vừa tính được trong thân hàm cho tên hàm.
Nó có dạng:
Return Biểu thức;
hay Return( biểu thức).
Câu lệnh này có tác dụng trả cho tên hàm giá trị của biểu thức có trong câu lệnh này. Câu lệnh return kết thúc việc thực hiện các câu lệnh trong thân hàm và trả điều kiện về chỗ đã gọi hàm trong chương trình chính. Tuy nhiên câu lệnh return là không bắt buộc phải có.
Hàm trả lại giá trị qua tên hàm nên hàm có thể được dùng là một toán hạng trong biểu thức.
Trong C++ chỉ có một loại chương trình con đó là hàm. Mỗi chương trình
Trong C++ phải có ít nhất một hàm main( ). Hàm trong C++ không nhất thiết phải có tham số, trả lại giá trị( đó là kiểu void). Trong chương trình nguồn hàm có thể là một toán hạng trong biểu thức hay có thể đứng một mình như một câu lệnh đơn độc.
Ví dụ:
#include
#include
// Dinh nghia ham BINH_PHUONG
int BINH_PHUONG(int n)
{
int ketqua;
ketqua=n*n;
return ketqua;
}
// Chuong trinh chinh
main()
{
int m;
cout<<"m=";
cin>>m;
cout<<'\n'< cout< getch();
}
Trong chương trình này dòng(1) có chứa lời gọi hàm là BINH_PHUONG(m). ở đây m được gọi là tham số thực sự gặp lời gọi này máy sẽ thực hiện hàm BINH_PHUONG mà ta đã khai báo ở trên.
II.Sử dụng hàm.
Muốn sử dụng hàm ta phải viết lời gọi hàm. Lời gọi hàm có dạng sau:
Tên hàm( [ Danh sách tham số thực sự] )
Danh sách tham số thực sự bao gồm một hay một số tham số thực sự cách nhau bởi dấu phẩy. Danh sách tham số thực sự có thể là một hàm, một biến hay một biểu thức. Danh sách tham số thực sự là tuỳ chọn. Số tham số thực sự trong danh sách tham số thực sự phải bằng số tham số hình thức trong danh sách tham số hình thức. Kiểu của tham số thực sự phải phù hợp với kiểu của tham số hình thức tương ứng.
Một lời gọi hàm có thể làm cho 1 hay 2 điều xuất hiện. Nếu hàm đã được khai báo là inline thì thân của hàm được mở rộng tại điểm gọi nó trong lúc dịch, ngoài ra hàm sẽ được gọi trong lúc chạy. Một lời gọi hàm làm cho điều khiển của chương trình được chuyển cho hàm được gọi, việc thực hiện của hàm đang chạy lúc đó bị tạm ngừng. Khi tính toán của hàm được gọi đã hoàn tất thì hàm bị ngừng sẽ lấy lại hoạt động tại điểm sau lời gọi. Việc gọi hàm được quản lý trong chồng khi chạy của chương trình. Nếu một hàm không được khai báo trong chương trình trước khi dùng nó thì sẽ có lỗi khi dịch.
Hàm chỉ được định nghĩa một lần trong chương trình. Về cơ bản định nghĩa hàm trong tệp văn bản riêng của nó hay trong tệp văn bản có chứa nó và các hàm có liên quan khác. Một hàm thường được dùng trong các tệp khác tệp chứa định nghĩa của nó. Do đó cần có phương pháp phụ để khai báo hàm.
Khai báo hàm bao gồm kiểu cho lại của hàm, tên hàm và danh sách đối.
III.Truyền tham số cho hàm.
Khi gặp lời gọi hàm trong chương trình chính thì quá trình thực hiện hàm bắt đầu. Quá trình này gồm các công việc sau:
- Máy tạm thời rời khỏi chương trình chính, cấp phát bộ nhớ cho các tham số hình thức và các biến cục bộ.
- Gán các giá trị của tham số thực sự cho các tham số hình thức tương ứng.
- Lần lượt thực hiện các câu lệnh trong thân hàm. Nếu gặp câu lệnh return hay gặp dấu “}” thì máy sẽ xoá các tham số hình thức hay các biến cục bộ quay về chương trình chính ở chỗ có lời gọi hàm. Nếu thoát khỏi hàm bằng câu lệnh Return thì giá trị biểu thức có trong câu lệnh này sẽ được gán cho tên hàm.
Khi gặp lời gọi hàm thì giá trị tham số thực sự sẽ được gán cho tham số hình thức tương ứng, mọi tính toán trong thân hàm sẽ được thực hiện trên các tham số hình thức. Khi thoát khỏi hàm máy sẽ xoá các tham số hình thức và các biến cục bộ, như vậy những thay đổi đối với các tham số hình thức không thể được truyền về chương trình chính thông qua tham số thực sự tương ứng.
Vậy làm thế nào để trong chương trình con có thể thay đổi giá trị các biến có trong chương trình chính?
Người ta dùng con trỏ làm tham số hình thức để giải quyết vấn đề này. Khi đó người ta truyền cho chương trình con địa chỉ của biến trước và sau lời gọi hàm( tức là trước và sau khi thực hiện hàm địa chỉ này không thay đổi, hoàn toàn phù hợp với các giả định của C++. Tuy nhiên trong quá trình thực hiện hàm thì giá trị chứa trong địa chỉ đó có thể bị thay đổi, giá trị này được giữ nguyên khi thoát khỏi hàm. Đây là phương pháp truyền giá trị từ chương trình con về chương trình chính.
VD: Truyền giá trị từ chương trình con về chương trình chính.
// Chuong trinh co ham tinh tong n so.
#include
#include
float TONG(float *vecto,...
 

Các chủ đề có liên quan khác

Top