Computer >> Máy Tính >  >> Lập trình >> lập trình C

Các hàm trong C / C ++ (3.5)

Các chức năng giống như một cỗ máy khi chúng thực hiện một số chức năng và tạo ra kết quả của một số loại. Giống như, máy móc nhận một số đầu vào, xử lý đầu vào đó và tạo ra đầu ra tương tự, chức năng nhận một số giá trị, hoạt động trên giá trị đó và tạo ra đầu ra. Một người chuyển đầu vào cho máy theo cách thủ công, sau đó chỉ máy sẽ khởi động chức năng của nó theo cách tương tự khi lập trình viên gọi hàm mà nó sẽ bắt đầu thực thi.

Các hàm có thể khác nhau về tên gọi trong các ngôn ngữ khác nhau, nhưng chúng có hai đặc điểm chung như -

  • Chúng chứa trình tự hướng dẫn cần được xử lý

  • Những hướng dẫn đó được xác định bằng một cái tên, dùng để chỉ chức năng

Tại sao các hàm được sử dụng?

  • Khả năng tái sử dụng - khi cùng một chức năng được yêu cầu ở nhiều nơi, cách tiếp cận tốt nhất sẽ là tạo hàm một lần và gọi nó nhiều lần thay vì khai báo hàm cung cấp chức năng giống nhau lặp đi lặp lại. Khả năng tái sử dụng là tính năng hoặc lợi thế lớn nhất mà một chức năng cung cấp.

  • Mô-đun đối với mã - Hàm giúp cho việc viết mã của bạn gọn gàng và sạch sẽ vì thay vì viết nhiều dòng mã trong hàm main (), hãy khai báo các hàm để làm cho mã rõ ràng và dễ đọc hơn.

  • Dễ sửa đổi - Nếu có bất kỳ thay đổi nào trong tương lai đối với mã thì thay vì thay đổi nó đến nhiều nơi, lập trình viên sẽ chỉ thực hiện các thay đổi trong chức năng. Do đó, chúng ta có thể nói rằng hàm cũng làm giảm sự dư thừa trong dữ liệu .

  • Cung cấp thông tin tóm tắt - Với tên liên quan của chức năng, nó có thể xác định chức năng đó sẽ phải làm gì thay vì tiết lộ cách chức năng đó thực hiện điều đó. Ví dụ, trong C, chúng ta có tệp tiêu đề “maths.h” chứa nhiều hàm bao gồm cả hàm pow (). Chúng ta có thể sử dụng trực tiếp hàm này để tính toán giá trị lũy thừa thay vì biết rằng hàm này đang tính giá trị đó như thế nào trong định nghĩa.

Khai báo và định nghĩa hàm

Khai báo hàm là quá trình cho trình biên dịch biết kiểu trả về và tên của hàm.

Cú pháp

Không có cơ thể

Return_type function_name(parameter list which is optional);

Với cơ thể

Return_type function_name(parameter list which is optional)
{
//body of the function
} 

Giải thích

  • return_type - Nó cho trình biên dịch biết liệu hàm có trả về bất kỳ thứ gì hay không và nếu trả về bất kỳ dữ liệu nào thì nó sẽ trả về loại dữ liệu nào.

void dummy(){
   //since the return type of function is void it willn’t return anything to the caller and hence it willn’t contain return statement.
}
Int dummy(){
   //since the return type of function is int it will return integer value to the caller and it is mandatory that it will contain return statement as it is returning integer value.
   return integer_value;
}
float dummy(){
   //since the return type of function is float it will return floating value to the caller and it is mandatory that it will contain return statement as it is  returning floating value.
   return float_value;
}

  • tên chức năng - tên hàm có thể là tên bất kỳ mà người lập trình muốn đặt cho hàm. Giống như trong ví dụ trên, chúng tôi đã đặt tên cho hàm là dummy

  • danh sách thông số (tùy chọn) - bất cứ khi nào hàm sẽ hoạt động dựa trên các giá trị được truyền bởi người gọi hàm, chúng ta cần tạo các tham số.

Định nghĩa hàm chứa chức năng mà hàm sẽ phải thực hiện bất cứ khi nào nó được gọi.

Ví dụ

#include<iostream>
using namespace std;
//function that calculates the greatest
//value amongst two parameters
int greatest(int val_1, int val_2) //return type of function is integer value{
   //body of the function(Definition)
   if(val_1>val_2){
      return val_1;
   }
   else{
      return val_2;
   }
}
int main(){
   int val_1=10, val_2=20;
   //calling the function and storing the integer value
   //returned by a function in the integer variable
   int highest = greatest(val_1,val_2);
   //printing the greatest value
   cout<<"The greatest value is : "<<highest;
   //as the return type of main is int,
   //it must have return statement for the compiler
   return 0;
} 

Đầu ra

Đầu ra cho đoạn mã trên sẽ là -

The greatest value is : 20

Tham số chức năng

  • Tham số là tùy chọn, nếu không có tham số thì hàm cũng sẽ thực hiện chức năng của nó

  • Các biến được khai báo trong định nghĩa hàm để bắt các giá trị được truyền bởi người gọi hàm được gọi là Tham số. int lớn nhất (int val_1, int val_2)

int greatest(int val_1, int val_2)

Các hàm trong C / C ++ (3.5)

  • Các biến được chuyển bởi trình gọi của hàm được gọi là Đối số.

int highest = greatest(val_1,val_2);

Các hàm trong C / C ++ (3.5)


  • Tham số thực tế so với tham số chính thức-

    Thông số thực tế là dữ liệu được truyền cho hàm như trong ví dụ trên, 10 và 20 là các tham số thực tế

    Thông số chính thức là dữ liệu nhận được bởi hàm như trong ví dụ trên, val_1 và val_2 là các tham số chính thức.

Những điểm quan trọng về hàm main ()

  • Mọi chương trình đều có một điểm vào từ nơi bắt đầu thực thi, giống như trong C và C ++, chúng ta có hàm main ().

  • Nếu kiểu trả về của hàm main () là void thì có nghĩa là hàm không trả về bất cứ thứ gì cho trình biên dịch trong khi nếu hàm main () có kiểu trả về là int thì nó đang trả về giá trị cho trình biên dịch. Giống như, chúng tôi có “return 0” trong hàm main (), nghĩa là kết thúc chương trình.

  • Trong C - Kiểu trả về của hàm main () có thể là void và chỉ int vì hàm main () có thể trả về giá trị số nguyên cho trình biên dịch hoặc nó sẽ không trả về bất kỳ thứ gì.

  • Trong C ++ - Kiểu trả về của hàm main () chỉ có thể là int vì hàm main () trả về giá trị nguyên cho trình biên dịch.