如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第三章函数第一节函数的定义与使用第一节函数的定义与使用第一节函数的定义与使用第一节函数的定义与使用1.形参出现在函数定义中,在整个函数体内都可以使用,函数未被调用时,系统不给它分配存储空间,当函数被调用时系统才给分配储存空间,用来接受从主调函数传递过来的数据,当该函数调用结束后,则立即释放其储存空间。2.实参出现在主调函数中,即调用时写入函数括号中的参数,要求有确定的值。调用时将实参数据传递给对应的形参,进入被调函数后,实参变量不能使用。3.形参与实参的的关系:形参和实参的功能是作数据传递。发生函数调用时(形、实结合),主调函数把实参的值传送给被调函数的形参从而实现主调函数向被调函数的数据传送。第一节函数的定义与使用第一节函数的定义与使用例编写一个求x的n次方的函数函数使用举例2、嵌套调用:被调函数在执行的过程中又调用其它函数例输入两个整数,求平方和3、递归调用:函数直接或间接的调用自身如求n!、汉诺塔例求n!#include<iostream>usingnamespacestd;longfac(intn){longf;if(n<0)cout<<"n<0,dataerror!"<<endl;elseif(n==0)f=1;elsef=fac(n-1)*n;return(f);}intmain(){//longfac(intn);intn;longy;cout<<"Enterapositiveinteger:";cin>>n;y=fac(n);cout<<n<<"!="<<y<<endl;}例输入两整数交换后输出a=b;引用传递(引用做形参)例输入两个整数交换后输出t=a;引用的优点引用于指针的区别:第二节内联函数例内联函数应用举例第三节带默认值参数的函数默认形参值的说明次序例:intadd(inta,intb=2,intc=3,intd=4,inte=5){return(a+b+c+d+e);};voidmain(){cout<<add(1)<<endl;cout<<add(1,9)<<endl;cout<<add(1,9,8)<<endl;cout<<add(1,9,8,7)<<endl;}默认形参值与函数的调用位置默认形参值的作用域第四节函数重载注意事项:例3-16重载函数应用举例#include<iostream>usingnamespacestd;intmain(){intm,n;doublex,y;intadd(intm,intn);doubleadd(doublex,doubley);cout<<"Entertwointeger:";cin>>m>>n;cout<<"integer"<<m<<'+'<<n<<"="<<add(m,n)<<endl;cout<<"Entertworealnumber:";cin>>x>>y;cout<<"realnumber"<<x<<'+'<<y<<"="<<add(x,y)<<endl;}intadd(intm,intn){returnm+n;}doubleadd(doublex,doubley){returnx+y;}运行结果:Entertwointeger:35integer3+5=8Entertworealnumber:2.35.8realnumber2.3+5.8=8.1C++系统函数例3-17系统函数应用举例#include<iostream>#include<cmath>usingnamespacestd;constdoublepi(3.14159265);intmain(){doublea,b;cin>>a;b=a*pi/180;cout<<"sin("<<a<<")="<<sin(b)<<endl;cout<<"cos("<<a<<")="<<cos(b)<<endl;cout<<"tan("<<a<<")="<<tan(b)<<endl;}作业