第4章函数 4.1函数的定义与使用 412函数的声明与调用 函数调用的一般格式: 函数名(实际参数表) 注意:若无形参,也不必给出实参,但括号不能省略。 实参与形参个数应一致,类型要一一对应 函数原型声明:在调用函数前,对函数进行说明。通常用于 函数定义出现在函数调用之后的情况。 函数原型声明的一般格式: 丽数类型数名(形式参数表 H: double power(double, int)
4.1 函数的定义与使用 4.1.2 函数的声明与调用 函数调用的一般格式: 函数名(实际参数表) 注意:若无形参,也不必给出实参,但括号不能省略。 实参与形参个数应一致,类型要一一对应。 函数原型声明:在调用函数前,对函数进行说明。通常用于 函数定义出现在函数调用之后的情况。 函数原型声明的一般格式: 函数类型 函数名(形式参数表); 注意:函数原型中可以不写出参数名。 如:double power(double, int); 第4章 函数
第4章函数 」例42编写一个求x的n次方的函数 Include <iostream.h> double power(double x, int n; void maino double x int n, cout<<"请输入X和N的值,用空格分隔:"; CIn >>X>>n; cout<x<"的"<n<"次方是:"<< power(x,n) endi: double power(double x, int n) double a= 1.0 程序运行结果为: int i. 请输入X和N的值,用空格分隔:3.04 for(i=1;i=n;++)3的4次方是:81 a-x, return a 返回
例4.2 编写一个求x的n次方的函数 #include <iostream.h> double power(double x, int n); void main() { double x; int n; cout << "请输入X和N的值,用空格分隔:"; cin >> x >> n; cout << x << "的" << n << "次方是:" << power(x,n) << endl; } double power(double x, int n) { double a = 1.0; int i; for(i=1; i<=n; i++) a *= x; return a; } 程序运行结果为: 请输入X和N的值,用空格分隔:3.0 4 3的4次方是:81 第4章 函数 返 回
第4章函数 4.2函数的参数传递 根据函数的功能,函数的形参可以选择为数值、引用或指针 种形式。 42.1值传递 C+中参数的传递是单向的,即只能将实参的值传递给形参 而形参值的改变对实参没有影响 例43写一个函数交换主函数中两个变量的值 考虑:使用值传递,将需要交换的变量作为实参传递给函数 的形参,在函数体中完成交换值的过程,这种做法能否实现程序 要求?
4.2 函数的参数传递 根据函数的功能,函数的形参可以选择为数值、引用或指针 三种形式。 4.2.1 值传递 C++中参数的传递是单向的,即只能将实参的值传递给形参, 而形参值的改变对实参没有影响。 例4.3 写一个函数交换主函数中两个变量的值 考虑:使用值传递,将需要交换的变量作为实参传递给函数 的形参,在函数体中完成交换值的过程,这种做法能否实现程序 要求? 第4章 函数
第4章函数 例4.3源程序 include <iostream.h> void swap(int x, int y) void swap(intx, int y) void maino int temp temp= x; int a, b: X=y, a=10; y= temp b=20 swap( a, b cout<<a<","<b<end;程序运行结果为: 10,20 20b temp temp emp 20y 20yx2020y 2010y 注意:值传递时,函数的实参与形参在内存中占用不同的存储空间,值只能由 实参传递给形参,而形参的变化并不会影响实参。因此不能完成程序功能
例4.3 源程序 #include <iostream.h> void swap(int x, int y); void main() { int a, b; a = 10; b = 20; swap(a, b); cout << a << ", " << b << endl; } 程序运行结果为: 10,20 a 10 x 10 20 b 20 y x 10 20 y temp 10 x 20 20 y temp 10 x 20 10 y temp 10 void swap(int x, int y) { int temp; temp = x; x = y; y = temp; } 第4章 函数 注意:值传递时,函数的实参与形参在内存中占用不同的存储空间,值只能由 实参传递给形参,而形参的变化并不会影响实参。因此不能完成程序功能
第4章函数 4.2函数的参数传递 422使用引用 1.引用的概念 引用是一种特殊的变量,可以认为是一个变量的别名。 定义引用的一般格式: 类型说明符&引用名=变量名; 如:inta=1; int &b= a: 首先定义变量a,并初始化为1,然后定义引用b,并初始化为a, 即b是a的别名,因此a和b是同一个单元。 注意:定义引用时一定要初始化,指明该引用变量是谁的别名
4.2 函数的参数传递 4.2.2 使用引用 1. 引用的概念 引用是一种特殊的变量,可以认为是一个变量的别名。 定义引用的一般格式: 类型说明符 &引用名 = 变量名; 如: int a = 1; int &b = a; 首先定义变量a,并初始化为1,然后定义引用b,并初始化为a, 即b是a的别名,因此a和b是同一个单元。 注意:定义引用时一定要初始化,指明该引用变量是谁的别名。 第4章 函数