资源描述:
《c++程序设计教程-函数课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、02:41:511C++程序设计教程(第二版)第五章函数机制Chapter5FunctionMechanism海南大学三亚学院02:41:512第五章内容函数性质(FunctionCharacter)指针参数(PointerParameters)栈机制(StackMechanism)函数指针(FunctionPointers)main参数(Themain’sParameters)递归函数(RecursiveFunctions)函数重载(FunctionOverload)海南大学三亚学院02:41:513函数C
2、++的函数是完成既定任务的功能(过程)体,它涵盖了数学函数和一般过程.所以基于过程编程本质上就是基于函数编程函数机制一是指程序运行过程中对函数调用的数据管理和处理过程二是指编程中函数的使用规范.它包括函数参数的属性和传递规则,函数返回类型的匹配与审查,函数名字的识别原则,函数体效率的选择,函数体中数据的访问权限等海南大学三亚学院一、概述#includeusingnamespacestd;voidmain(){voidprintstar();//对函数进行声明voidprintmessage
3、();printstar();//调用函数printmessage();printstar();}voidprintstar()//定义函数{cout<<"****************";}voidprintmessage()//定义函数{cout<<"Howdoyoudo?";}引例练习:采用函数调用方式,输出下列欢迎界面。#includevoidmain(){voidp1();voidp2();p1();p2();p1();}voidp1(){cout<<"******
4、";}voidp2(){cout<<"*欢迎*";}一个C程序可由一个主函数和若干个函数构成。由主函数调用其他函数。其他函数可以相互调用,但不能调用主函数。同一函数可以被一个或多个函数调用任意多次。基本概念分类从用户使用的角度看:标准函数和用户自定义函数从函数的形式看:无参函数和有参函数(一)、举例(二)、函数的定义二、函数定义的一般形式(一)、举例(有参函数)输入两个数,输出最大值。(判断的两个数的最大值用函数)voidmain(){intmax(intx,inty);//对max函数进行声明inta,
5、b,c;cin>>a>>b;c=max(a,b);//调用max函数cout<"Themaxis“<y)z=x;elsez=y;return(z);}练习:用函数调用的方式求解两个数的差。(二)、函数定义类型标识符函数名(形参列表){声明部分语句部分}函数首部函数体格式intmax(intx,inty)//int:函数类型;max:函数名;//intx,inty:形参及其定义{intz;//声明部分,说明函数内部用到的变
6、量。if(x>y)z=x;elsez=y;return(z);//返回函数的结果}三、函数参数和函数的值函数参数——形参与实参形参:定义函数时函数名后面括号中的变量名实参:调用函数时函数名后面括号中的表达式voidmain(){intmax(intx,inty);inta,b,c;cin<>>a>>b;c=max(a,b);//a,b为实参cout<<"Themaxis“<y)z=x;elsez=y;return(z);}形参与实
7、参、函数名与返回值之间的关系:c=max(a,b);-----------------------实参:在运行时把函数的intmax(intx,inty)把值传给函数。结果赋给{………函数名return(z);形参:通知系统}要预留内存位置。说明:(1)形参在函数被调用前不占内存;函数调用时为形参分配内存;调用结束,释放内存。(2)实参可以是常量、变量或表达式,但必须有确定的值。(3)在被定义的函数中,必须指定形参的类型(4)形参与实参类型一致,个数相同(5)实参对形参进行单向“值传递”,不能把形参的值反向地
8、传送给实参。形参与实参占用不同的内存单元.假设:a,b为实际参数;x,y为形式参数假设:a,b为实际参数;x,y为形式参数(6)在函数调用过程中,形参的值发生改变,并不改变实参中的值。#includeusingnamespacestd;voidmain(){intn;ints(intn1);cout<<"inputnumber";cin>>n;s(n);cout<<"n=“<