- 1、本文档共65页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c第5章
常用代码的集装箱——函数在C++中,将一段经常需要使用的代码封装起来,在需要使用时直接调用,这就是函数。函数就像是一个箱子,往里面丢进一些数据后,这个箱子就抛出所要的数据。有了这个箱子以后,程序将更加易懂。下面是一个没有使用函数的数字累加器的程序1——100,5——500求和未使用函数#include stdafx.h //把一些MFC标准头文件预先编译#include iostream.h//包含输入、输出头文件int main(int argc, char* argv[]){int i,i_sum=0;//声明变量for(i=1;i=100;i++)i_sum+=i;//循环计算1~100的和cout1到100的和为: i_sumendl;//输出和并换行for(i=5;i=500;i++)i_sum+=i;//循环计算5~100的和cout5到500的和为: i_sumendl;//输出和并换行return 0;//返回结束程序}使用函数(假设sum函数实现累加的功能)isum=sum(1,100);coutthe sum is: i_sumendl;//输出和并换行isum=sum(5,500);coutthe sum is: i_sumendl;//输出和并换行函数模块化的开发程序的优点信息隐藏当使用函数时,只需将精力放在处理调用程序与函数间的数据传递,而不需了解函数是如何完成计算,如何产生所要的数据,即利用函数将数据处理过程隐藏起来,只留下函数需要的数据和传出的数据程序代码的再利用如上文只需要调用一次sum函数,就使得编写的函数精简,而且减少了复制和改写程序的时间,这就是程序代码的再利用。不仅可针对自己的程序,也可使用别人的。程序代码的纠错利用函数模块化程序,程序如同积木堆积。在程序出错时,只需一一确认每个使用的函数是否出错。函数模块化的层次管理一个较大的程序一般划分为多个程序模块(即程序文件),每一个模块实现一个功能。在一个程序文件中可以包含若干个函数,但只能有一个main函数,也就是说一个程序的多个文件中只能有一个文件中有main函数。程序总是从main函数开始执行的。在程序运行过程中,由main函数调用其他函数,其他函数也可互相调用。调用其他函数的函数成为主调函数,被其他函数调用的函数称为被调函数。 下图反映了main()函数用层次式管理方式与被调用函数的关系。一个函数可以被函数调用也可以调用函数。函数的定义与声明C++中有大量系统文件,能实现很多功能。但为解决用户实际需要,常要编写用户自定义函数。故从用户使用的角度,C++中的函数主要有两种。系统函数(库函数):这是编译系统提供的,用户不需定义这些函数,就可直接使用。用户自定义函数:用户根据程序功能的需要自己编写函数。函数的定义函数的定义实现了函数的功能。C++不允许函数定义嵌套,即在函数定义中再定义一个函数是非法的。函数类型 函数名 (形式参数表){ 若干语句; 函数体}说明函数的类型:函数返回值的类型函数名:符合标识符的规则形式参数表:函数中可以有形式参数,也可以没有。形式参数简称为形参。分类(根据形参和有无返回值)有参且有返回值int max(int i,int j)//函数首部,函数值为整型,有两个整型参数,求出两个数的大数{ int z; //函数体中的声明部分 z=ij?i:j; //将x和y中的大者赋值给变量z return(z); //将z的值作为返回值返回调用点}int sum(int m,int n){ int z=0; //函数体中的声明部分 for(int i=m;i=n;i++)z=z+i return(z); //将z的值作为返回值返回调用点}有参但无返回值void swap(int x,int y)//函数首部,函数值为空,有两个整型参数,实现x和y的交换{ int t;//函数体中的声明部分t=x;//将x赋值给tx=y;//将y赋值给xy=t;//将t赋值给y,没有return 语句}无参但有返回值char getc( )//函数首部,函数值为字符型,无参数,从键盘上输入一个字符{ char x; //函数体中的声明部分 cinx;//从键盘上输入一个字符 return x;//将x的值作为返回值返回调用点}无参且无返回值void mess( )//函数首部,函数值为空,没有参数,输出一个字符串{ cout”你好,欢迎学习C++!”;}函数的声明定义一个函数就是为了调用,如果函数定义在后,而调用该函数在前,就会产生错误。为了解决这个问题,必须将函数定义在主调函数的前面或在调用前进行函数的
文档评论(0)