21xrx.com
2024-11-08 23:26:04 Friday
登录
文章检索 我的文章 写文章
C++实验报告:函数
2023-07-03 05:15:44 深夜i     --     --
C++ 实验 函数 编程 调试

本篇文章主要介绍C++中的函数,包括函数的定义、调用、传参机制以及函数的重载和递归。

一、函数的定义

函数是C++程序中的基本模块,其可以将一段代码块封装起来,使得程序具有可维护性、可拓展性和可读性。

函数的定义格式如下:


返回类型 函数名(参数列表)

  函数体

  return 返回值;

其中,返回类型指定了函数返回值的数据类型,函数名的命名规则与变量名相同,参数列表中包含了传递给函数的变量名和数据类型。

二、函数的调用

通过函数名和参数列表的方式来调用函数,例如:


int sum(int a, int b) {

  return a+b;

}

int main() {

  int x = 3, y = 4;

  int result = sum(x, y);

  return 0;

}

该程序定义了一个名为sum的函数,在主函数中调用sum函数,并将返回值赋值给result变量。

三、函数的传参机制

C++中的函数传参机制有两种,分别为值传递和地址传递。

值传递是指将参数的值复制一份,传递给函数,在函数内部操作该值不会对原来的值产生影响,例如:


void swap(int a, int b)

  int temp = a;

  a = b;

  b = temp;

int main() {

  int x = 1, y = 2;

  swap(x, y);

  cout<<x<<" "<<y<<endl; //输出1 2

  return 0;

}

地址传递是指将参数的内存地址传递给函数,在函数内部操作该地址对应的值会改变原来的值,例如:


void swap(int *a, int *b) {

  int temp = *a;

  *a = *b;

  *b = temp;

}

int main() {

  int x = 1, y = 2;

  swap(&x, &y);

  cout<<x<<" "<<y<<endl; //输出2 1

  return 0;

}

四、函数的重载

函数重载是指一个函数名可以对应多个不同的函数实现,这些不同的函数实现要么参数类型不同,要么参数个数不同,例如:


int add(int a, int b) {

  return a+b;

}

double add(double a, double b) {

  return a+b;

}

int add(int a, int b, int c) {

  return a+b+c;

}

在调用add函数时,编译器将根据参数类型和个数匹配到对应的函数实现。

五、函数的递归

函数递归是指函数调用自身的情况,例如计算阶乘:


int fact(int n) {

  if(n == 1)

    return 1;

  

  else {

    return n * fact(n-1);

  }

}

int main() {

  int x = 5;

  int result = fact(x); //result = 120

  return 0;

}

递归需要注意的是,必须有一个终止条件,否则会出现无限调用,导致程序崩溃。

综上所述,函数是C++程序设计的基本单元,掌握函数的使用方法对于编写复杂程序至关重要。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复