- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章 函数与编译预处理 函数的概念、定义、调用(重点和难点) 变量的作用域、变量的存储方式 编译预处理 6.1 函数的概念 在前面几章的学习过程中,我们所介绍的所有的C语言程序都是由一个main函数组成的,但实际上,一个C程序一般情况下都是由一个main函数和若干个其它函数组成,main函数称为主函数。 函数的概念:书本上没有给出函数的具体、规范的概念,一般说来,函数可以描述成“实现一定功能的程序模块”。 先看两个C程序的实例,这两个程序都是由一个主函数(即main函数)和若干个其它函数组成的。 例1: main( ) { printstar( ); print_message( ); printstar( ); } printstar( ) { printf(“****************\n”); } print_message( ) { printf(“hello,world!\n”); } 例2: main( ) { int x,y,z; scanf(“%d,%d”,x,y); z=sum(x,y); printf(“the result is %d\n”,z); } int sum(int a, int b) { int c; c=a+b; return c; } 由上面两例可知: (1)一个C程序一般由一个或多个函数组成,其中有且仅有一个main函数。 (2)C程序执行时,总是从main主函数开始,又在main函数中结束。 (3)每个其他函数都能实现一定的功能,在main函数中可以调用其他函数,其他函数也可以相互调用,但其他函数不可以调用main函数。 (4)从用户使用角度看,C程序中的函数可以分为两大类:库函数和用户自定义函数。 (5)从函数的定义和使用形式看,函数分为两大类:有参函数和无参函数。 6.2 函数的定义 6.2.1 无参函数的定义形式 类型说明符 函数名() { 变量说明部分; 语句执行部分; } 其中,类型说明符可以省略不写,例如 main函数定义时。 类型说明符说明的是函数返回值的类型,若函数没有需要带回的值,则类型说明符可以省略,也可以写成void。如:main函数可以定义如下: void main() { …… } 6.2.2 有参函数的定义 类型说明符 函数名(形式参数列表) { 变量说明部分; 语句执行部分; } 函数的参数 无参函数在定义和使用时,都不需要任何参数,但是函数名后面的一对圆括号不能省略。 有参函数的参数一般指的是该函数的操作对象;参数可分为两类:形式参数(简称形参)和实际参数(简称实参)。 形参是指函数定义时函数名后圆括号内的变量,一般代表该函数的形式操作对象。 实参指的是函数调用时函数名后圆括号内的变量,一般代表该次函数调用的实际操作对象。 例如:P108 例6.2 对形参和实参的几点说明: (1)形参只有在函数被调用时才分配内存单元,调用结束即释放。 (2)实际参数可以是常量,变量和表达式形式,但要求使用时有确定值,形参只能是变量。 (3)函数定义时,必须说明形参类型。 (4)形参和实参在数量、类型、顺序上要求严格一致。 (5)C语言规定,实参对形参的数据传递是“值传递”,即“单向传递”,即只能是实参把值传递给形参,形参操作后的值不能传回给实参。 例如: main( ) { int a=3,b=4; swap(a,b); printf(“%d,%d\n”,a,b);} void swap(int x, int y) { int z; z=x; x=y; y=z; } 分析程序执行后的结果。 6.3 函数的返回值 有时,主调函数调用了一个被调用函数后,希望该函数(被调用函数)运行完时,把运行结果带回来,这里运行结果就是被调用函数的返回值。 如果,函数被调用后需要返回一个数据值给主调函数,则在该函数定义时,应说明函数返回值的类型。 如果不需要返回数据值给主调函数,则该函数定义时,可以省略函数返回值类型,也可以用void明确表示不需返回值。 对函数返回值作些说明: (1)函数值的返回时通过在函数中使用return语句来实现的。return语句的
文档评论(0)