C及C++程序设计 教学课件 作者 张富 第八章.ppt

C及C++程序设计 教学课件 作者 张富 第八章.ppt

ID:50043099

大小:78.50 KB

页数:22页

时间:2020-03-08

C及C++程序设计 教学课件 作者 张富 第八章.ppt_第1页
C及C++程序设计 教学课件 作者 张富 第八章.ppt_第2页
C及C++程序设计 教学课件 作者 张富 第八章.ppt_第3页
C及C++程序设计 教学课件 作者 张富 第八章.ppt_第4页
C及C++程序设计 教学课件 作者 张富 第八章.ppt_第5页
资源描述:

《C及C++程序设计 教学课件 作者 张富 第八章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第八章函数8.1函数概述8.2函数的定义和调用8.3返回非整型值的函数8.4函数的值调用和引用调用8.5函数指针8.6函数的嵌套调用和递归调用8.7主函数main()8.2函数的定义和调用8.2.1函数的定义函数是完成一定功能的程序单元。它具有相对的独立性,能供其他程序模块调用,并在执行完自己的功能后,返回调用它的模块。函数由函数名、参数和函数体组成。函数名是用户为函数起的名字,用于区别于其它函数。函数的参数用来接收调用者传递给它的数据。函数实现自己功能的一组语句,称为函数体。函数定义的一般形式是:Typefun_name(para

2、meters)形参说明{函数体}其中type是函数返回值的类型,函数的返回值是用return语句提供的。如果省略了type项,则认为返回值是整型,即函数类型的缺省值为整型。如果函数没有返回值,可设其返回值类型为void,称为void类型函数。例如voidfuncx(){}8.2.2return语句返回语句return用在被调用的函数中,其作用是向调用者送计算结果(就是所谓的函数返回值)并返回调用它的函数。返回语句一般有如下的两种形式:return;return(表达式);return语句用于被调用函数的函数体内有两个作用:①使程序立

3、即从当前运行的函数退出,转去执行调用者的代码;②在要求函数有一个返回值的情况下,可向调用者返回一个值。8.2.3函数的调用对于带参数的函数来说,参数的作用是将实现函数功能所需要的实际数据传递给函数。这个传递过程是通过函数调用完成的。一个程序模块需要某函数的功能时,就要调用该函数,并给出实参(如果是带参数的函数)。调用函数的一般形式为:函数名(实参列表);其中实参是有确定值的变量或表达式,各参数要用逗号分开。函数的调用在程序中可能有以下几种具体方式:1.把函数调用作为一个语句2.用函数表达式的形式调用函数3.作为函数的一个实参来调用函

4、数8.3返回非整型值的函数8.3.1函数原型的使用函数原型是C语言中的一个重要的概念。使用函数原型对函数进行事先说明,有下述的两个作用。①标明函数返回值的数据类型,使编译器能正确地编译和返回数据;②指示形参的类型和个数,供编译器进行检查。当函数没有参数时,在形参表中使用关键字void。虽然这不是绝对必要的,但是,对编译器检查参数是否正确是有好处的。例如,有函数原型:voidmyname(void);如果用下面的语句调用:myname(ling);系统将会报告错误信息。8.3.2void类型函数8.3.3指针类型函数返回值为一指针的函

5、数称为指针类型函数。指针类型既不是整型,也不是无符号整型,它是存储器的地址。因此,指针类型函数也必须用函数原型进行专门的说明。指针类型函数原型一般有如下的形式:指针类型*函数名(参数类型表);例如:char*str(char);是个指针类型函数原型说明。8.4函数的值调用和引用调用各函数之间是要通过参数和返回值的传递来交换信息的。信息交换是在函数调用过程和返回过程中进行的。本节要说明在调用函数时,是怎样传递参数的。在C语言中调用函数时,有两种不同的参数传递方式:值调用和引用调用。8.4.1值调用第一种方法叫做值调用。这种方法是把实参

6、的值拷贝给形参。这时形参的变化不影响实参的值。8.4.2引用调用第二种方法叫做引用调用。这种方法是把实参的地址拷贝到形参,使用地址去访问实参。C语言的引用调用是通过指针实现的。使用引用调用的目的在于改变实参的值。为把指针传给函数,必须把形参说明为指针类型。引用调用的一般形式为:函数类型函数名(*参数1,*参数2,……)8.4.3用数组作为参数调用函数当实参为数组时,只传递数组的地址,并不复制整个数组。因此,这种情况属于引用调用。函数原型可以有以下几种写法(设有一整型数组aa和整型函数ff):intff(intaa[10]);intf

7、f(intaa[]);intff(intaa);它们的作用是一样的,都是传送一个指针。指向函数的指针简称为函数指针。函数指针是函数的入口内存地址。定义函数指针的一般形式为:数据类型(*函数指针名)();例如,int(*p)();定义了一个函数指针变量p,该函数返回一个整型量。使用省略参数的函数名就可以得到函数地址,这和数组名就代表数组的首地址的情形是一样的。因此,函数指针可以这样赋值:函数指针变量=函数名;8.5函数指针8.6函数的嵌套调用和递归调用8.6.1函数的嵌套调用C函数的定义都是互相平行的,独立的。一个函数的定义内不能包含

8、另一个函数。这就是说,C语言是不能嵌套定义函数的。但C语言允许嵌套调用函数。所谓嵌套调用就是在调用一个函数并执行该函数中,又调用另一个函数的情况。假设在函数func1的执行过程中调用函数func2。根据函数的返回原则,被调用函数返回时

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。