1 / 12
文档名称:

第八章 函数.doc

格式:doc   页数:12
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第八章 函数.doc

上传人:中国课件站 2011/10/11 文件大小:0 KB

下载得到文件列表

第八章 函数.doc

文档介绍

文档介绍:第八章函数
教学内容
(1) 函数定义的一般形式;
(2) 函数参数与函数的值;
(3) 函数的调用;
(4) 函数的嵌套和递归;
(5) 数组作为函数的参数;
(6) 局部变量和全局变量;
(7) 变量的存储类别;
(8) 内部函数和外部函数;
基本要求
理解子程序和函数的概念;掌握函数的定义形式、函数的调用、函数的嵌套和递归、变量的作用域和变量的存储类别。
实验四  函数(2学时)
能够编写一般的函数,掌握函数的调用,递归算法等。
先回忆一下C程序结构,用下图表示:
C程序
源程序文件1
源程序文件n
源程序文件2
预处理命令
全局变量声明
函数1
函数n
一个源程序文件又称子程序模块,每一模块用来实现一个特定的功能,功能的实现是靠函数来完成的。一个源程序由若干个函数构成,这些函数中有且仅有一个main函数,其他的函数都是由main函数调用的。除了main 函数其余的函数之间可以互相调用,同一个函数可以被一个或多个函数调用任意多次。但是其他的函数都不能调用main函数。
函数的概念:数学中的函数有自变量和因变量之分,是作为一个独立的成份。而C程序中的函数需要有入口数据,从而改变输出数据,而它只能作为程序的一个部分。
P143函数调用举例。
说明:
一个源程序文件由一个或多个函数组成。系统是以源程序文件为单位进行编译,而不是以函数为单位进行编译。
一个较大的C程序是由若干个子程序模块构成,而各个函数一般是放在各个子程序模块中的,这样可以分别编写,分别编译提高效率。一个子程序模块可以供多个C程序公用。
C程序的执行是从main 函数开始的,又是在主函数中结束整个程序的,其余的函数都是由主函数调用的,调用后返回主函数。
函数之间是相互独立的,即一个函数并不从属于另一个函数,也就是说函数不能嵌套定义。
函数的分类:从用户的角度可分为标准函数和用户自定义的函数。从函数的角度可分的无参函数和有参函数。
函数定义的一般形式

类型标识符函数名()
{声明部分;
语句;
}
“类型标识符”是指定函数值的类型,即函数返回值的类型,一般无参函数不需要返回函数值,因此可以不指定类型标识符。

类型标识符函数名(形式参数表列)
{声明部分;
语句;
}
如main(){int a,b,c;scanf(“%d%d”,&a&b);c=max(a,b);printf(“%d”,c);}
int max(int x,int y){int z;if(x>y) z=x;else z=y; return(z);}
需解释如何传递参数的。

类型标识符函数名(){}
调用此函数什么也不做,没有任何作用吗?(我们在设计一个较大的程序时,第一个阶段先完成基本的功能模块,而其余不很重要的部分可以在以后优化程序中再做,为此,可以事先为以后要增加的模块先占一个位置,这样做,程序的结构清楚,可读性好,以后扩充新功能方便。)

对上例形参声明的改进:int max(x,y)
int x,y;{int z;z=z>y?x:y;return(z);}
对形参的定义不在括号内而在括号外单独指定,这种形式称为传统方式。
函数参数与函数的值

有参函数的特点:主调函数与被调函数之间有数据传递关系。主调函数将实参值传递给被调函数形参,而被调函数可以带回一个函数值供主调函数使用。
形参:在定义函数时函数名后面()中的变量名称为“形式参数”;
实参:在调用函数时函数名后面()中的参数称为“实际参数”;如P146
关于形参与实参的说明:
在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储空间,只有在发生函数调用时,形参才被分配内存单元,在调用结束后,形参所占的内存单元被释放。
实参可以是常量、变量或表达式,但它们要有确定的值。如max(3,a+b)。
在被定义的函数中必须指定形参的类型。
实参与形参类型应相同。如实参与形参的类型不同则按语法出错处理。注意:字符型与整型可以通用。
C语言规定,实参变量对形参变量是“单值传递”的。只能由实参向形参传递参数。在调用函数时,给形参分配存储单元,并将实参对应的值传递给形参;调用结束后,形参单元被释放,实参单元仍保留并维持原值。因此在执行一个被调用函数时,形参的值如果发生改变,并不会改变主调函数实参的值。
C语言允许使用另一种方法对形参做说明,即在列出“形参表列”时,同时说明形参类型。如int max(int x,int y)相当于int max(x,y)int x,y;

最近更新

2025年吉林工程职业学院单招职业倾向性考试模.. 40页

2025年咸宁职业技术学院单招职业倾向性测试题.. 42页

2025年哈尔滨科学技术职业学院单招职业适应性.. 41页

2025年商洛职业技术学院单招职业技能测试模拟.. 41页

2025年四川化工职业技术学院单招职业适应性考.. 39页

2025年四川幼儿师范高等专科学校单招职业适应.. 39页

2025年四川汽车职业技术学院单招职业倾向性考.. 41页

2025年四川邮电职业技术学院单招职业倾向性考.. 40页

2025年天府新区航空旅游职业学院单招综合素质.. 41页

《煤田煤矸石的热能快速降温灭火方法及热能利.. 7页

2025年天津电子信息职业技术学院单招职业适应.. 40页

2025年太原幼儿师范高等专科学校单招职业适应.. 41页

2025年宁夏工商职业技术学院单招职业适应性测.. 40页

2025年宁波城市职业技术学院单招综合素质考试.. 40页

2025年安徽卫生健康职业学院单招职业技能考试.. 40页

2025年安徽工商职业学院单招职业适应性测试题.. 40页

《建筑用抗菌防霉聚乙烯排水管材》征求意见稿.. 13页

2025年宜春幼儿师范高等专科学校单招职业技能.. 40页

2025年宿迁泽达职业技术学院单招综合素质考试.. 41页

2025年山东商务职业学院单招职业倾向性测试题.. 40页

2025年山东省潍坊市单招职业倾向性测试模拟测.. 39页

2025年山东轻工职业学院单招职业适应性考试模.. 40页

2025年山西铁道职业技术学院单招职业适应性考.. 39页

2025年常州工业职业技术学院单招职业适应性测.. 41页

2025年广东农工商职业技术学院单招职业适应性.. 41页

2025年广东江门中医药职业学院单招职业倾向性.. 41页

2025年广东省清远市单招职业适应性测试模拟测.. 40页

2025年广西制造工程职业技术学院单招职业适应.. 41页

2025年广西机电职业技术学院单招职业倾向性测.. 41页

2025年广西省柳州市单招职业适应性测试模拟测.. 40页