- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
函数 前面我们曾经学习了程序设计中的三种基本控制结构(顺序、分支、循环)。用它们可以组成任何程序。但在应用中,还经常用到子程序结构。 通常,在程序设计中,我们会发现一些程序段在程序的不同地方反复出现,此时可以将这些程序段作为相对独立的整体,用一个标识符给它起一个名字,凡是程序中出现该程序段的地方,只要简单地写上其标识符即可。这样的程序段,我们称之为子程序。 子程序的使用不仅缩短了程序,节省了内存空间及减少了程序的编译时间,而且有利于结构化程序设计。因为一个复杂的问题总可将其分解成若干个子问题来解决,如果子问题依然很复杂,还可以将它继续分解,直到每个子问题都是一个具有独立任务的模块。这样编制的程序结构清晰,逻辑关系明确,无论是编写、阅读、调试还是修改,都会带来极大的好处。 在一个程序中可以只有主程序而没有子程序(本章以前都是如此),但不能没有主程序,也就是说不能单独执行子程序。 在此之前,我们曾经介绍并使用了C++提供的各种标准函数,如abs(),sqrt()等等,这些系统提供的函数为我们编写程序提供了很大的方便。比如:求sin(1)+ sin(2)+...+sin(100)的值。但这些函数只是常用的基本函数,编程时经常需要自定义一些函数。 一、函数的定义 函数定义的语法形式 数据类型 函数名(形式参数表) { 函数体 //执行语句 (return) } 关于函数的定义有如下说明: 函数的数据类型是函数的返回值类型(若数据类型为 void ,则无返回值)。 函数名是标识符,一个程序中除了主函数名必须为main外,其余函数的名字按照标识符的取名规则可以任意选取,最好取有助于记忆的名字。 形式参数(简称形参)表可以是空的(即无参函数);也可以有多个形参,形参间用逗号隔开,不管有无参数,函数名后的圆括号都必须有。形参必须有类型说明,形参可以是变量名、数组名或指针名,它的作用是实现主调函数与被调函数之间的关系,通常将函数所处理的 数据、影响函数功能的因素或者函数处理的结果作为形参。在被调用函数中的参数被称为形参。 函数中最外层一对花括号“{ }”括起来的若干个说明语句和执行语句组成了一个函数的函数体。由函数体内的语句决定该函数功能。函数体实际上是一个复合语句,它可以没有任何类型说明,而只有语句,也可以两者都没有,即空函数。 函数不允许嵌套定义。在一个函数内定义另一个函数是非法的。但是允许嵌套使用。 二、形参与实参 #includeiostream using namespace std; void swap(int a,int b) { int tmp=a;a=b;b=tmp; } int main() { int c=1,d=2; swap(c,d); coutc dendl; return 0; } //程序输出为:1 2 在此例中,虽然在swap函数中交换了a,b两数的值,但是在main中却没有交换。因为swap函数只是交换c,d两变量副本的值。 #includeiostream using namespace std; int main() { int a,b,g,n,r,i,t; cinn; cing; for(i=1;i=n-1;i++) { a=g; cinb; if(ab) { t=a; a=b; b=t; } r =a % b; while (r!=0) { a=b; b=r; r=a % b; } g=b; } coutg; return 0; } 三、函数的声明 调用函数之前先要声明函数原型。在主调函数中,或所有函数定义之前,按如下形式声明: 类型说明符 被调函数名(含类型说明的形参表); 函数原型和函数声明在返回值类型、函数名和参数个数与类型必须完全一致,否则,就会发生编译错误。下面对max()函数原型声明是合法的。 int max(int x, int y); 也可以: int max(int , int ); 可以看到函数原型声明与函数定义时的第一行类似,只多了一个分号,成为了一个声明语句而已。 函数声明该加在什么位置? 如果是在所有函数定义之前声明了函数原型,那么该函数原型在本程序文件中任何地方都有效,也就是说在本程序文件中任何地方都可以依照该原型调用相应的函数。如果是在某个主调函数内部声明了被调用函数原型,那么该原型就只能在这个函数内部有效。 四、函数的调用 声明了函数原型之后,便可以按
您可能关注的文档
- BIM技术在铁路隧道 设计阶段的应用研究-铁二院.pptx
- BS3000+总部用户手册.doc
- C++03第3章_类和对象.ppt
- C++04第4章_类和对象.ppt
- C++05第5章_程序的结构.ppt
- c++-程序控制结构.ppt
- c++9流与文件.ppt
- C++二叉树结构的建立与基本操作.doc
- C++大学基础教程第1章.ppt
- c++教程 第七章.ppt
- 第12课 大一统王朝的巩固 课件(20张ppt).pptx
- 第17课 君主立宪制的英国 课件.pptx
- 第6课 戊戌变法 课件(22张ppt).pptx
- 第三章 物态变化 第2节_熔化和凝固_课件 (共46张ppt) 人教版(2024) 八年级上册.pptx
- 第三章 物态变化 第5节_跨学科实践:探索厨房中的物态变化问题_课件 (共28张ppt) 人教版(2024) 八年级上册.pptx
- 2025年山东省中考英语一轮复习外研版九年级上册.教材核心考点精讲精练(61页,含答案).docx
- 2025年山东省中考英语一轮复习(鲁教版)教材核心讲练六年级上册(24页,含答案).docx
- 第12课近代战争与西方文化的扩张 课件(共48张ppt)1.pptx
- 第11课 西汉建立和“文景之治” 课件(共17张ppt)1.pptx
- 唱歌 跳绳课件(共15张ppt内嵌音频)人音版(简谱)(2024)音乐一年级上册第三单元 快乐的一天1.pptx
最近下载
- 2024年政务服务行政办事员职业技能考试题库及答案3.docx
- 2024年政务服务行政办事员职业技能考试题库及答案2.docx
- 2024年政务服务行政办事员职业技能提升题库及答案1.docx
- 小学五年级上册数学期末考试试卷含答案【能力提升】.docx
- 天文知识科普文档.doc VIP
- 相许-卿卿日常配乐-五线谱+简谱.pdf
- 2022江西抚州市政务服务大厅面向社会公开招聘2名行政办事员【共500题附答案解析】模拟检测试卷0.docx
- 2024年政务服务行政办事员职业技能考试题库及答案5.docx
- 中医执业医师资格考试时间2023年.pdf
- 浙教版信息科技五年级上册 第三单元 用算法解决问题 大单元整体教学设计.docx
文档评论(0)