第三节 函数.ppt

  1. 1、本文档共103页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 函数 3.1 函数的定义 在编辑一个大型程序时,即使各个函数的前后顺序不同,程序执行的开始点永远是主函数。主函数按照调用与被调用关系调用子函数。子函数如果与其它子函数又存在调用与被调用关系,当然还可以再调用其它子函数。 3.1 函数的定义 函数是面向对象程序设计中的基本抽象单元, 是对功能的抽象。 3.1 函数的定义与使用 3.2 函数调用机制 3.3 递归函数 3.4 默认参数的函数 3.5 函数重载 3.6 函数模板 3.7 变量作用域 3.1 函数的定义 在一对调用与被调用关系中,我们把调用其它函数的函数称为主调函数,被其它函数调用的函数称为被调函数。在一个较为复杂的大型程序中,一个函数很可能同时扮演两种不同的角色——主调函数与被调函数,即既调用别的函数(被调函数)又被另外的函数(主调函数)调用。函数一般应遵守先定义后调用的原则,否则应在调用函数中先进行原形说明。 一、函数的定义 一个完整的函数定义由两部分组成,即函数头与函数体。 1. 函数定义的一般语法形式 类型标识符 函数名说明符(形式参数表) { 说明性语句序列; 实现函数功能的语句系列; } 函数头是指上述格式中的类型标识符 函数名说明符(形式参数表)。其中函数名可由函数设计者命名,可以是任何一个不重复的合法的标识符(唯一的例外是,主函数必须命名为main)。 函数体是指上述格式中被一对大括号括起的复合语句部分。该函数所应实现的功能由相应的复合语句完成。 2、形式参数表 type1 name1, type2 name2, ..., typen namen 函数在没有被调用的时候其形参只是一个符号,它标志着在形参出现的位置应该有一个什么类型的数据。函数在被调用时才由主调函数将实际参数(简称实参)赋予形参。从这一点上说,C++中的函数与数学中的函数概念极其相似。例如,我们都熟悉的如下数学中的函数形式: f(x)=3x+5x-2 这个函数只有当自变量x被赋以确定的值以后,才能计算出函数的值。 二、 函数的调用 如果没有遵守先定义后调用的原则,调用函数之前先要在主调函数中声明函数原型。在主调函数中,或所有函数之前,按如下形式进行函数原型声明: 类型标识符 被调函数名(含类型说明的形参表); 如果是在所有函数之前声明了函数原型,那么该函数原型在本程序文件中任何地方都有效,也就是说,在本程序文件中任何地方都可以依照该原型调用相应的函数。如果是在某个主调函数内部声明了被调函数原型,那么该原型就只能在这个函数内部有效。 声明了函数原型之后,便可以按如下形式调用子函数: 函数名(实参1,实参2,…,实参n) 实参列表中应给出与函数原型中形参个数相同、类型相符的实参,每个实参都可以是常量、变量或表达式三者之一。实参与实参之间用逗号作为分隔符。注意,这里的逗号不是顺序求值运算符。函数调用可以作为一条语句,这时函数可以没有返回值。函数调用也可以出现在表达式中,这时就必须有一个明确的返回值。函数调用示例如下。 【例1】编写一个n!的函数,并调用。 (1)n!的函数 long fac(int n) { int i,jc=1; if(n0) { coutn不能小于0endl; return -1; } for(i=1;i=n;i++) jc*=i; return jc; } (2)函数调用 #includeiostream.h long fac(int n); //原型说明语句 void main() { int a; cout请输入a的值:endl; cina; couta!=fac(a)endl; } 【例2】求任意两个数的最大值的函数及其调用。 #includeiostream.h int max(int x,int y); void main() { int a,b,c; cout请输入a、b、c的值:endl; cinabc; cout“a、b、c最大值是max(max(a,b),c)endl; } int max(int x,int y) { if (xy) return y; else return x; } 【例3】 编写一个函数,把华氏温度转换为摄氏温度,公式为C=(F-32)*5/9,公式中F代表华氏温度,C代表摄氏温度。在主函数中提示用户输入一个华氏温度,并完成输入及输出,由函数完成转化功能。 程序代码如下:

文档评论(0)

0520 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档