- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
尚辅网 尚辅网 第8章 函数和编译预处理 C语言是一种结构化程序设计语言,而结化程序设计的总体思想是采用模块化结构,自上而下,逐步求精。即首先把一个复杂的大问题分解为若干相对独立的小问题,如果小问题仍较复杂,则可以把这些小问题又继续分解成若干子问题,这样不断地分解,使得小问题或子问题简单到能够直接用程序的三种基本结构表达为止。然后,对应每一个小问题或子问题编写出一个功能上相对独立的程序块来,这种像积木一样的程序块被称为模块。 前面各章中介绍的程序,都只有1个主函数main()。实际上,1个较大的应用程序,按结构化程序设计的要求,往往需要分成多个模块。C语言是通过函数实现模块化程序设计的,所以1个大的C语言程序,是有多个函数组成的,每个函数分别对应各自的功能模块。 在这些函数中,可以调用C编译系统提供的库函数,也可以调用自己编写的、或别人编写的自定义函数。 函数的分类: 从用户角度分为: 由系统提供标准函数(库函数)和用户自定义函数 从函数形式分为: 无参函数和有参函数 8.1 函数的定义与调用 8.1.1函数的定义 1.任何函数(包括主函数main())都是由函数说明和函数体两部分组成。根据函数是否需要参数,可将函数分为无参函数和有参函数两种。 (1)无参函数的一般形式 函数类型 函数名( void ) { 说明语句部分; 可执行语句部分; } 例如:void fun(void) { printf(“ C program\n”); } (2)有参函数的一般形式 函数类型 函数名( 数据类型 参数[,数据类型 参数2……] ) { 说明语句部分; 可执行语句部分; } 有参函数比无参函数多了一个参数表。调用有参函数时,调用函数将赋予这些参数实际的值。 为了与调用函数提供的实际参数区别开,将函数定义中的参数表称为形式参数表,简称形参表。 (3)空函数──既无参数、函数体又为空的函数。其一般形式为: [函数类型] 函数名(void) { } [例题8.1] 定义一个函数,用于求两个数中的大数。 /*功能:定义一个求较大数的函数并在主函数中调用*/ int max(int n1, int n2) /*定义一个函数max(),n1,n2为形参*/ { int z; z=n1n2?n1:n2; /*返回n1,n1中较大者 */ return (z) } main() { int max(int n1, int n2); /*函数说明与函数定义第一行一样写,但在最后加;*/ int num1,num2; /*num1,num2是实际参数*/ printf(input two numbers:\n); scanf(%d%d, num1, num2); printf(max=%d\n, max(num1,num2)); /*函数调用*/ getch(); /*使程序暂停,看结果。按任一键继续*/ } 2.说明: (1)函数类型:指出return语句返回值的类型,它可以是C语言中任意合法的数据类型。如:int float char等,函数类型缺省时,系统默认为int 型。 (2)函数名:是一个标识符。标识函数的名称。 (3)函数名后括号内是形式参数,写出参数的类型和名字。 如:int max(int n1, int n2);不能写成:int max(int n1, n2); (4)在老版本C语言中,参数类型说明允许放在函数说明部分单独指定。 例如: int max(n1, n2); { int n1,n2; …… } (5)一个C程序由一个main主函数和多个子函数组成,执行从main函数开始,调用其他函数后,返回到main函数,在main函数中结束整个程序的运行。 (6)函数定义不允许嵌套。 在C语言中,所有函数(包括主函数main())都是平行的。一个函数的定义,可以放在程序中的任意位置,主函数main()之前或之后。但在一个函数的函数体内,不能再定义另一个函数,即不能嵌套定义。 8.1.2 函数的返回值与函数类型 C语言的函数兼有其它语言中的函数和过程两种功能,从这个角度看,又可把函数分为有返回值函数和无返回值函数两种。 1.函数返回值与return语句 有参函数的返回值,是通过函数中的return语句来获得的。当然有参函数如果不需要返回值,也可以没有return语句。 (1)return语句的一般格式: return ( 返回值表达式 ); 或return返回值表达式; (2)return语句的功能:返回调用函数,并
您可能关注的文档
- C语言程序设计(第二版)电子教案任正云 第4章选择结构程序设计.ppt
- C语言程序设计(第二版)电子教案任正云 第5章循环结构.ppt
- C语言程序设计(第二版)电子教案任正云 第6章 函数.ppt
- C语言程序设计(第二版)电子教案任正云 第7章数组.ppt
- C语言程序设计(第二版)电子教案任正云 第8章 指针.ppt
- C语言程序设计(第二版)电子教案任正云 第9章结构体和共用体.ppt
- C语言程序设计(第二版)电子教案任正云 第10章文件.ppt
- C语言程序设计(第二版)电子教案王伟 第1章.ppt
- C语言程序设计(第二版)电子教案王伟 第2章.ppt
- C语言程序设计(第二版)电子教案王伟 第3章.ppt
- c语言程序设计(徐贞如) 第9章指针.ppt
- c语言程序设计(徐贞如) 第10章 结构共用型和.ppt
- c语言程序设计(徐贞如) 第11章 位运算.ppt
- c语言程序设计(徐贞如) 第12章 文件.ppt
- C语言程序设计案例教程 第2版 教学课件 作者 廖湖生 叶乃文 周珺 C语言入门.ppt
- C语言程序设计案例教程 第2版 教学课件 作者 廖湖生 叶乃文 周珺 函数.ppt
- C语言程序设计案例教程 第2版 教学课件 作者 廖湖生 叶乃文 周珺 函数复习5.ppt
- C语言程序设计案例教程 第2版 教学课件 作者 廖湖生 叶乃文 周珺 计算机基础知识.ppt
- C语言程序设计案例教程 第2版 教学课件 作者 廖湖生 叶乃文 周珺 结构化实例7.ppt
- C语言程序设计案例教程 第2版 教学课件 作者 廖湖生 叶乃文 周珺 结构体6.1.ppt
文档评论(0)