77范文网 - 专业文章范例文档资料分享平台

2C++函数习题答案

来源:网络收集 时间:2019-02-16 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

一、空题

1 一个C++程序是由一个或多个函数所组成,即使是最简单的程序,也必须有一个 main 函数。该函数是程序执行的 起点 和 终点 。C++中,函数不允许嵌套 定义 ,允许嵌套 调用 。

2 函数执行过程中通过 return 语句将函数值返回,当一个函数不需要返回值,需要使用 void 作为类型名。

3 在C++中,如果函数定义在后,调用在先,需要 原型声明 。其格式和定义函数时的函数头的形式基本相同,但参数表中 形参 不是必须的,同时必须以 ; 结尾。 4 递归程序分两个阶段执行 递推 , 回归 。 5 函数名相同,但对应形参表不同的一组函数称为 重载函数 ,参数表不同是指 类型 不同或 参数个数 不同。

6 内联函数的展开、重载函数的确定均在 编译 阶段进行。

7 静态局部变量存储在 全局数据 区,在 程序运行 时候建立,生命期为 整个程序 ,如定义时未显式地初始化,则其初值为 0 。局部变量存储在 栈 区,在 块或函数开始运行 时候建立,生命期为 块或函数 ,如定义时未显式地初始化,则其初值为 随机数 。

二、选择题

1正确的函数定义形式为(A )。 A.void fun(void) B.double fun(int x;int y) C.int fun(int=0,int); D.double fun(int x,y) 2 C++语言中规定函数的返回值的类型是由(D)。 A.return语句中的表达式类型决定 B.调用该函数时的主调函数类型决定 C.调用该函数时系统临时决定

D.定义该函数时所指定的函数类型决定

3 若有函数调用语句:fun(a+b,(x,y),(x,y,z));此调用语句中的实参个数为(A)。 A.3 B.4 C.5 D.6 4 C++中,关于默认形参值,正确的描述是(C)。 A.设置默认形参值时,形参名不能缺省 B.只能在函数定义时设置默认形参值

C.应该先从右边的形参开始向左边依次设置 D.应该全部设置

5 若同时定义了如下函数,fun(8,3.1)调用的是下列哪个函数(D)。 A.void fun(float,int) B.void fun(double,int) C.void fun(char,float) D.void fun(double,double) 6 有函数原型void fun4 ( int &);下面选项中,正确的调用是(C)。 A.int x=2.17; fun4(&x); B.int a=15:fun4(a*3.14); C. int b=100; fun4(b).; D. fun4(256): 7 下列的描述中(B)是错误的。

A.使用全局变量可以从被调用函数中获取多个操作结果 B.局部变量可以初始化,若不初始化,则系统默认它的值为0 C.当函数调用完后,静态局部变量的值不会消失 D.全局变量若不初始化,则系统默认它的值为0

8下列选项中,(C)具有文件作用域。

A.函数形参 B.局部变量 C.全局变量 D.静态变量 9 int i=100;下列引用方法中,正确的是(A)。 A.int &r=i; B.int &r=100; C.int &r; D.int &r=&i; 三、简答

1 函数的形参和实参是如何对应的?形参和实参的数目必须一致吗?什么情况可以不一致?

答:函数的形参和实参是按照位置对应的,一般情况下形参和实参的数目应该一致,当函数定义为具有默认参数的函数时,形参和实参个数可以不同。

2 函数和内联函数的执行机制有何不同?定义内联函数有何意义?有何要求?

答:执行函数时,系统要建立堆栈空间、保护现场、传递参数以及控制程序执行等。内联函数则是在编译过程中直接将内联函数嵌入到调用函数中。将函数调用变为顺序执行。内联函数的本质是空间换时间,所以内联函数只适用于功能简单、代码短小且被重复使用的函数。

3 全局变量和全局静态变量的区别在哪里?为什么提倡尽量使用局部变量?

全局变量存储在全局数据区,在它定义后的所以函数中都可见,而局部变量只在它定义的函数内或块内可见。使用局部变量可以节省内存空间,不使错误扩散,易于维护。

