欢迎来到天天文库
浏览记录
ID:40110850
大小:1.51 MB
页数:46页
时间:2019-07-21
《函数的定义和调用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第7讲函数(1)----函数的定义和调用主讲教师:刘莉E_mail:sjz.lily@163.comPhone:888906927/24/2021计算机与信息工程分院主要内容函数及函数定义的一般形式1函数参数和函数的值2函数的调用3函数的递归调用5重点函数的定义的一般形式、函数参数传递难点函数的嵌套调用、函数的递归调用函数的嵌套调用4作业2计算机与信息工程分院C语言程序设计1.函数及函数定义的一般形式(1)1.1函数概述一个C程序可由一个主函数和若干个函数构成。由主函数调用其他函数,其他函数也可以互相调用。同一个函数可以被一个或多个函数调用任意多次。示意图例7-1说明返回主菜单3计
2、算机与信息工程分院C语言程序设计说明(1)(1)一个源文件由一个或多个函数组成。一个源程序文件是一个编译单位,即以源程序为单位进行编译,而不是以函数为单位进行编译。(2)一个C程序由一个或多个源程序文件组成。对较大的程序,一般不希望全放在一个文件中,而将函数和其他内容(如预定义)分别放在若干个源文件中,再由若干源文件组成一个C程序。这样可以分别编写、分别编译,提高调试效率。一个源程序可以为多个C程序公用。(3)C程序的执行从main函数开始,调用其他函数后流程返回到main函数,在main函数中结束整个程序的运行。main函数是系统定义的。4计算机与信息工程分院C语言程序设计说明(
3、2)(4)所有函数都是平行的,即在定义函数时是相互独立的,一个函数并不从属于另一函数,即函数不能嵌套定义(这是和PASCAL不同的)。函数间可以互相调用,但不能调用main函数。(5)从用户使用的角度看,函数有两种:标准函数,即库函数。用户自己定义的函数。(6)从函数的形式看,函数分两类:无参函数。在调用无参函数时,主调函数并将数据传送给被调用函数,一般用来执行指定的一组操作。无参函数可以带回或不带回函数值,但一般以不带回函数值得居多。有参函数。在调用函数时,在主调函数和被调函数之间有数据传递。也就是说,主调函数可以将数据传给被调用函数使用,被调用函数中的数据也可以带回来供主调函数
4、使用。系统自己定义的如例8.1的printstar和print_message5计算机与信息工程分院C语言程序设计示意图mainabcdefghhieg6计算机与信息工程分院C语言程序设计例7.1简单的函数调用main(){printstar();print_message();printstar();}printstar();{printf(“****”);}printf_message();{printf(“Howdoyoudo!”);}调用printstar函数调用print_message函数调用printstar函数调用printstar函数调用print_mes
5、sage函数程序运行后,结果显示:*****************Howdoyoudo!*****************7计算机与信息工程分院C语言程序设计1.函数及函数定义的一般形式(2)1.2函数定义的一般形式(1)无参函数的定义形式有参函数定义的一般形式类型标识符函数名(){声明部分语句}类型标识符函数名(形式参数表列){声明部分语句}例如:intmax(intx,inty){intz;z=x>y?x:y;return(z);}8计算机与信息工程分院C语言程序设计1.函数及函数定义的一般形式(3)1.2函数定义的一般形式(2)可以有”空函数”对形参声明的传统方式例如:du
6、mmy(){}类型说明符函数名(){}在老版本C语言中,对形参类型的声明是放在函数定义的第2行例如:intmax(x,y)intx,y;{intz;z=x>y?x:y;return(z);}9计算机与信息工程分院C语言程序设计2.函数参数和函数的值形式参数和实际参数在定义函数时函数名后面括弧中的变量名称为“形式参数”(简称“形参”),在主调函数中调用一个函数时,函数名后面括弧中的参数(可以是一个表达式)称为”实际参数”。函数的返回值通过函数调用使主调函数能得到一个确定的值,这就是函数的返回值。例7-2说明例7-3说明返回主菜单10计算机与信息工程分院C语言程序设计例7-2调用函数时
7、的数据传递main(){inta,b,c;scanf(“%d,%d”,&a,&b);c=max(a,b);printf(“Maxis%d”,c);}max(intx,inty){intz;z=x>y?x:y;return(z);}输入:7,8结果:Maxis811计算机与信息工程分院C语言程序设计关于形参和实参的说明(1)(1)在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元。只有在发生函数调用时,函数max中的形参才被分配内存单元。在调用结束后
此文档下载收益归作者所有