欢迎来到天天文库
浏览记录
ID:43811152
大小:251.50 KB
页数:57页
时间:2019-10-15
《计算机软件技术基础 第9章 函数》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第九章 函数9.1模块化程序设计与函数在C程序设计中,子程序的作用是用函数来完成的。一个C程序一般由多个函数组成,其中必须有一个且仅有一个名为main的主函数,其余为被main函数或其它函数调用的函数,无论main函数位于程序中什么位置,C程序总是从main函数开始执行。main函数可调用其它函数来实现所需的功能。第九章函数[例9.1]定义一个函数,用于求两个数中的大数。main(){intmax(intn1,intn2);/*声明max()函数*/intnum,num1,num2;printf("Inputtwointegernumbers:");scanf("%d,%d"
2、,&num1,&num2);num=max(num1,num2);/*调用max()函数*/printf("max=%d",num);}intmax(intn1,intn2)/*定义max()函数*/{return(n1>n2?n1:n2);}程序运行情况如下:Inputtwointegernumbers:12,34↙max=349.1模块化程序设计与函数第九章函数[例9.2]输出一个文本信息框。voidfun1()/*定义fun1()函数*/{printf("**************");}voidfun2()/*定义fun2()函数*/{printf("*Howd
3、oyoudo!*");}main(){fun1();/*调用fun1()函数*/fun2();/*调用fun2()函数*/fun1();/*再次调用fun1()函数*/}程序运行结果如下:***************Howdoyoudo!***************9.1模块化程序设计与函数第九章函数9.2函数的定义与调用一、函数的定义1.无参函数定义的一般形式:类型名函数名(){声明部分;执行部分;}无参函数没有参数,因此,函数首部的“参数定义表”可以缺省(但括号不能缺省)。第九章函数2.有参函数定义的一般形式:类型名函数名(类型名参数名1,类型名参数名2,...,){
4、说明部分;执行部分;}有参函数在其参数定义表中定义了所需的每一个参数的类型和名称。每一个参数单独定义,参数定义之间用逗号隔开。9.2函数的定义与调用一、函数的定义第九章函数自定义函数说明部分定义的参数称为形式参数,简称形参。主调函数提供的参数称为实际参数,简称实参。函数若无返回值,则其首部的类型标识符用“void”表示。9.2函数的定义与调用一、函数的定义第九章函数说明:(1)除main()函数外,函数名和形参名都是由用户命名的标识符,要求符合标识符的命名规则。(2)函数定义不允许嵌套。在C语言中,所有函数(包括主函数main())都是平行的。在一个函数的函数体内,不能再定义另一
5、个函数,即不能嵌套定义。(3)可以定义空函数。所谓空函数,是指既无参数又无函数体的函数。9.2函数的定义与调用一、函数的定义第九章函数其一般形式为:void函数名(){}(4)在旧版本的C语言中,参数定义表允许放在函数首部的第二行单独指定。(5)当一个C源程序由多个函数构成时,必须有一个唯一的main()函数。main()函数在源程序中的位置可以任意,程序的执行总是从main()函数开始,最终从main()函数结束。9.2函数的定义与调用一、函数的定义第九章函数1.形参与实参的参数传递形参在函数首部定义,必须是变量形式,只能在该函数体内使用。实参在函数调用表达式中提供,可以是表达
6、式形式。函数调用时,主调函数把实参的值复制一份,传送给被调用函数的形参变量,从而实现主调函数向被调用函数的参数传递。9.2函数的定义与调用二、函数的参数与函数的返回值第九章函数9.2函数的定义与调用二、函数的参数与函数的返回值[例9.3]求两数中值较大的一个数。intmax(intx,inty){if(x>y)returnx;elsereturny;}main(){inta,b,c;scanf(“%d%d”,&a,&b);c=max(a,b);printf(“max=%d”,c);}运行结果:2345max=45第九章函数关于形参与实参的说明:(1)实参可以是常量、变量、表达
7、式、函数等。无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。因此,应预先用赋值、输入等方法,使实参获得确定的值。(2)形参变量只有在被调用时,才分配存储单元,调用结束后,即刻释放所分配的存储单元。因此,形参只有在该函数内有效。调用结束,返回主调函数后,则不能再使用该形参变量。(3)实参对形参的数据传送是单向的值传递,即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。9.2函数的定义与调用二、函数的参数与函数的返回值第九章函数[
此文档下载收益归作者所有