c语言第八章 函数

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

C语言编程授课教师:王占骜第8章函数8.1结构化程序设计一个较大的程序一般应分为若干个程序模块,每一个程序模块用来一个特定的功能。8.1.1自上而下程序设计8.1.2C程序的结构化C中结构化设计(1)C语言中的模块为函数,任何一个C语言都是由一个或多个函数组成的。(2)通过函数调用实现程序功能。说明①结构图用来表示模块之间的关系。②遵循自上而下,自左向右的原则。③模块间通过函数调用进行通信。④任何一个模块只能被一个顶层模块调用。说明⑤C程序从主函数开始执行调用其他函数后流程回到主函数,在主函数中结束整个函数的运行。⑥所有函数都是平行的,即在定义函数时是相互独立的,一个函数并不从属于另一个函数。使用函数的好处(1)便于把问题分解为易于理解和管理的部分。(2)利于在程序中重用代码。(3)便于数据保护。C中的函数根据函数的来源不同可以把函数分为两大类:库函数和用户自定义函数。库函数为开发商提供的。用户自定义函数是用户根据需要自己编写的函数。编程实现求任意输入三个数的最大者输出#includestdio.hintmax(intx,inty,intz);main()/*主函数*/{inta,b,c,imax;/*定义变量*/printf(“Pleaseinputa,b,c:”);scanf(“%d%d%d”,&a,&b,&c);imax=max(a,b,c);/*调用函数max()*/printf(“\nmaximum=%d\n”,imax);}intmax(intx,inty,intz)/*定义子函数max()*/{intm;if(xy)m=x;elsem=y;if(mz)m=z;return(m);/*返回最大者m*/}8.2函数定义按一定格式编写实现函数功能的代码。函数分为函数头和函数体两部分。函数头由三部分组成:返回值类型、函数名和形式参数列表。函数体是用大括号括起来的复合语句,是函数的执行部分。intmax(intx,inty,intz){intm;if(xy)m=x;elsem=y;if(mz)m=z;return(m);}说明①数据类型是函数返回值类型,缺省为int型,无返回值应指定为void。②函数名是一地址常量,函数名后面必须带括号。③函数头不能以分号结束。形式参数列表在定义函数时函数名后面括弧中的变量名称为“形式参数”,简称为形参。在调用函数时,函数名后面括弧中的表达式称为“实际参数”简称为实参。说明①可以在列出形参表列时,同时说明形参的类型,建议每个参数占一行。②无形式参数时可以什么都不写,最好写上void。局部变量和全局变量局部变量是在函数内部定义的量,它只在本函数范围内有效,与函数之间通信无关。在函数之外定义的变量称为外部变量,外部变量可以为本文件中其他函数共用。它的作用范围为:从定义变量的位置开始到本源文件的结束。返回值通过函数调用能够使主函数得到一个确定的值,叫函数的返回值。格式:return(exp);returnexp;①无论是否返回值,一般应含return,有返回值时,return后跟表达式,无返回值时后面紧接分号。②在定义函数时指定函数的类型,应与返回值一致,如果不一致以函数类型为准。说明8.2.1函数形式(1)无返回值,无形式参数(2)无返回值,有形式参数(3)有返回值,有形式参数8.3原型声明与函数调用使用语句对函数头进行描述,以便调用。格式函数头+分号如:voidgreeting(void);floataver(intx,inty);8.3.1原型声明说明①函数说明不是必须的,一般放在程序开头,主函数前。②函数说明语句中参数名可以与定义中不同,声明中参数列表写在一行上。③函数说明以分号结束。说明④函数说明不是必须的,被调函数在调用函数之前定义,可以不声明。8.3.2函数调用格式函数名(实参表列)调用方法函数语句。把函数作为一个语句printstar();函数表达式。函数出现在一个表达式中,这种表达式成为函数表达式。c=2*max(a,b);函数参数。函数调用作为一个函数的参数。m=max(a,max(b,c));说明①无返回值函数不能出现在表达式语句中。②函数调用中的实参可以是任意型表达式。③实参表列可以没有,但括号不能省略。说明④实参和形参在类型、顺序和数量上必须一致,字符型和整型可以互相通用。⑤实参对形参的数据传递是单向传递,只由实参传给形参,而不能由形参传回给实参。8.4向函数传值①被调函数形参用变量形式。②调用函数用任意表达式做实参。③传值的本质是调用函数把实参的值复制一份给形参,对形参的修改不会影响实参的值。8.5向函数传地址格式:exchange(int*a,int*b)使用传地址方式,实质上是被调用函数与调用函数共享数据空间。8.6向函数传递数组①调用函数使用数组名作实参。②被调用函数使用数组作形式参数,可以不带元素个数。TheEnd

1 / 38
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功