资源描述:
《C/C++程序设计教程教学课件 C语言程序设计5.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第五章C语言函数5.1C语言程序的组成5.2函数的参数5.3函数的调用5.4程序编译预处理退出8/22/20212《C与C++程序设计教程》-第五章5.1C语言程序的组成C语言程序:是一个或多个函数组合而成的。C语言函数:具有相对独立的、完整功能的实体。是完成某一功能的一段程序,是程序的基本组成成分。5.1.1C语言函数的结构5.1.2C语言程序的组成返回8/22/20213《C与C++程序设计教程》-第五章5.1.1C语言函数的结构1、函数的分类:系统函数(库函数):由C语言函数库提供,用户可以直接引用。用户函数(自定义函数):是用户根据需要定义的完成某一特定功能的一段程序。用户函数分为带
2、参数的函数和不带参数的函数。C语言程序函数系统函数(库函数)用户函数(自定义函数)8/22/20214《C与C++程序设计教程》-第五章形式1:类型名函数名(形式参数表)形式参数说明;{说明语句;执行语句;}2、函数的定义:函数首部(函数头)函数体例:两个数之和的函数。doubleadd(x,y)doublex,y;{doublez;z=x+y;return(z);}8/22/20215《C与C++程序设计教程》-第五章形式2:类型名函数名(类型名形参1,类型名形参2,……){说明语句;执行语句;}2、函数的定义:函数首部(函数头)函数体例:两个数之和的函数。doubleadd(double
3、x,doubley){doublez;z=x+y;return(z);}返回函数体:{}中的内容,包括说明语句和执行语句。空函数:函数体为空的函数,例{},便于扩充和细化程序。注:(1)函数的定义是平行的,不允许在一个函数的内部再定义一个函数。(2)函数值的类型为int或char时,可省略;不需返回函数值时,可用类型名void。(3)多个形参以逗号分隔。(4)不同函数中的局部变量可以同名。8/22/20216《C与C++程序设计教程》-第五章5.1.2C语言程序的组成1、程序的结构:一个大的程序由许多源程序文件(也叫程序模块,通常是一些相关函数的集合)组成,而源程序文件由预编译和许多函数组成
4、。2、C语言程序源文件(程序模块)结构:包含文件:#include。宏定义:#definePI3.14159。条件编译:#if…#else…#endif函数预说明:定义函数的原型全局变量说明:函数外定义的变量函数模块定义源文件包含文件宏定义条件编译函数预说明全局变量说明函数模块定义函数模块定义……大程序8/22/20217《C与C++程序设计教程》-第五章x=3x=2x=1[例5.2]函数实例。main(){intx=1;voidf1(),f2();f1();f2(x);printf("x=%d",x);}voidf1(void){intx=3;printf("x=%d
5、t",x);}voidf2(x)intx;{printf("x=%dt",++x);}返回8/22/20218《C与C++程序设计教程》-第五章5.2函数的参数一个函数与其他函数之间存在数据传递问题,可以通过函数的参数实现。5.2.1带参数函数定义的一般形式类型说明函数名(形式参数表)形式参数说明;{函数体}例:两个数之较大者的函数。intmax(intx,inty){intz;z=x>y?x:y;return(z);}8/22/20219《C与C++程序设计教程》-第五章main(){inta,b,c;printf(“Inputintegersa,b:”);scanf(“%d,%d”,
6、&a,&b);c=max(a,b);printf(“Maxis%d”,c);}intmax(intx,inty){intz;z=x>y?x:y;return(z);}[例5.3]输入两个整型数,并求出较大者。5.2.2形式参数和实际参数:形式参数(简称形参):是指在函数定义时函数名后面括号中的变量名。实际参数(简称实参):是指在函数调用时,函数名后面括号中的表达式。inputintegersa,b:7,8Maxis8注:(1)形参在调用时才被分配内存空间,调用结束后释放。(2)实参可以是常量、变量或表达式,但要求有确定值。(3)实参与形参的类型应一致。(4)实参向形参的单向传递,“值传递
7、”,即只由实参传给形参,而不能由形参传回给实参。8/22/202110《C与C++程序设计教程》-第五章5.2.3数组作为函数的参数1.数组元素作为函数的实参和变量作为函数的实参一样,单向传递。[例5.4]有两个数组a和b,各有10个元素,将它们对应地逐个相比(即a[0]与b[0]比,a[1]和b[1]比,…)。如果a数组中的元素大于b数组中的相应元素的数目多于b数组中大于a数组中相应元素的数目,则认为a数组