函数与宏定义市公开课一等奖百校联赛获奖课件.pptxVIP

函数与宏定义市公开课一等奖百校联赛获奖课件.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章 函数与宏定义 §6.1 函数概念 §6.2 变量作用域和存放类型 §6.3 内部函数与外部函数 §6.4 递归函数设计和调用 §6.6 综合范例 10/10/第1页§6.1 函数概念 C语言允许把问题设计成一个一个模块,程序经过调用模块功效来处理问题。这些模块通常都是经过函数来实现,又可称其为函数模块。 C语言中,函数可分为两类 :一类是由系统定义标准函数,又称为库函数,其函数申明普通是放在系统include目录下以.h为后缀头文件中,如在程序中要用到某个库函数,必须在调用该函数之前用#include头文件名命令将库函数信息包含到本程序中。另一类函数是自定义函数 ,两种形式: 第一个:函数申明、函数调用、函数定义。第二种:函数定义、函数调用。10/10/第2页§ 6.1.1 函数定义 函数定义普通形式能够有两种。形式一: [存放类型符] [返回值类型符] 函数名([形参说明表]) { 函数语句体 }形式二: [存放类型符] [返回值类型型符] 函数名([形参表]) 形参说明; { 函数语句体 }10/10/第3页说明: 1.[存放类型符]指是函数作用范围,它只有两种形式:static和extern。 static说明函数只能作用于其所在源文件,用static说明函数又称为内部函数。extern说明函数可被其它源文件中函数调用,用extern说明函数,又称为外部函数。缺省情况为extern。 2.[返回值类型符]指是函数体语句执行完成后,函数返回值类型,如int, float, char等等,若函数无返回值,则用空类型void来定义函数返回值。缺省情况为int型。10/10/第4页3.函数名由任何正当标识符组成。提议将函数名命名与函数内容有一定关系。4.在第一个函数定义形式中,[形参说明表]是一系列用逗号分开每个形参变量说明。如:int x, int y, int z这表示形参变量有三个:x, y, z。它们类型都是int型。 在第二种函数定义形式中,[形参表]是一系列用逗号分开形参变量。如:x, y, z 5.函数语句体是放在一对花括号{ }中,由局部数据类型描述和功效实现两部分组成。 10/10/第5页6.函数返回语句形式有以下两种:①函数无返回值情况:return;②函数有返回值情况:return(表示式值);在第②种情况下要注意“表示式值”类型必须与函数返回值类型相一致。比如:求两个任意整数绝对值和,用函数abs_sum()实现。/*直接调用库函数来计算m和n绝对值 */int abs_sum(int m, int n) { return (abs(m)+abs(n)); }/*函数abs()是在头文件math.h中申明*/ 10/10/第6页函数定义以下:int abs_sum(int m, int n){ if (m0) m=-m; if(n0) n=-n; return(m+n);}§6.1.2 函数申明和调用 一.函数申明函数申明普通形式:[存放类型符] [返回值类型符] 函数名([形参说明表]);如:int abs-sun(int m, int n);10/10/第7页二.函数调用函数调用是经过函数调用语句来实现,分两种形式:①无返回值情况: 函数名([实参表]);②有返回值情况: 变量名=函数名([实参表]);该变量名类型必须与函数返回值类型相同。函数调用时都会去执行函数语句中内容,函数执行完成后,回到函数调用处,继续执行下面语句。10/10/第8页§6.1.3 函数传值方式 函数传值方式: 采取实参表将每一个实参值对应地传递给每一个形参变量,形参变量在接收到实参表传过来值时,会在内存暂时开辟新空间,以保留形参变量值,当函数执行完成时,这些暂时开辟内存空间会被释放,而且形参值在函数中不论是否发生改变,都不会影响到实参变量值改变,这就是函数传值方式。自定义函数在程序中使用次序有两种形式:① 先进行函数申明,再进行函数调用,函数定义放在函数调用之后。函数申明在函数调用之前。 ② 函数定义放在函数调用之前。10/10/第9页【例6-1】 编程序,经过调用函数abs-sum(),求任意两个整数绝对值和。/*exam6_1.c 调用函数求两整数绝对值和*/#include stdio.hint abs_sum(int m,int n);main(){ int x,y,z; scanf(%d%d,x,y); z=abs_sum(x,y); printf(sum is %d,z);}int abs_sum(int m,int n){ if(m0) m=-m; if(n0) n=-n; return m+n;}程序运行结果:7 12?sum is 1910/10/第1

您可能关注的文档

文档评论(0)

130****8663 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档