- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[教育]第四章 函数
江苏科技大学计算机科学与工程学院 第 4 章 函 数 第 4 章 函 数 4.1 概述 4.2 函数的定义与调用 4.3 函数嵌套调用和递归调用 4.4 函数的参数传递 4.5 函数与指针 4.6 函数的其它特性 4.1 概述 1、模块化的程序设计思想 把一个大程序分解成若干个小程序,每个小程序完成相对独立的功能。如: 问题:输出5~100之间的所有素数。 思路:定义函数 f 判断某数是否为素数。主函数中遍历5~100之间所有的数,遍历过程中调用 f 函数判断其是否为素数,若是则输出。程序结构如下所示: int f(int n) //f函数:若n是素数值为1,否则值为0 {…} void main() //主函数 { for(int n=5;n=100;n++) if(f(n))…; } 4.1 概述 2、VC++中函数的基本种类 函数是一个独立完成某些功能的模块,包括库函数和用户自定义函数两类。 3、VC++函数之间的关系 函数之间通过调用语句建立联系,通过参数(把数据传递给被调用的函数、从调用的函数中带回数据给主调函数)和返回值(把运行的结果带回给主调函数)传递数据。如: float max(float x,float y) { return xy?x:y; } void main() { float a,b,m; cinab; m=max(a,b); cout“max=”m‘\n’; } 4.1 概述 4.2 函数的定义与调用 1、组成函数的要素 函数类型、函数名、函数的参数、函数体 。 2、函数定义:说明函数的要素,其格式为: 函数类型 函数名 ( 形参表 ) { 功能语句 } 函数类型为函数运行结果(运行所得到的数据)的类型,可以是基本类型、导出类型和无值型(void),缺省为整型。 函数名是给函数起的名称,要符合标识符命名规则。 形参表有若干个形参组成,每个形参都是一个变量说明。 函数体必须用花括号括起来,可以为空。 4.2 函数的定义与调用 3、函数类型和return语句 函数类型是函数执行结果的类型,函数的执行结果,分为有返回值和无返回值二种。函数类型应与函数执行结果一致。 (1)函数有返回值:函数的执行结果为具体数据。 返回语句的形式为: return 表达式; 其执行过程为: ①先计算表达式的值; ②如果表达式值的数据类型与函数类型不相同但兼容时,将表达式值的数据类型自动转换为函数类型; ③将计算出的表达式值返回给主调函数作为调用结果(调用语句的值),该值可以参与以后的运算; ④将执行控制权交给主调函数,继续执行调用语句后面的语句。 4.2 函数的定义与调用 (2)函数无返回值:函数的执行结果不是具体的数据。 返回语句的形式为: return; 无返回值函数必须用void来说明函数类型,返回语句可以省略。当被调用的函数中无return语句时,程序执行该函数体的最后一条语句后,返回主调函数。 例4-1、定义一个求两个实数最大值的函数。 (1)函数类型:运行结果得到大数,也为实型(float); (2)函数名:合法标识符,“见名知意 ”; (3)函数参数:传递给函数的数据,为两个实型数据; (4)函数体:返回大数的语句。 float max(float a,float b) { float z; z=ab?a:b; return z; } 4.2 函数的定义与调用 说出下列函数定义的正误、原因或结果。 int f1(int a, b) { return a+b; } void f2(int a,float b) { return a+b; } float f3(int a,float b) { couta+b‘\n’; } 4.2 函数的定义与调用 特别提醒: (1)返回语句必须与函数类型一致。有值型函数一定有return语句,且return后面一定有表达式;无值型函数可以没有return语句,即使有的话,return后面也一定没有表达式。 (2)函数体中可以有多个return,它们大多出现在条件语句(if语句、if …else语句等)中 ,但只能得到一个返回值,如: int f(int a,int b) { if(ab)return a; else return b; } 4.2 函数的定义与调用 (3)函数一但执行了return语句,将退出该函数的运行。 下列f1与f2函数、f3与f4函数有无区别: 4.2 函数的定义与调用 4、函数的形参 在函数的定义时,在函数
文档评论(0)