- 1、本文档共41页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章-函数
第5章 函数
5.1 函数概述
5.2 函数的定义与原型声明
5.3 函数调用
5.4 内联函数
5.5 重载函数
5.6 默认参数值使用
5.7 全局变量与局部变量
5.8 变量的存储类型与生存期
5.9 编译预处理
【知识点】
什么是函数?如何定义?
什么是函数原型声明?什么情况下必须要进行函数原型声明?引用标准库函数如何进行声明?
函数如何调用使用?传值机制特点
本节内容复习
[例]编程求两个浮点数之和的程序
#includeiostream.h
void main()
{
double x,y;
cout“input double x and y:”;
cinxy;
double z=x+y;
cout“sum=“zendl;
}
5.1函数概念及引入
它封装了一些程序代码和数据。
集装箱
程序中,如果用标识符F来对求两个浮点数之和
的算法进行如下抽象:
void main()
{
double sum;
sum=F();
cout“sum=“sumendl;
}
#includeiostream.h
高级抽象函数
函数名
函数是具有一定功能的模块。
用户只关心一个函数的功能;
而不必去关心函数内部是如何操作的( 即函数的实现)
例:1!+2!+3!+…+n!
循环体内
多次调用
提高程序设计效率,减少相同程序段的重复编写,有利于代码重用.
下图反映了main()函数用层次式管理方式与被调用函数的关系。一个函数可以被函数调用也可以调用函数。
模块化思想
函数类型 函数名(形参列表)
{ 函数体语句;} //完成具体操作
5.2函数的定义
有参有返回值
有参无返回值
函数体
函数有类型
return语句
无参有返回值
无参无返回值
int add(int x,int y)
{
return x+y;
}
add(int x,int y)
{
return x+y;
}
void main()
{
int a,b,s;
cinab;
s=add(a,b);
coutsendl;
}
double area(double x,y,z)
{…..
}
清楚了吗?
函数头
默认int
临时状态
例3:
void third(int a,int b)
{
}
例1:
void first()
{
}
例2:
int second()
{
return 1;
}
函数体可以为空
课堂练习
编写函数power(),实现求 N!
在主函数中输入N,并调用该
函数,输出结果。
函数类型
函数名
形参
功能语句
调用使用在前
定义再后
在函数尚未定义的情况下,事先将该函数的有关信息通知编译系统,以便使编译正常进行。
类型 被调函数名(形参类型、个数说明)
函数原型说明
库函数原型说明
对于库函数的声明通常在头文件中声明,在编程时,若要使用某个头文件中的库函数,则必须先将这个头文件包含到程序中。
定义在调用前省略
课堂练习
编写函数F(),实现在主函数中判断从键盘上输入的整数N,是否是素数.
判断素数
一、函数使用形式
二、函数调用机制
5.3 函数的调用
调用是实现函数
功能的手段
一、函数调用形式
无返回值函数
函数名([实参列表])
有返回值函数
变量名=函数名([实参列表])
实 参-调用方
例
(1)必须有确定的值, 可以是任意常量(地址)、变量(数组元素)、数组或表达式。
(2)可以没有参数,如果参数为两个以上,则参数之间用逗号分隔。
(3)圆括号一定要有,不能省略。
未被调用,不占内存
调用时才分配内存
调用结束后释放
形 参-定义方
int sum(int x,int y)
Void Sort (int x[ ])
int fun1(int *p)
与实参一致!
主调函数
被调函数
float area(x,y,z)
{
……
return sum;
}
void main( )
{
……
s=area(a,b,c);
……
}
实 参
形 参
参数传递?
返回值
主调函数
函数调用过程是:
为函数定义中的形参及函数体中的变量分配空间;
用实参向形参传递数据;
中断(调用)函数,将控制转交给被调用函数执行
二、函数调用机制
★ 知识点
函数的传值调用
传递变量本身的数值----传值调用
传递变量地址的值----传址调用
函数的引用调用
运行结果:
3 6
a
实 参
形 参
x
y
3
6
3
6
b
t
3
6
3
(1)传数值调用
一、传值调用实现机制和特点
① 实参用常量
文档评论(0)