C程序设计第八九章

C程序设计第八九章

ID:43706065

大小:254.00 KB

页数:52页

时间:2019-10-13

C程序设计第八九章_第1页
C程序设计第八九章_第2页
C程序设计第八九章_第3页
C程序设计第八九章_第4页
C程序设计第八九章_第5页
资源描述:

《C程序设计第八九章》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第八章函数§8.1概述一个较大程序一般分为若干个程序模块,每一个模块实现一个特定的功能。所有的高级语言中都有子程序的概念,在C中子程序就是函数。一个C程序可由一个主函数和若干个函数构成,由主函数调用其它函数,其它函数也可以相互调用在程序设计中,常将一些常用功能模块编写成函数,放在库中供调用,减少重复工作量。main(){printstar();print_message();printstar();}printstar(){printf(“***************”);}print_message(){printf(“Iamastudent

2、.”);}说明:1、一个源程序文件由一个或多个函数组成。一个源程序文件是一个编译单位,不是以函数为单位进行编译2、一个C程序由一个或多个源程序文件组成。分别编写、分别编译。一个源文件可为多个C程序公用。3、C程序执行是从main开始的,调用其它函数后流程回到main函数,在main函数中结束整个程序的运行4、所有函数都是并行的,定义时相互独立,不能嵌套定义,但可互相调用,不能调用main函数5、从用户使用的角度,函数有两种(1)标准函数,即库函数,由系统提供(2)用户自己定义的函数,解决用户专门问题6、函数形式看,函数分为两类(1)无参函数(2)

3、有参函数,调用函数与被调用函数之间有参数传递§8.2函数定义的一般形式1、无参函数的定义形式类型说明符函数名(){说明部分语句}“类型说明符”指定函数值的类型,即函数带回来的值的类型.如果不带回函数值,也可以不写类型标识符2、有参函数的定义形式类型说明符函数名(形式参数表列){说明部分语句}例如:intmax(intx,inty){intz;z=x>y?x:y;return(z);}3、可以有“空函数”的定义形式类型说明符函数名(){}空函数的作用4、对形参声明的传统形式§8.3函数参数和函数的值8.3.1形式参数和实际参数主调函数与被调用函数之间有

4、数据传递关系.在定义函数时函数名后面的括弧中的变量名称为“形式参数”(简称“形参”),在调用函数时,函数名后面括弧中的表达式称为“实际参数”(简称“实参”)main(){inta,b,c;scanf(“%d,%d”,&a,&b);c=max(a,b);printf(“Maxis%d”,c);}intmax(intx,inty){intz;z=x>y?x:y;return(z);}关于形参与实参的说明:1、在定义函数中指定的形参变量,它们并不占内存单元。只有在被调用时形参才分配内存单元,在调用结束后,形参所占内存单元也被释放。2、实参可以是常量、变量和

5、表达式,如max(3,a+b)但要求有确定的值.在调用时实参的值赋给形参(如果形参是数组名,则传递的是数组首地址而不是变量的值.)3、在被定义的函数中,必须指定形参的类型4、实参与形参的类型应一致。但字符型与整形可以互相通用。5、C语言规定,实与形的数据传递是“值传递”,单向传递即实传给形,而不能由形参传值给实参。在调用函数时,给形参分配存储单元,并传值,调用结束后,形参单元释放,而实参单元不变。ab实参abxy形参xy形实结合结合后23232310158.3.2函数的返回值通常希望通过函数调用能得到一个确定的值,这就是函数的返回值。1、函数的返回值

6、是通过函数中的return语句获得的,将被调用函数中的一个确定值带回主调函数中。有时没return语句return语句的几个语法规则2、函数值的类型。在定义函数时进行定义。不加类型定义的,一律按整型处理3、如果函数值类型与return语句中表达式类型不一致,则以函数类型为准4、没有return语句的函数并不是不带回值而只是带回的值是不确定的。5、为了明确“不带回值”,可以用“void”定义“无类型”(或称“空类型”)§8.4函数的调用8.4.1函数调用的一般形式函数调用的一般形式为:函数名(实参序列);对无参函数对有参函数,实参与形参有个数上相等,顺

7、序与类型上一致,但应注意求值顺序main(){inti=2,p;p=f(i,++i);printf(“%d”,p);}/*p是多少?*/intf(inta,intb){intc;if(a>b)c=1;elseif(a==b)c=0;elsec=-1;returnc;}8.4.2函数调用的方式按函数在程序中出现的位置分为三种1、函数语句。要求完成一个操作而不带回值。如:printstar();2、函数表达式。函数调用出现在表达式中,如:c=2*max(a,b);3、函数参数。函数调用作为函数的实参如:m=max(a,max(b,c));又如:print

8、f(“%d”,max(a,b));8.4.3对被调函数的说明在一个函数中调用另一个函数需要具备什么条件呢?1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。