第5章函数与宏思考与练习题答案

第5章函数与宏思考与练习题答案

ID:38686107

大小:84.50 KB

页数:13页

时间:2019-06-17

第5章函数与宏思考与练习题答案_第1页
第5章函数与宏思考与练习题答案_第2页
第5章函数与宏思考与练习题答案_第3页
第5章函数与宏思考与练习题答案_第4页
第5章函数与宏思考与练习题答案_第5页
资源描述:

《第5章函数与宏思考与练习题答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章函数与宏1、请给出函数概念的基本描述。答:函数就是一个完成特定功能的代码模块,其程序代码独立,通常要求有返回值,也可以是空值。2、什么叫函数原型?答:函数原型是指由函数定义中抽取出来的能代表函数应用特征的部分,包括函数的数据类型、函数名称、形式参数说明。3、什么叫函数的实参?什么叫函数的形参?答:实参是在调用函数过程中传递给被调用函数的参数;形参是被调用函数接受调用函数传递过来的数据的参数。4、请说出函数参数为一般变量的复制传递方式、地址传递方式和引用方式的异同点。答:复制传递方式是实参的数据拷

2、贝给了形参变量,实参和形参是具有相同数据类型但存储空间是不同的两组空间。在复制传递方式下,被调用函数里对形参的操作不能改变实参的内容。地址传递方式和复制传递方式正好相反,用函数的参数本身传给被调用函数。被调用函数中对形参的操作将直接改变实参的值。调用函数将实参的地址传送给被调用函数,被调用函数对该地址的目标操作即对实参本身的操作。按地址传递,实参为变量的地址,而形参为同类型的指针。引用方式和地址传递方式的效果一样,但引用更直接、更方便。按引用传递,实参为变量,形参为同类型的引用。采用引用方式实参和形参

3、使用的是相同的内存空间,只是名称不同而已。5、数组在函数间传递形式有哪些?并给以比较和解释。答:数组在函数间的传递形式有复制传递方式、地址传递方式、引用方式和全局数组传递方式。函数与函数之间数组的复制传递方式是调用函数将实参数组传递给被调用函数形参,形参接收是实参的地址。函数与函数之间数组的地址传递方式是将调用函数中的实参数组的起始地址传递给被调用函数的指针变量形参。被调用函数中对形参地址的目标操作,相当于对实参本身的操作,将直接改变实参数组的值。地址传递方式,实参应该为数组的指针,而形参应为同类型的

4、指针变量。另外,数组的地址传递方式不仅要把实参数组的指针作为参数传递给函数,同时还需要传递数组的长度。与引用方式不同的是被调用函数的形参应声明为数组同类型的指针变量。函数与函数之间数组的引用传递方式需将被调用函数的形参说明为数组的引用形式。在被调用函数中,对形参进行操作就是对实参数组的直接操作。数组的引用方式和地址传递方式的作用效果基本一样,但引用更直接、更方便。按引用方式传递数组,形参为实参同类型的数组引用。但引用数组名不是指针变量,不能作为左值。1、什么叫函数指针?什么指针函数?答:函数指针是一个

5、函数执行代码的起始地址。指针函数是指一个函数的返回值为地址量的函数。2、什么叫内联函数?答:内联函数是类声明体里定义的函数或在类的实现部分定义的、其前用inline修饰的函数;它将简单的函数(其内不能有循环语句和开关语句)"内嵌"到调用他的程序代码中,这样做的目的是为了节省了调用函数的开销。3、什么叫函数重载?答:函数重载是指使用一个函数名称定义了多个完成不同功能的函数,这些函数的输入参数类型或个数不一样,相应的函数类型也有可能改变。4、什么叫预编译语句?答:在C++程序的源代码中可以包括各种编译用的

6、命令语句,这些语句都称为预编译语句。5、什么叫宏?谈谈带参数宏与内联函数之间的异同点.答:宏是指定义一个标识符来代替一个字符序列。内联函数和宏都是在程序出现的地方展开,是在调用该函数的程序处或应用宏处将它展开。但内联函数可以多行的程序段,而宏通常是单行代码段。6、指出下列函数说明语句有哪些错误并说出原因。(1)char*volume(intheight,width,charbackground);答:函数的参数部分说明错误;width参数没有指出数据类型。(2)doublework(double&ma

7、trix[10]);答:参数部分引用数组的说明形式错误;不符合引用数组的说明形式。(3)voiddisplay(intarr[][],intsize);答:参数二维数组的说明不对;右下标大小不能为空。(4)voidsum(int(&a)[]);答:不符合引用数组的说明形式;大小不能缺省。(5)intfun(doublea,intb=0,intc);答:缺省值位置说明错误;指定缺省值必须从右向左给出,不能跳跃指定缺省值。(6)doubleMatrix(double*m[]);答:指针变量数组的说明形式不

8、对;大小不能缺省。(7)char*fetch(inta=24,intb,charc=0);答:缺省值位置说明错误;指定缺省值必须从右向左给出,不能跳跃指定缺省值。(8)voidlength(int&a[2]);答:引用数组说明错误;不符合引用数组的说明形式。1、什么叫递归函数?简述其执行过程。答:递归函数是指一个函数的函数体中直接调用或间接调用了该函数自身的函数。递归函数调用的执行过程分为两个阶段:(1)递推阶段:从原问题出发,按递归公式递推,从未知到已

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

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

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