- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
重庆出版,李勇主编的大一C语言课程第7章
第七章 函数与编译预处理
教学要求:通过本章的教学,读者必须掌握无参函数、有参函数的定义、调用、声明、参数传递和实际应用以及预处理命令的应用。学会利用函数编写C程序,了解预处理命令的编译方法、特点。
教学提示:前面我们已经学习了C语言的基本知识及简单的程序设计方法,从本章开始介绍C语言中的子程序设计方法──函数,奠定C程序下模块化程序设计的基础。
教学内容:本章首先介绍了函数的定义、调用的一般形式,接着介绍的函数的参数类型,然后通过若干例子详细讲解了嵌套调用、递归调用全局变量、局部变量的相关知识,及如何编写较好的函数。介绍了编译预处理命令。
第七章 函数与编译预处理
7.1 函数的定义
7.1.1 函数概述
【引入】在程序设计中,经常会遇到一段程序代码在多处或多个程序中都要用到的情况,如果在需要的地方都编写这些代码,不但会增加程序设计人员的重复劳动,而且当程序装入内存时也会占用更多的存储空间,造成不必要的资源开销。如果把这一段公用程序作为一个独立的程序模块处理,在需要的地方只需调用这个模块。
这段公用程序就称为子程序,亦称为过程,调用子程序的程序称为主程序。在C语言中,子程序的作用是由函数完成的。一个C程序可由一个主函数和若干个函数构成。由主函数调用其他函数,其他函数也可以互相调用。同一个函数可以被一个或多个函数调用任意多次。
任何函数(包括主函数main())都是由函数说明和函数体两部分组成。根据函数是否需要参数,可将函数分为无参函数和有参函数两种。
第七章 函数与编译预处理
7.1.2 函数定义
一、无参函数的一般形式
函数类型 函数名( )
{ 说明语句部分;
可执行语句部分;
}
[说明]:
1、一个函数由函数头和函数体两部分组成。
第1行的类型标识符和函数名称为函数头,{ }中的内容称为函数体。
2、类型标识符指明了本函数的类型,函数的类型实际上是函数返回值的类型。
在很多情况下都不要求无参函数有返回值,此时函数类型符可以写为void。
3、同一个程序中函数名必须唯一。
函数名是由用户定义的标识符,必须遵循标识符的命名规则,函数名后有一个空括号,其中无参数,但括号不可少。
4、在函数体中声明部分,是对函数体内部所用到的变量的类型说明。
【P114例7.2讲解】
第七章 函数与编译预处理
二、有参函数的一般形式
函数类型 函数名( 数据类型 参数[,数据类型 参数2……] )
{ 说明语句部分;
可执行语句部分;
}
[说明]:
1、有参函数比无参函数多了一个内容,即形式参数列表。
在形参表中给出的参数称为形式参数,它们可以是各种类型的变量,各参数之间用逗号间隔,如int a,int b。
2、形参表中要给出形参的类型说明。
由于形参是变量,所以必须在形参表中给出形参的类型说明。
3、在进行函数调用时,主调函数将赋予形式参数实际的值。
【P136例7.2讲解】
第七章 函数与编译预处理
1.函数定义不允许嵌套。
在C语言中,所有函数(包括主函数main())都是平行的。一个函数的定义,可以放在程序中的任意位置,主函数main()之前或之后。但在一个函数的函数体内,不能再定义另一个函数,即不能嵌套定义。
2.空函数──既无参数、函数体又为空的函数。其一般形式为:
[函数类型] 函数名( )
{ }
调用此函数时,什么工作也不做,没有任何实际作用,等以后扩充函数功能时补充上。在程序设计中往往根据需要确定若干模块,分别由一些函数来实现。而在第一阶段只设计最基本的模块,其他一些次要功能或锦上添花的功能则在以后需要时陆续补上。
第七章 函数与编译预处理
3.在老版本C语言中,参数类型说明允许放在函数说明部分的第2行单独指定。 一般将这种方法称为传统的对形参的声明方式。【只做了解】
int max( n1, n2) /*定义一个函数max()*/
int n1,n2;
{
return (n1n2?n1:n2);
}
4.一个源程序文件由一个或多个函数组成。一个源程序文件是一个编译单位,即以源程序为单位进行编译,而不是以函数为单位进行编译。
第七章 函数与编译预处理
5. 一个C程序由一个或多个源程序文件组成。对较大的程序,一般不希望全放在一个文件中,而将函数和其他内容(如预定义)分别放在若干个源文件中,再由若干源文件组成一个C程序。这样可以分别编写,分别编译,提高调试效率。一个源文件可以为多个C程序公用。
6.C程序的执行从main函数开始,调用其他函数后流程返回到main函数,在ma
您可能关注的文档
- 重庆三年级上册综合实践教案.doc
- 采油工程重要知识点.ppt
- 重庆出版,李勇主编的大一C语言第5章.ppt
- 重庆小学五年级上册《综合实践活动》教案.doc
- 重庆出版,李勇主编的大一C语言课程第1章.ppt
- 重庆大学机械设计考试大纲.doc
- 重庆大学信号与系统第三章.ppt
- 重庆小学四年级上册《综合实践活动》教案.doc
- 重庆市城乡居民社会养老保险操作规程.doc
- ((新人教版))初二数学试题八年级数学下《分式》单元检测习题1.doc
- 新高考生物二轮复习讲练测第6讲 遗传的分子基础(检测) (原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第3讲 酶和ATP(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第9讲 神经调节与体液调节(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第8讲 生物的变异、育种与进化(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(检测)(原卷版).docx
文档评论(0)