资源描述
实验一 函数设计实验【实验目的】1掌握函数的定义及其调用。 2掌握函数参数的传递方式,按值传递、按址传递和按引用传递。3掌握函数重载概念与使用方法。4学习函数模板的使用。5学习递归调用。【实验内容】1 运行参考程序,理解按值传递、按地址传递和按引用传递不同之处。/参考程序1#include/使用按值传递的方法将两变量值对换void swapbyValue(int a,int b)int t;t=a;a=b;b=t;/使用按地址传递的方法将两变量值对换void swapbyAddress(int *a,int *b)int t;t=*a;*a=*b;*b=t;/使用按引用传递的方法将两变量值对换void swapbyQuote(int &a,int &b)int t;/这里访问与修改的是实际参数本身,而不是实际参数的一个副本 t=a;a=b;b=t;int main()int x,y; x=66;y=98;swapbyValue(x,y);coutx=x y=yendl;swapbyAddress(&x,&y);coutx=x y=yendl;swapbyQuote(x,y);coutx=x y=yendl;return(0);2运行参考程序2,理解函数重载概念与基本使用方法。/参考程序2#includeint min(int a,int b,int c)int k;k=(ab)?a:b;k=(kc)?k:c;return k;int min(int a,int b)int k;k=(ab)?a:b;return k;int main()int x,y,z,m;coutxyz; m=min(x,y,z);cout最小的数是:mn;coutxy;m=min(x,y);cout最小的数是:mn;return(0);3运行参考程序3,理解函数模板概念与基本使用方法。/参考程序3#includetemplateT min(T a, T b)return(ab)?a:b;int main()int x,y;coutxy;cout最小的整数是:min(x,y)n;float x1,y1; coutx1y1;cout最小的实数是:min(x1,y1)n;return(0);4用递归方法编写两个整数相乘的程序。(提示:相乘可以转换为累加,两个整数X*Y相当于Y个X相加。) 5编程计算圆台体积(要求上底和下底半径带默认形参值)。(提示:体积公式为 6. 用函数重载方法编写求面积程序,要求能计算圆、矩形、三角形面积。7应用函数模板求数组中的最大数,要求分别处理整型、浮点型数据。【思考题】1回答按值传递、按地址传递和按引用传递有何不同?2重载函数和函数模板有何区别?什么情况下使用重载函数?什么情况下使用函数模板?3. 何种情况会导致重载函数二义性?
展开阅读全文