Lập Trình C++ - Hàm Trong C++
Có thể bạn quan tâm
Một chương trình được viết trong ngôn ngữ C++ gọi là một dãy các hàm, trong đó có một hàm chính ( hàm main()). Hàm chia các bài toán lớn thành các công việc nhỏ hơn giúp thực hiện những công việc lặp lại nào đó một cách nhanh chóng mà không phải viết lại đoạn chương trình. Thứ tự các hàm trong chương trình C++ là bất kỳ, song chương trình bao giờ cũng đi thực hiện từ hàm main(). Hàm có thể xem là một đơn vị độc lập của chương trình. Hàm trong C++ có vai trò ngang nhau, vì vậy không có phép xây dựng một hàm bên trong các hàm khác.
Các tiện ích của hàm
- Tái sử dụng Là một module chương trình, giải quyết một công việc hoàn chỉnh, được dùng nhiều lần trong chương trình
- Tối ưu mã (code)
- Tránh việc viết lại các đoạn trình giống nhau trong chương trình
- Phân cấp (chia) chương trình theo tư tưởng: chia để trị => chương trình dễ hiểu, dễ quản lý, dễ bảo trì
Các loại hàm trong C++
Có hai loại hàm trong ngôn ngữ C++
- Các hàm thư viện (Library Functions): Là các hàm được khai báo trong tập tin header của C++ như: ceil(x), cos(x), exp(x), cout, cin v.v..
- Các hàm do người lập trình định nghĩa (User-defined functions): Là các hàm do lập trình viên định nghĩa.
Khai báo hàm
Cú pháp khai báo một hàm trong ngôn ngữ C++:
kieu_ham ten_ham (danh sach tham so){ /* noi dung cua ham */ }Trong đó :
- kieu_ham : là một kiểu dữ liệu chuẩn của C++, hoặc kiểu do người dùng tự định nghĩa
- ten_ham : được đặt theo quy tắc của tên biến, có phân biệt chữ hoa với chữ thường
- danh sach tham so : các tham số hình thức của các hàm trong C++
Giá trị trả về
Một hàm trong C++ có thể có giá trị trả về hoặc không có giá trị trả về. Trường hợp hàm không có giá trị, sử dụng từ khóa void để mô tả kiểu của hàm.
Ví dụ hàm không có giá trị trả vê:
void hello(){ cout<<"Hello C++" }Nếu một hàm có giá trị trả về, chúng ta cần sử dụng kiểu dữ liệu như: int, long, char .v.v. Dữ liệu trả về phụ thuộc vào kiểu khai báo của hàm
Ví dụ hàm có giá trị trả về:
int get(){ return 10; }Ví dụ trên về là số 10 kiểu dữ liệu số nguyên. Nếu chúng ta muốn trả về kiểu số thực thì phải khai báo float trước tên hàm
float get(){ return 10.2; }Vị trí của hàm
- Có thể khai báo sau hoặc trước hàm main() trong C++.
- Nếu khai báo sau hàm main() thì phải khai báo prototype của hàm ở đầu chương trình, sau đó phần triển khai nội dung hàm được đặt sau hàm main()
- Funtion prototype:
- Khai báo kiểu hàm, tên hàm và các tham số , kết thúc bằng dấu chấm phẩy.
- Ví dụ : int SUM (int x , int y); => prototype của hàm SUM
- Chú ý : Trong phần triển khai của hàm , thì danh sách tham biến và kiểu dữ liệu của hàm phải trùng khớp với những gì đã khai báo trong phần prototype
Lời gọi hàm
- Hàm được gọi bất kì nơi đâu trong chương trình, có thể từ hàm main() hoặc một hàm khác trong chương trình.
- Khi hàm A muốn gọi hàm B thì hoặc là B phải triển khai trước A hoặc là B đã khai báo prototype ở đầu chương trình.
- Hàm được gọi thông qua tên hàm và danh sách các tham số. Ví dụ : Sum(10,20) hoặc Sum(20,a),..
- Hàm có thể được gọi theo nhiều cách khác nhau
- Trong C, không có các hàm lồng nhau
Các tham số trong ngôn ngữ C++
Một hàm trong ngôn ngữ C++ không có tham số hoặc nhiều tham số Ví dụ hàm không có tham số:
void hello(){ cout<<"hello c"; }Ví dụ hàm có một tham số:
int add(int a, int b){ return a+b; }Cách gọi một hàm trong ngôn ngữ C++
Nếu hàm có giá trị trả về, chúng ta nhận giá trị của hàm. Cú pháp gọi một hàm trong ngôn ngữ C++ như sau:
variable=function_name(arguments...);1) variable: Nếu hàm có kiểu dữ liệu là void, không cần khai báo variable, bởi vì hàm void không có giá trị trả về.
2) function_name: Là tên hàm sẽ được gọi.
3) arguments: Truyền các tham số cho hàm.
Ví dụ gọi một hàm:
hello();//Gọi hàm không có giá trị trả về int value=get();//Gọi hàm có giá trị trả về int value2=add(10,20);//gọi hàm truyền 2 tham sốVí dụ về hàm không có giá trị trả về:
#include<stdio.h> void hello(){ cout<<"hello c programming \n"; } int main(){ hello();//gọi hàm hello(); hello(); return 0; }Kết quả:
hello c programming hello c programming hello c programmingVí dụ về hàm có giá trị trả về:
#include<stdio.h> //defining function int cube(int n){ return n*n*n; } int main(){ int result1=0,result2=0; result1=cube(2);//calling function result2=cube(3); cout<<result1<<endl; cout<<result2<<endl; return 0; }Kết quả:
8 27Từ khóa » Hàm Main Trong C++ Có đặc điểm Như Thế Nào
-
Khai Báo Thư Viện Và Hàm Main Trong C++ - Freetuts
-
Hàm Trong C++ - Học Lập Trình C++ Online - VietTuts
-
Hàm Trong C/C++
-
1.7. Chia Nhỏ Chương Trình Thành Các Hàm - Lập Trình Tân Binh
-
[Lập Trình C++ Cơ Bản] Bài 6: Hàm Trong C++ - Viblo
-
1.1 Cấu Trúc Cơ Bản Của Một Chương Trình C++
-
7.0 Làm Quen Với Khái Niệm Function - Khóa Học C++
-
Cơ Bản Về Class Trong C++ | TopDev
-
Bài 13: Hàm Trong Lập Trình C++ - DNMTechs
-
Cú Pháp Ngôn Ngữ C++ – Wikipedia Tiếng Việt
-
Hàm Tạo (lập Trình Hướng đối Tượng) – Wikipedia Tiếng Việt
-
[PDF] Bài 2 - NGÔN NGỮ LẬP TRÌNH C/C++ - FIT@MTA