C/C++(3.5) 中的函数

cc++server side programmingprogramming

函数就像一台机器,它们执行某些功能并产生某种类型的结果。例如,机器接受一些输入,处理该输入并产生输出,类似地,函数接受一些值,对这些值进行操作并产生输出。手动将输入传递给机器,然后只有当程序员调用该函数时,机器才会以相同的方式启动其功能。

不同语言中函数的名称可能不同,但它们具有两个共同的特征,例如 −

  • 它们包含需要处理的指令序列

  • 这些指令由引用函数的名称标识

为什么使用函数?

  • 可重用性−当多个地方需要相同的功能时,最好的方法是创建一次函数并多次调用它,而不是一次又一次地声明提供相同功能的函数。可重用性是函数提供的最大特性或优势。

  • 代码模块化 − 该函数使您的编码整洁干净,因为您无需在 main() 函数中编写多行代码,只需声明函数即可使其更清晰、更易于阅读和编码。

  • 易于修改 − 如果将来对代码进行任何更改,那么程序员只需在函数中进行更改,而无需在多个地方进行更改。因此,我们可以说函数也减少了数据中的冗余 

  • 提供抽象 − 通过函数的相关名称,可以确定该函数应该做什么,而不是揭示该函数是如何做的。例如,在 C 中,我们有 “maths.h” 头文件,其中包含多个函数,包括 pow() 函数。我们可以直接使用这个函数来计算幂值,而不必知道这个函数在定义中是如何计算的。

函数声明和定义

 函数声明是告诉编译器返回类型和函数名称的过程。

语法

 无函数体

Return_type function_name(参数列表,可选);

   有函数体

Return_type function_name(参数列表,可选)
{
//函数体
} 

解释

  • return_type − 它告诉编译器该函数是否返回任何内容,如果返回任何数据,那么它将返回什么类型的数据。

void dummy(){
   //由于函数的返回类型为 void,它不会向调用者返回任何内容,因此它不包含 return 语句。
}
Int dummy(){
   //由于函数的返回类型为 int,它将向调用者返回整数值,并且由于它返回整数值,因此它必须包含 return 语句。
   return integer_value;
}
float dummy(){
   //由于函数的返回类型是 float,它将向调用者返回浮点值,并且必须包含 return 语句,因为它返回的是浮点值。
   return float_value;
}

  

  • 函数名称 − 函数名称可以是程序员想要赋予函数的任何名称。如上例所示,我们将函数命名为 dummy

  • 参数列表(可选) −每当函数对函数调用者传递的值进行操作时,我们都需要创建参数。

函数定义包含函数每次被调用时应该执行的功能。

示例

#include<iostream>
using namespace std;
//计算两个参数中最大的值的函数

int greatest(int val_1, int val_2) //函数的返回类型是整数值{
   //函数体(定义)
​​   if(val_1>val_2){
      return val_1;
   }
   else{
      return val_2;
   }
}
int main(){
   int val_1=10, val_2=20;
   //调用函数并存储整数值
   //由函数返回的整数变量
   int highest = greatest(val_1,val_2);
   //打印最大值
   cout<<"最大值为 : "<<highest;
   //因为 main 的返回类型是 int,
   //它必须有 return 语句以供编译器使用
   return 0;
} 

输出

上述代码的输出为 −

最大值为:20

函数参数

   

  • 参数是可选的,如果没有参数,函数也将执行其功能

  • 在函数定义中声明的变量用于捕获函数调用者传递的值,这些变量称为参数。int greatest(int val_1, int val_2)

int greatest(int val_1, int val_2)

    

  • 函数调用者传递的变量被称为参数。

int highest = greatest(val_1,val_2);

 

  • 实际参数与形式参数-

    实际参数是传递给函数的数据,如上例所示,10 和 20 是实际参数

    形式参数 是函数接收的数据,如上例所示,val_1 和 val_2 是形式参数。

关于函数 main() 的要点

  • 每个程序都有一个入口点,从那里开始执行,就像在 C 和 C++ 中,我们有函数 main()。

  • 如果 main() 函数返回类型为 void,则意味着该函数不会向编译器返回任何内容,而如果函数 main() 的返回类型为 int,则它会向编译器返回值。例如,我们在 main() 中有"return 0",这表示程序终止。

  • 在 C − 中,函数 main() 的返回类型只能是 void 和 int,因为 main() 函数可以向编译器返回整数值,或者它不应该返回任何内容。

  • 在 C++ − 中,函数 main() 的返回类型只能是 int,因为 main() 函数向编译器返回整数值。


相关文章