欢迎来到天天文库
浏览记录
ID:58886696
大小:3.67 MB
页数:81页
时间:2020-09-30
《C函数和数组ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章模块化程序设计在设计一个较复杂的问题的程序时,我们一般采用的方法是:把问题分成几个部分,每部分又可分成更细的若干小部分,逐步细化,直至分解成很容易求解的小问题。因此,原来问题的解就可以用这些小问题来表示。把复杂任务细分成多个简单的问题的过程,就叫程序的模块化。模块化程序设计是靠设计函数和调用函数实现的。在C语言中,这些小问题的作用是由函数(一段相对独立的程序段)完成的。一个C程序总是由一个主函数“main()”和若干个其它函数构成。14.1函数C语言程序由基本语句和函数组成,每个函数可完成相对独立的任务,依一定的规则
2、调用这些函数,就组成了解决某个特定问题的程序。任务、模块与函数的关系:任务模块1模块2模块3函数11函数12函数13函数2函数31函数322函数的示例计算矩形面积#include"stdio.h"intjxmj(intx,inty)//函数定义{intmj;mj=x*y;returnmj;//函数返回}voidmain(){inta,b,s;a=4;b=6;s=jxmj(a,b);//函数调用printf("s=%d",s);a=7;b=9;s=jxmj(a,b);printf("s=%d",s);}3函数的分类从
3、用户使用的角度看,函数有两类:标准函数:即库函数。这是由系统提供的,用户不必自己定义这些函数,可以直接使用它们,但要包含的“头文件”(*.h)。自定义函数:用户定义的函数,以解决用户的专门需要。4函数的分类从函数的形式看,函数分“有参无参”及“有值无值”等两类四种形式:无参函数:调用无参函数时,主调函数无数据传送给被调用函数,一般用来执行指定的一组操作;有参函数:在调用函数时,在主调函数和被调用函数之间有数据传递;无值函数:函数执行后无返回值,一般用来执行指定的一组操作;有值函数:函数执行后有返回值,一般用于计算数据。5函
4、数的定义函数定义的一般形式类型名 函数名(参数列表){函数体[return表达式;]}例如:intjxmj(intx,inty)//函数描述{intmj;//数据说明语句mj=x*y;//执行语句returnmj;//返回语句}6函数定义的说明函数类型名:函数返回值的类型,如:int,float,char,void;函数名:函数标识符;参数列表:函数名后面圆括号中的内容,由一系列带类型说明符的变量名或数组名构成;函数体:一对大括号中的内容,由函数所做的具体事情的若干语句构成。7函数参数和函数的值一、形式参数和实际参数在调用
5、函数时,大多数情况下,主调函数和被调用函数之间有数据传递关系,这各数据的传递是由函数的参数来实现的。在定义函数时函数名后面括弧中的变量名称为“形式参数”(简称“形参”),在主调函数中调用一个函数时,函数名后面括弧中的参数(可以是表达式、常量、变量、函数或数组名)称为“实际参数”(简称“实参”)。8关于形参与实参的说明实参与形参的类型应相同或赋值兼容。如前例中实参和形参都是整型,这是合法的、正确的。如果实参为整型而形参x为实型,或者相反,则按不同类型数值的赋值规则进行转换,有可能出现数据传递的错误。C语言规定,实参变量对形参
6、变量的数据传递都是对应位置上的“值传递”,即单向传递,只由实参传给形参,而不能由形参传回来给实参。9函数的返回值如果通过函数调用使主调函数能得到一个确定的值,如前例中的矩形面积,这就是函数的返回值。赋值语句将这个函数值赋给变量c。下面对函数值作一些说明:函数的返回值是通过函数中的return语句获得的。return语句将被调用函数中的一个确定值带回主调函数中去。如果需要从被调用函数带回一个函数值(供主调函数使用),被调用函数中必须包含return语句。如果不需要从被调用函数带回函数值可以不要return语句。一个函数中可以
7、有一个以上的return语句,执行到哪一个return语句,哪一个语句起作用。例:函数法求素数10函数值的类型函数返回值的类型是在定义函数时指定的类型。函数体中return语句后面的表达式的类型一般应与定义函数时对函数值说明的类型一致,如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准,即函数类型决定返回值的类型。如果被调用函数中没有return语句,则不会带回一个确定的、用户所希望得到的函数值,但实际上,此时函数并不是不带回值,而只是不带回有用的值,带回的是一个不确定的值。11函数的调用函数调用的一般
8、形式函数调用的一般形式为:函数名(实参表列)如果是调用无参函数,则“实参表列”可以没有,但括弧不能省略;如果实参表列包含多个实参,则各参数间用逗号隔开。实参与形参的个数应相等,类型应一致。在函数调用时,实参与形参按顺序对应,一一传递数据。。12求1!+2!+3!+…+n!程序longmm(intn)//
此文档下载收益归作者所有