语言第七章函数final.pptxVIP

  1. 1、本文档共104页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 函数 ;7.1 结构化程序设计与C语言程序结构 ;模块化软件示意图 :;例如:一个“工资计算程序”的自顶向下开发 从软件工程上看,可靠性、效率、可维护性是 软件质量的主要评价指标。因此,模块化软件能够 成为高质量的软件。 ;7.1.2 C语言程序的结构 C语言是适合结构化软件开发的程序语言之 一,这是因为用C语言编制的程序本身就具有模块化 结构。 ;7.2 函数的定义和调用 ;说明: ⑴ 函数的存储类只有extern(外部)和static(静 态)。存储类型为extern时,可省略。 ⑵ 函数的数据类型是函数返回值的数据类型,可以 是各种基本数据类型(char、int、double等)和复 杂数据类型,包括指针类型和结构体。 当函数的数据类型为int时,可省略。 当函数不需要返回值时,将函数的数据类型指定为void 。 ⑶ 函数名与变量名一样也是标识符的一种,与变量 名命名规则类似,最好“见名知意”。由圆括号包围的部分称为参数表,也称形式参数表,简称形参表。 ⑷ 由大括号括起来的程序部分称为函数体。 ;7.2.2 函数的调用 函数的执行过程 在一个函数中调用另一个函数时,程序控制就从调用函 数中转移到被调用函数,并且从被调用函数的函数体起始位 置开始执行该函数的语句。在执行完函数体中的所有语句, 或者遇到return语句时,程序控制就返回调用函数中原来的 断点位置继续执行。;2. 函数的原型(也称函数声明) 在一个函数中调用另外一个函数(即被调用的 函数)需要具备下列条件: (1)被调用的函数必须是已经存在的函数(是库函数 或用户自己定义的函数)。 (2)如果使用库函数,在本文件的开头用#include命 令将调用有关函数时所需要的信息“包含”到本文件 中来;如果调用的是用户自己定义的函数,在主调函 数所在文件中,对被调用函数进行声明。; 在C语言中,函数原型的一般形式为: (1)函数数据类型 函数名(参数类型1,参数类型 2); (2)函数数据类型 函数名(参数类型1 参数名1,参 数类型2 参数名2); ;3. 函数调用时参数的使用 在调用一个函数时,必须使用具有实际量的值 作为函数的参数,这时函数的参数称为实参数。 (1)实参数的个数和顺序必须与函数定义的形式参数 保持一致; (2)实参数据类型必须和相应的形式参数相同。 可以这样认为:实参的值是形参初始化的初 值。;函数调用的方式 凡是已定义的函数就可以用如下格式直接调用: 函数名(实参表); 源程序中可出现以下三种函数调用方式: (1). 函数调用语句,如: 函数原型: void delay(unsigned t); 调用语句: delay(600000); (2). 函数表达式,如: v = volume(3, 4, 5); c = 2 * max(a, b); (3). 作为函数的实参,如: m = max(a, max(b, c)); 其中max(b, c)是第一次函数调用,它的返回值作为max( ) 第二次调用的实参。m的值取a, b, c中最大值。;7.2.3 参数数目可变的函数 C语言中可以定义参数数目可变的函数。定义参 数数目可变的函数时,必须至少明确说明一个形 参;在列出的最后一个形参后面用省略符() 来说明该函数的参数数目可变。 例如: 函数原型:int printf(char *format,…..); 调用形式:printf(格式化字符串,输出参数1,输 出参数2.,,输出参数n); ;7.3 函数间的数据传递 ; 传值调用的实现机制是系统将实参拷贝一个“ 副本”给形参,在被调用函数体内,形参的改变只影 响副本中的形参值,而不影响调用函数中的实参 值。 但是,当函数需要获得几个结果值,利用这种 传值调用将不能达到目的,下面用一个实例来加以 说明。 ;例7.1 比较两个整数的大小 #include stdio.h int comp(int x, int y); // 函数原型声明 void main() { int a = 10, b = 20; printf(%d\n, comp(a, b)); printf(%d\n, comp(30, b)); } int comp(int x, int y) // 函数comp定义,采用值传递传递数 { if (x y) return 1; else if (x y) r

文档评论(0)

lzjbook118 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档