欢迎来到天天文库
浏览记录
ID:62066502
大小:1.35 MB
页数:62页
时间:2021-04-14
《最新C++课件-chap3-函数教学讲义PPT.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C++课件-chap3-函数函数概念的引入函数:独立的功能,构成的程序的基本单位。通用:标准函数(函数库):sqrt,fabs,strcat,strlen,…用户自定义函数#includevoidmain(){doublex,m=1,sum=0;cin>>x;m=1;for(inti=0;i<7;i++)m*=x;//m=x7sum+=4*m;m=1;for(i=0;i<5;i++)m*=x;//m=x4sum+=2*m;m=1;for(i=0;i<4;i++)m*=x;//m=x3sum+=3*m;cout<2、x5+3x4一段程序被执行了多次,完成一个独立的功能优化程序结构#includevoidmain(){doublex,m=1,sum=0;cin>>x;m=power(x,7);sum+=4*m;m=power(x,5);sum+=2*m;m=power(x,4);sum+=3*m;cout<3、明,其参数个数和类型必须和函数定义中的一致。也可以给出参数名,但对编译器没有什么意义。函数调用(使用)前必须先声明后调用。函数原型的形式:数据类型函数名(形参类型列表);例:doublearea(double,double,double);函数原型用来说明一个函数的返回值类型、参数的个数和类型。使编译器检查该函数被调用的正确与否。s=area(a,b,c);调用用户自定义函数,当对一个函数的调用出现在该函数定义之前时,必须先对函数进行原型声明。当被调函数的定义写在主调函数后面时才需声明,否则可以省略函数原型说明。调用库函数时,一般在文件的开头用#include命令将包含该函4、数说明的头文件加入到程序中。doublearea(doublex,doubley,doublez);求三角形面积#include#include//需要声明????voidmain(){doublea,b,c,s;cout<<"Pleaseinputa,b,c=";cin>>a>>b>>c;s=area(a,b,c);cout<<"area="<5、6、x+z7、8、y+z9、;returnsqrt(s*(s-x)*(s-y)*(s-z));}#include#include//需要声明????doublearea(doublex,doubley,doublez){doubles;if(x+y10、11、x+z12、13、y+z>a>>b>>c;s=area(a,b,c);cout<<"area=14、"<15、ey,doublez){……return…}主调函数被调函数实参形参参数传递?3.2函数调用过程1.在主调函数中通过函数调用转到被调函数从而开始执行被调函数。2.执行被调函数时,遇到return语句或函数体的右大括号},则返回主调函数继续执行下面的语句。返回值?3.3函数调用中的参数传递两种机制:传值调用:先计算实参的值,将实参的值传递给形参。(1)传递变量的值:(2)传递变量的地址:传引用参数是主调函数与被调用函数之间交换数据的通道。按照参数书写的先后次序(与名字无关),由实参向形参的单向传递要求实参和形参的类型
2、x5+3x4一段程序被执行了多次,完成一个独立的功能优化程序结构#includevoidmain(){doublex,m=1,sum=0;cin>>x;m=power(x,7);sum+=4*m;m=power(x,5);sum+=2*m;m=power(x,4);sum+=3*m;cout<3、明,其参数个数和类型必须和函数定义中的一致。也可以给出参数名,但对编译器没有什么意义。函数调用(使用)前必须先声明后调用。函数原型的形式:数据类型函数名(形参类型列表);例:doublearea(double,double,double);函数原型用来说明一个函数的返回值类型、参数的个数和类型。使编译器检查该函数被调用的正确与否。s=area(a,b,c);调用用户自定义函数,当对一个函数的调用出现在该函数定义之前时,必须先对函数进行原型声明。当被调函数的定义写在主调函数后面时才需声明,否则可以省略函数原型说明。调用库函数时,一般在文件的开头用#include命令将包含该函4、数说明的头文件加入到程序中。doublearea(doublex,doubley,doublez);求三角形面积#include#include//需要声明????voidmain(){doublea,b,c,s;cout<<"Pleaseinputa,b,c=";cin>>a>>b>>c;s=area(a,b,c);cout<<"area="<5、6、x+z7、8、y+z9、;returnsqrt(s*(s-x)*(s-y)*(s-z));}#include#include//需要声明????doublearea(doublex,doubley,doublez){doubles;if(x+y10、11、x+z12、13、y+z>a>>b>>c;s=area(a,b,c);cout<<"area=14、"<15、ey,doublez){……return…}主调函数被调函数实参形参参数传递?3.2函数调用过程1.在主调函数中通过函数调用转到被调函数从而开始执行被调函数。2.执行被调函数时,遇到return语句或函数体的右大括号},则返回主调函数继续执行下面的语句。返回值?3.3函数调用中的参数传递两种机制:传值调用:先计算实参的值,将实参的值传递给形参。(1)传递变量的值:(2)传递变量的地址:传引用参数是主调函数与被调用函数之间交换数据的通道。按照参数书写的先后次序(与名字无关),由实参向形参的单向传递要求实参和形参的类型
3、明,其参数个数和类型必须和函数定义中的一致。也可以给出参数名,但对编译器没有什么意义。函数调用(使用)前必须先声明后调用。函数原型的形式:数据类型函数名(形参类型列表);例:doublearea(double,double,double);函数原型用来说明一个函数的返回值类型、参数的个数和类型。使编译器检查该函数被调用的正确与否。s=area(a,b,c);调用用户自定义函数,当对一个函数的调用出现在该函数定义之前时,必须先对函数进行原型声明。当被调函数的定义写在主调函数后面时才需声明,否则可以省略函数原型说明。调用库函数时,一般在文件的开头用#include命令将包含该函
4、数说明的头文件加入到程序中。doublearea(doublex,doubley,doublez);求三角形面积#include#include//需要声明????voidmain(){doublea,b,c,s;cout<<"Pleaseinputa,b,c=";cin>>a>>b>>c;s=area(a,b,c);cout<<"area="<5、6、x+z7、8、y+z9、;returnsqrt(s*(s-x)*(s-y)*(s-z));}#include#include//需要声明????doublearea(doublex,doubley,doublez){doubles;if(x+y10、11、x+z12、13、y+z>a>>b>>c;s=area(a,b,c);cout<<"area=14、"<15、ey,doublez){……return…}主调函数被调函数实参形参参数传递?3.2函数调用过程1.在主调函数中通过函数调用转到被调函数从而开始执行被调函数。2.执行被调函数时,遇到return语句或函数体的右大括号},则返回主调函数继续执行下面的语句。返回值?3.3函数调用中的参数传递两种机制:传值调用:先计算实参的值,将实参的值传递给形参。(1)传递变量的值:(2)传递变量的地址:传引用参数是主调函数与被调用函数之间交换数据的通道。按照参数书写的先后次序(与名字无关),由实参向形参的单向传递要求实参和形参的类型
5、
6、x+z7、8、y+z9、;returnsqrt(s*(s-x)*(s-y)*(s-z));}#include#include//需要声明????doublearea(doublex,doubley,doublez){doubles;if(x+y10、11、x+z12、13、y+z>a>>b>>c;s=area(a,b,c);cout<<"area=14、"<15、ey,doublez){……return…}主调函数被调函数实参形参参数传递?3.2函数调用过程1.在主调函数中通过函数调用转到被调函数从而开始执行被调函数。2.执行被调函数时,遇到return语句或函数体的右大括号},则返回主调函数继续执行下面的语句。返回值?3.3函数调用中的参数传递两种机制:传值调用:先计算实参的值,将实参的值传递给形参。(1)传递变量的值:(2)传递变量的地址:传引用参数是主调函数与被调用函数之间交换数据的通道。按照参数书写的先后次序(与名字无关),由实参向形参的单向传递要求实参和形参的类型
7、
8、y+z9、;returnsqrt(s*(s-x)*(s-y)*(s-z));}#include#include//需要声明????doublearea(doublex,doubley,doublez){doubles;if(x+y10、11、x+z12、13、y+z>a>>b>>c;s=area(a,b,c);cout<<"area=14、"<15、ey,doublez){……return…}主调函数被调函数实参形参参数传递?3.2函数调用过程1.在主调函数中通过函数调用转到被调函数从而开始执行被调函数。2.执行被调函数时,遇到return语句或函数体的右大括号},则返回主调函数继续执行下面的语句。返回值?3.3函数调用中的参数传递两种机制:传值调用:先计算实参的值,将实参的值传递给形参。(1)传递变量的值:(2)传递变量的地址:传引用参数是主调函数与被调用函数之间交换数据的通道。按照参数书写的先后次序(与名字无关),由实参向形参的单向传递要求实参和形参的类型
9、;returnsqrt(s*(s-x)*(s-y)*(s-z));}#include#include//需要声明????doublearea(doublex,doubley,doublez){doubles;if(x+y10、11、x+z12、13、y+z>a>>b>>c;s=area(a,b,c);cout<<"area=14、"<15、ey,doublez){……return…}主调函数被调函数实参形参参数传递?3.2函数调用过程1.在主调函数中通过函数调用转到被调函数从而开始执行被调函数。2.执行被调函数时,遇到return语句或函数体的右大括号},则返回主调函数继续执行下面的语句。返回值?3.3函数调用中的参数传递两种机制:传值调用:先计算实参的值,将实参的值传递给形参。(1)传递变量的值:(2)传递变量的地址:传引用参数是主调函数与被调用函数之间交换数据的通道。按照参数书写的先后次序(与名字无关),由实参向形参的单向传递要求实参和形参的类型
10、
11、x+z12、13、y+z>a>>b>>c;s=area(a,b,c);cout<<"area=14、"<15、ey,doublez){……return…}主调函数被调函数实参形参参数传递?3.2函数调用过程1.在主调函数中通过函数调用转到被调函数从而开始执行被调函数。2.执行被调函数时,遇到return语句或函数体的右大括号},则返回主调函数继续执行下面的语句。返回值?3.3函数调用中的参数传递两种机制:传值调用:先计算实参的值,将实参的值传递给形参。(1)传递变量的值:(2)传递变量的地址:传引用参数是主调函数与被调用函数之间交换数据的通道。按照参数书写的先后次序(与名字无关),由实参向形参的单向传递要求实参和形参的类型
12、
13、y+z>a>>b>>c;s=area(a,b,c);cout<<"area=
14、"<
15、ey,doublez){……return…}主调函数被调函数实参形参参数传递?3.2函数调用过程1.在主调函数中通过函数调用转到被调函数从而开始执行被调函数。2.执行被调函数时,遇到return语句或函数体的右大括号},则返回主调函数继续执行下面的语句。返回值?3.3函数调用中的参数传递两种机制:传值调用:先计算实参的值,将实参的值传递给形参。(1)传递变量的值:(2)传递变量的地址:传引用参数是主调函数与被调用函数之间交换数据的通道。按照参数书写的先后次序(与名字无关),由实参向形参的单向传递要求实参和形参的类型
此文档下载收益归作者所有