- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第七章函数资料
第7章 函数;7.1 函 数;main(void)
{
┇
f1();
┇
f2();
┇
return 0;
};main();7.1.2 函数结构
为了定义函数,必须首先了解函数的结构。一个C语言
函数的结构形式如下:
函数头
{
函数体
};1. 函数头
一个函数的函数头的结构如下:
函数类型 函数名 (形式参数表列)
(1)函数类型。指定函数值的类型,即函数返回值的类
型。
(2)函数名。函数名必须采用合法的用户标识符。
(3)圆括号。在函数名后面的一对圆括号是“函数运算
符”,表示进行函数运算,函数运算符具有很高的运算优先级
别。; (4)形式参数表。形式参数表由写在一对圆括
号(函数运算符)中的一系列参数组成。每一个参数由
一个类型符和一个参数名组成。参数名也应当是合法
的用户关键字。函数可以没有参数,这时在函数运算
符内写一个“void”,也可以空允白。;
2. 函数体
函数体由一些语句组成。主要是三种类型的语
句:
●声明语句:声明在函数中要使用的变量等程序
实体。
●用来实现函数的功能的可执行语句:包括若干
流程控制语句和表达式语句。; ● return语句:使流程返回到调用处。
当函数执行到return语句时,将停止本函数的执
行,将流程送回到调用处。同时,编译器将函数分
为三类进行处理:
●纯粹计算型函数,如sqrt( )和sin( )。这类函
数将返回一个计算结果。
;
●完成一项具体工作,返回完成的成败。如
printf( )执行成功时,返回显示的字节数;失败时,
返回一个负整数。
●只执行一个过程的函数,不产生返回值,其
类型应定义为void。
;例 求一个整数的绝对值的函数
int absolutevalue (int x)
{
return (x=0?x:-x);
} ;3. 函数中变量的作用域
作用域指的是一个程序段中的代码的作用范围,在一个
函数中定义的变量只在本函数中有效,在其它函数中不能使
用这个变量,因此说,该变量的作用域是它所在的函数(从定
义该变量的行开始到函数末尾)。即使在不同的函数中定义了
同名的变量,它们数也指的是不同的变??。;例
#include stdio.h
int func(int x)
{ x=5;
return x+3;
};4. 空函数
空函数是一个不产生任何有效操作的函数,但
它却是一个合法的C函数。例如函数
void null (void){}
就是一个空函数。; 空函数多使用在模块化程序的设计或测
试中。一般首先写好main函数,确定需要调
用的函数,然后逐步编写这些函数,如果在
有一些函数还未编写好时想对已有俩编好的
函数进行调试,可以先用空函数(函数名用将
来使用的实际函数名,如sort)放在程序中原
定的位置上,这样就可以调试程序的其它部
分,等以后再逐步补上。;7.1.3 函数定义与函数声明
1. 函数定义
函数定义是按照C语言的语法规则引入新
的函数,并提供如下信息:
● 函数的返回值类型(如果有);
● 参数的个数及类型和名称;
● 调用函数时要执行的代码;
● 函数的有效性。;2. 函数声明
函数声明是对所用到的函数的特征进行必要的
声明。编译系统以函数声明中给出的信息为依据,
对调用表达式进行检测,例如,形参与实参类型是
否一致,使用函数返回值的类型是否正确,以保证
调用表达式与函数之间的参数正确传递。 声明语句提供的必要信息包括:函数名,函数
的类型,函数参数的个数、排列次序以及每个参数
的类型。函数声明的一般格式为:
类型标识符 函数名(类型标识符形参,类型标
识符形参,…);;设有一函数的定义为:
double func (double a, int b, char c)
{
/* 函数体*/
}
与之相应的函数声明应为:
double func (double x, int y, char z);
/* 注意末尾的分号 */;7.1.4 虚实结合与传值调用 一个函数中的函数体,只有在该函数被调用时
才会执行。在函数被调用时,将要进行如下两个操
作:
● 将函数调用中的实际参数值传送给函数定义
中的形式参数;
● 将流程从调用处转到被调用的函数的开头,
开始执行函数体中的代码。;
1. 函数调用时的虚实结合
参数是函数调用时进行信息交换的载体。实参
是
文档评论(0)