没有合适的资源?快使用搜索试试~ 我知道了~
C模拟题答案.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 98 浏览量
2022-11-01
19:38:56
上传
评论
收藏 37KB DOCX 举报
温馨提示
试读
18页
。。。
资源推荐
资源详情
资源评论
C + + 程 序 设 计 模 拟 试 卷 ( 二 )
一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的
四个备选项中
只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多
选或未选均无
分。
1.
A.
B.
C.
D.
静态成员函数没有()
返回值
this指针
指针参数
返回类型
答案:B
解析:(P107)静态成员函数是普通的函数前加入static,它具有函数的所有的特征:返
回类型、
形参,所以使用(P107)静态成员函数,指针可以作为形参,也具有返回值。静态成员
是类具有的
属性,不是对象的特征,而this表示的是隐藏的对象的指针,因此静态成员函数没有
this 指针
。静态成员函数当在类外定义时,要注意不能使用static关键字作为前缀。由于静态
成员函数在
类中只有一个拷贝(副本),因此它访问对象的成员时要受到一些限制:静态成员函
数可以直接
访问类中说明的静态成员,但不能直接访问类中说明的非静态成员;若要访问非静态
成员时,必
须通过参数传递的方式得到相应的对象,再通过对象来访问。
2.
假定AB为一个类,则执行“AB a(2), b[3],*p[4];”语句时调用该类构造函
数的次数
为()
A.
B.
C.
D.
3
4
5
9
答案:B
解析:(P79)a(2)调用1次带参数的构造函数,b[3]调用3次无参数的构造函数,指针
没有给它
分配空间,没有调用构造函数。所以共调用构造函数的次数为4。
3.
A.
B.
有关多态性说法不正确的是()
C++语言的多态性分为编译时的多态性和运行时的多态性
编译时的多态性可通过函数重载实现
C.
D.
运行时的多态性可通过模板和虚函数实现
实现运行时多态性的机制称为动态多态性
答案:C
解析:(P171)多态性分为静态的和动态的。静态通过函数的重载来实现,动态是通过
基类指针或
基类引用和虚函数来实现的。所以错误的是C项。
4.
假定一个类的构造函数为“A(int i=4, int j=0) {a=i;b=j;}”, 则执行“A x (1);”
语
句后,x.a和x.b的值分别为()
A.
B.
C.
D.
1和0
1和4
4和0
4和1
答案:A
解析:(P75)带默认的构造函数,对应实参没有值时就采用形参值。调用构造函数时,
i=1,不采
用默认值,而只有一个参数,j采用默认值0即j=0,因此a=1,b=0,选择A项。
5.
A.
B.
C.
D.
类MyA的拷贝初始化构造函数是 ()
MyA()
MyA(MyA*)
MyA(MyA&)
MyA(MyA)
答案:C
解析:(P80)复制即拷贝构造函数使用对象的引用作形参,防止临时产生一个对象,A
无参构造函
数,B是指针作为形参,D项是对象,所以选择C项。
6.
A.
B.
C.
D.
在C++中,函数原型不能标识()
函数的返回类型
函数参数的个数
函数参数类型
函数的功能
答案:D
解析:函数的声明,说明函数的参数、返回类型以及函数名,函数体即实现部分决定
功能。所以
函数的原型不能决定函数的功能。
7.
A.
B.
C.
D.
友元关系不能()
提高程序的运行效率
是类与类的关系
是一个类的成员函数与另一个类的关系
继承
答案:D
解析:(P111)友元可以是函数与类的关系即友元函数,也可以类与类的关系即友元类,
但友元不
能继承,是单向性,且不具有传递性。友元可以访问类中所有成员,提高了访问的方
便性。因此
选择D项。
8.
A.
B.
C.
D.
实现两个相同类型数加法的函数模板的声明是()
add(T x,T y)
T add(x,y)
T add(T x,y)
T add(T x,T y)
答案:D
解析:(P63)实现两个相同类型数加法结果应该和操作数具有相同类型。进行加法运算
后结果也
是和参数具有相同类型,需要返回值。A无返回值时要用void,B形参无类型,C形参y没
有类型
,所以选择D项。
9.
A.
B.
C.
D.
在int a=3,int *p=&a;中,*p的值是()
变量a的地址值
无意义
变量p的地址值
3
答案:D
解析:*p代表引用a变量的值,p代表a的地址值。所以选择D项。
10.
下列不是描述类的成员函数的是()
A.
B.
C.
D.
构造函数
析构函数
友元函数
拷贝构造函数
答案:C
解析:(P109)构造函数、析构函数、拷贝构造函数都是特殊的成员函数,友元则不是
成员函数。
所以选择C项。
11.
如果从原有类定义新类可以实现的是()
A.
B.
C.
D.
信息隐藏
数据封装
继承机制
数据抽象
答案:C
解析:(P129)继承指在原有类的基础上产生新类。数据封装即数据和操作组合在一起,
形成类。
信息的隐藏,通过访问权限来实现。数据抽象,将事物的特征抽象为数据成员或服务。
因此选择
C项。
12.
A.
下面有关类说法不正确的是()
一个类可以有多个构造函数
B.
C.
D.
一个类只有一个析构函数
析构函数需要指定参数
在一个类中可以说明具有类类型的数据成员
答案:C
解析:(P80)构造函数可以有参数、可以重载、因此可以有多个,A项正确。析构函数
只有一个不
能重载、不能继承,没有返回值,B项正确,C项错误。
13.
在函数定义中的形参属于()
全局变量
A.
B.
C.
D.
局部变量
静态变量
寄存器变量
答案:B
解析:形参或函数中定义的变量都是局部变量。在函数外定义的变量是全局变量。形
参只能用局
部变量,频繁使用的变量可以声明为寄存器变量,形参不能使用静态变量或寄存器变
量。
14.
下列有关重载函数的说法中正确的是()
重载函数必须具有不同的返回值类型
重载函数参数个数必须相同
A.
B.
C.
D.
重载函数必须有不同的形参列表
重载函数名可以不同
答案:C
解析:(P59)函数的重载必须函数名相同而形参类型或个数不同,与返回值无关。
15.
this指针存在的目的是()
A.
B.
C.
D.
保证基类私有成员在子类中可以被访问
保证基类保护成员在子类中可以被访问
保证每个对象拥有自己的数据成员,但共享处理这些数据成员的代码
保证基类公有成员在子类中可以被访问
答案:C
解析:(P86)C++要求函数在被调用之前,应当让编译器知道该函数的原型,以便编译
器利用函数
原型提供的信息去检查调用的合法性,强制参数转换成为适当类型,保证参数的正确
传递。对于
标准库函数,其声明在头文件中,可以用#include宏命令包含这些原型文件;对于用
户自定义函
数,先定义、后调用的函数可以不用声明,但后定义、先调用的函数必须声明。一般
为增加程序
的可理解性,常将主函数放在程序开头,这样需要在主函数前对其所调用的函数一一
进行声明
,以消除函数所在位置的影响。所以选择C项。
16.
关于new运算符的下列描述中,错误的是()
它可以用来动态创建对象和对象数组
A.
剩余17页未读,继续阅读
资源评论
xxpr_ybgg
- 粉丝: 6537
- 资源: 3万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功