- 1、本文档共92页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]c语言第四版课件 第7章 函数1-7
*第7章 函 数 P170 7.1 为什么要用函数 7.2 怎样定义函数 7.3 函数的调用 7.4 对被调用函数的声明和函数原型 7.5 函数的嵌套调用 7.6 函数的递归调用 7.7 数组作为函数参数 7.8 局部变量和全局变量 7.9 变量的存储方式和生存期 7.10 关于变量的声明和定义 7.11 内部函数和外部函数 习题 7.1 为什么要用函数 P170 模块:用来完成一个特定功能的程序段。 结构化的程序设计思想要求: 将一个较大的程序分为若干个小的模块,每一个模块用来实现一个特定的功能。 所有的高级语言中都有子程序这个概念,用子程序实现模块的功能。 在C语言中,模块(子程序)的功能是由函数完成的。 *说明 P171 (1)一个C程序由一个或多个源程序文件组成。 对较大的程序,一般不是把全部功能都放在一个文件中实现,而是分别放在若干个源文件中,再由若干源文件组成一个C程序。 这样可以分别编写、分别编译,分别调试,从而提高软件开发的效率。 (2)一个C程序文件是由一个或多个函数组成。 *一个源程序文件是一个编译单位, 即以源程序文件为单位进行编译,而不是以函数为单位进行编译。 (3)C程序的执行从main函数开始, 调用其他函数后流程回到main函数,在main函数中结束整个程序的运行。 (4)所有函数(在视觉上)都是平行的。 即在定义函数时是互相独立的,一个函数不可写在另一函数内,即函数不能嵌套定义,函数间可以互相调用,但不能调用main函数。 (5)从使用角度看,函数有两种: ① 标准函数,即库函数。 这是由系统提供的,可以直接使用它们。应该说明,不同的C系统提供的库函数的数量和功能不同,当然有一些基本的函数是共同的。 ② 用户自己定义的函数。 用以解决用户的专门需要。 (6)从函数的形式看,函数分两类: ①无参函数。 在调用无参函数时,主调函数并不将数据传送给被调用函数,一般用来执行指定的一组操作。 无参函数可以带回或不带回函数值,但一般以不带回函数值的居多。 ②有参函数。 在调用函数时,在主调函数和被调用函数之间有数据传递。 也就是说,主调函数可以将数据传给被调用函数使用,从被调用函数得到一个数据带回来供主调函数使用。 7.2 怎样定义函数 P1727.2.1 为什么要定义函数 P172 C 语言要求,在程序中用到的所有函数, 必须“先定义,后使用”。 定义函数应包括以下几个内容: (1)指定函数名,以便按名调用。 (2)指定函数类型,即函数返回值类型。 (3)指定函数参数的名字和类型,以便在函数调用时向它们传递数据。对于无参数函数不需要此项。 (4)指定函数应当完成什么操作,即函数功能。 这是最重要的,是在函数体中解决的。 7.2.2. 定义函数的方法 P1731. 定义无参函数 P172 类型标识符 函数名( ) { 函数体 } 函数体包括,声明部分和语句部分。 用“类型标识符”指定函数值的类型,即函数带回来的值的类型。 无参函数一般不需要带回函数值,写void类型标识符。 // 例7.1 P170 #include stdio.h int main( ) { void printstar( ) ; void print-message( ); printstar( );/* 调用printstar函数 */ print-message( );/* 调用print message */ printstar( ); /* 调用printstar函数 */ return(0); } void printstar( ) /*printstar函数*/ { printf("* * * * * * * * * * * * * * * * * *\n ); } void print-message( ) /* print-message函数*/ { printf(How do you do!\n); } 2. 定义有参函数 P173 类型标识符 函数名(形式参数表列) { 函数体 } 函数体包括,声明部分和语句部分。 例如: int max1(int x,int y) { int z; /*函数体中的
文档评论(0)