- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c语言课件第4章
第4章 函数与预处理 4.1 概述 4.2 定义函数的一般形式 4.3 函数参数和函数的值 4.4 函数的调用 4.5 内联函数 4.6 函数的重载 4.7 函数的嵌套调用 4.8 函数的递归调用 4.9 局部变量和全局变量 4.10 变量的存储类别 4.11 变量属性小结 4.12 关于变量的声明和定义 4.13 内部函数和外部函数 4.14 预处理命令 4.1 概述 “函数”这个名词是从英文function翻译过来的,其实function的原意是“功能”。顾名思义,一个函数就是一个功能。 在实际应用的程序中,主函数写得很简单,它的作用就是调用各个函数,程序各部分的功能全部都是由各函数实现的。主函数相当于总调度,调动各函数依次实现各项功能。 程序中函数调用的示意图。 函数的特点: 程序从main()函数开始执行, main()函数执行结束,程序也执行结束。 如:void printstar( ) { printf(**********\n); } void print_message( ) { printf(Welcome!\n); } main( ) { printstar( ); } 函数的特点: (2) 所有函数都是平行的,定义时相互独立,不能嵌套定义。 如: main( ) { void print_message( ) { printf(Welcome!\n); } } 是不允许出现的; 函数的特点: (2) main()函数可以调用其它函数,反之不行。 如: main( ) { print_message( ); } void printstar( ) { main( ); } 从用户使用的角度看,函数有两种: 系统函数,即库函数。 如:sqrt()、sin() 等。 (2) 用户自己定义的函数。 如:max()、min () 等。 从函数的形式看,函数分两类: (1) 无参函数。 如:getchar()、main() 等。 (2) 有参函数。 如:putchar()、sin()、max () 等。 4.2 定义函数的一般形式 4.2.1 定义无参函数的一般形式 定义无参函数的一般形式为: 类型标识符 函数名([void]) { 声明部分 语句 } 4.2.1 定义无参函数的一般形式 4.2.2 定义有参函数的一般形式 定义有参函数的一般形式为: 类型标识符 函数名(形式参数表列) { 声明部分 语句 } 4.2.2 定义有参函数的一般形式 如: int max( int x,int y) { int z; z=xy?x:y; return (z); } 4.3 函数参数和函数的值 4.3.1 形式参数和实际参数 大多数情况下,函数是带参数的。参数负责主调函数和被调用函数之间的数据传递。 参数分为两种: 形式参数:在定义函数时函数名后面括号中的变量名称。 实际参数:为在主调函数中调用一个函数时,函数名后面括号中的变量或表达式。 例 形参与实参的说明: (1)形参在函数定义时,不占内存中的存储单元,只有在发生函数调用时,才被分配内存单元,以便接收从实参传来的数据。在调用结束后,形参所占的内存单元也被释放。 形参与实参的说明: (2) 实参可以是常量、变量或表达式,但必须有确定的值。 如: int a , b; a=b=2; max(3, a+b); (3) 在定义函数时,必须在函数首部指定形参的类型。 如: int max( int x , int y ) (4) 实参与形参的类型应相同或赋值兼容。 (5) 实参变量对形参变量的数据传递是“值传递”,即单向传递,只由实参传给形参,而不能由形参传回来给实参。 4.3.2 函数的返回值 (1) 函数的返回值通过函数中的return语句获得。 如:return(0); return 0; int max
文档评论(0)