4 函数重载的作用是什么?满足什么条件的函数才可以成为重载函数?重载函数在调用时是怎样进行对应的? 可以用相同的函数名来定义的一组功能相同或相似的函数。参数类型或参数的个数不同。调用时,按如下过程对于:1、如果有严格匹配的函数,则调用该函数。2、参数内部转换后如果匹配,则调用该函数。3、通过用户定义的转换寻求匹配。

5 多文件结构的程序是如何进行管理并运行的?采用多文件结构有什么好处?

答:多文件结构是通过工程进行管理的。首先可以避免重复性的编译,如果修改了个别函数,只需要编译该函数所在的文件即可;其次,将程序进行合理的功能划分后,更容易设计、调试和维护;另外,通常把相关函数放在一个文件中,这样就形成了一系列按照功能分类的文件,便于其他文件引用。

6 宏定义与常量定义从作用效果上看时一样的,两者是否完全相同?

不带参数的宏定义与const说明符定义常量从效果上看是一样的,但它们的机制不同。首先,宏定义是在预处理阶段完成的,而const定义则在编译阶段实现。其次,宏定义只是一种简单的字符串替代,不会为字符串分配内存单元,替代过程也不进行语法检查,即使指令中的常量字符串不符合要求,预处理的替代过程也一样按指令给出的格式进行。而const定义则是像定义一个变量一样定义一个常量标识符,系统要按照类型要求为该标识符分配内存单元,同时在将常量放入单元时进行类型检查,如果类型不匹配,则类型相容的会进行系统的类型转换,不相容的就会提示错误。

7 C++中的函数是什么?什么叫主调函数,什么叫被调函数,二者之间有什么关系?如何调用一个函数? 答:一个较为复杂的系统往往划分为若干子系统,高级语言中的子程序就是用来实现这种模

块划分的。C和C++语言中的子程序就体现为函数。调用其他函数的函数被称为主调函数,被其他函数调用的函数被称为被调函数。一个函数可能调用其他函数又被另外的函数调用,这样它可能在某一个调用与被调用关系中充当主调函数,而在另一个调用与被调用关系中充当被调函数。函数调用之前先要声明函数原型。按照如下形式声明: 类型标识符 被调函数名(含类型说明的形参表);

声明了函数原型之后,便可以按照如下形式调用函数: 函数名(实参列表)

8 比较值传递和引用传递的相同点和不同点

答:值传递是指当发生函数调用时,给形参分配内存空间,并用实参来初始化形参(直接将实参的值传递给形参)。这一过程是参数值的单向传递过程,一旦形参获得了值便与实参脱离关系,此后无论形参发生了怎样的改变,都不会影响到实参。 引用传递将引用作为形参,在执行主调函数中的调用语句时,系统自动用实参来初始化形参,这样形参就成为实参的一个别名,对形参的任何操作也就直接作用于实参。

四、写出下列程序运行结果 1 #include

#include using namespace std; int f( int); int main()

{int i;

for( i=0; i<3; i++) cout<

int f( int a) {int b=0,c=1; b++;c++;

return(a+pow(b, 2)+c); } 3 4 5

2 #include using namespace std;

void func(int a, int b, int c=3, int d=4); int main()

{func( 10, 15, 20, 30); func( 10, 11,12); func(12,12); }

void func( int a, int b, int c, int d)

{cout<

using namespace std; void func( int, int, int&); int main()

{int x=0,y=1,z=2; func( 1,2,x); func( x+y,y,y); func( z,x+y,z);

cout<

void func( int a,int b,int &c) {b +=a; c=b-a;}

4 #include using namespace std; int f2( int, int); int f1(int a,int b) {int c;

a+=a;b+=b; c=f2( a+b,b+1); return c; }

int f2( int a,int b) {int c; c=b%2; return a+c; }

int main() {int a=3,b=4;

cout<

5#include using namespace std; int age( int n) {int f;

if( n==1) f= 10; else f=age(n-1)+2; return f; }

int main()

{cout<<\”<

6 #include int& max(int& x,int& y) { return (x>y?x:y);}

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库2C++函数习题答案在线全文阅读。

2C++函数习题答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/474886.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: