计算机二级C++模拟试题及答案两套文档格式.docx
- 文档编号:20368041
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:22
- 大小:23.06KB
计算机二级C++模拟试题及答案两套文档格式.docx
《计算机二级C++模拟试题及答案两套文档格式.docx》由会员分享,可在线阅读,更多相关《计算机二级C++模拟试题及答案两套文档格式.docx(22页珍藏版)》请在冰豆网上搜索。
11.C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是
A)增加了一些新的运算符
B)允许函数重载,并允许设置缺省参数
C)规定函数说明符必须用原型
D)引进了类和对象的概念
12.下列哪个是C++语言的有效标识符?
A)_No1
B)No.1
C)12345
D)int
【参考答案】A
13.设有定义intx;
floaty;
则10+x+y值的数据类型是
A)int
B)double
C)float
D)不确定
【参考答案】
14.下列程序的执行结果为
#include
voidmain()
{inta=3,b=0;
int*p=&
a;
b=+a++;
cout<
<
*p<
"
"
A)3,4
B)4,3
C)3,4
D)4,4
15.下面程序的运行结果为
{for(inta=0,x=0;
!
x&
&
a<
=10;
a++)
{a++;
}
A)10
B)11
C)12
D)0
16.下列选项,不正确的是
A)for(inta=1;
a++);
B)inta=1;
do
while(a<
=10)
C)inta=1;
D)for(inta=1;
a++)a++;
17.下面关于数组的初始化正确的是
A)charstr[]={′a′,′b′,′c′}
B)charstr[2]={′a′,′b′,′c′}
C)charstr[2][3]={{′a′,′b′},{′c′,′d′},{′e′,′f′}}
D)charstr()={′a′,′b′,′c′}
18.下列程序的输出结果为
{char*a[]={"
hello"
the"
world"
};
char**pa=a;
pa++;
*pa<
A)helloB)theC)worldD)hellotheworld
19.决定C++语言中函数的返回值类型的是
A)return语句中的表达式类型
B)调用该函数时系统随机产生的类型
C)调用该函数时的主调用函数类型
D)在定义该函数时所指定的数据类型
20.下列程序的输出结果是
intmin(inta,intb)
{if(a
elsereturnb;
return0;
{cout<
A)0
B)1
C)2
D)3
21.下列程序的运行结果为
voidprint(doublea)
++a;
voidprint(inta,intb)
{print(1.2);
"
;
print(3,4);
A)1.234
B)2.234
C)1.243
D)2.243
22.对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是
A)公有类型
B)私有类型
C)保护类型
D)友元类型
23.在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是
A)友元函数
B)虚函数
C)构造函数
D)析构函数
24.类的析构函数的作用是
A)一般成员函数的初始化
B)类的初始化
C)对象的初始化
D)删除类创建的对象
25.下列说法正确的是
A)内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方
B)内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方
C)类的内联函数必须在类体内定义
D)类的内联函数必须在类体外通过加关键字inline定义
26.下面对静态数据成员的描述中,正确的是
A)静态数据成员可以在类体内进行初始化
B)静态数据成员不可以被类的对象调用
C)静态数据成员不能受private控制符的作用
D)静态数据成员可以直接用类名调用
27.下面对于友元函数描述正确的是
A)友元函数的实现必须在类的内部定义
B)友元函数是类的成员函数
C)友元函数破坏了类的封装性和隐藏性
D)友元函数不能访问类的私有成员
28.在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是
A)派生类的对象可以赋给基类的对象
B)派生类的对象可以初始化基类的引用
C)派生类的对象可以直接访问基类中的成员
D)派生类的对象的地址可以赋给指向基类的指针
29.下面程序的运行结果为
classA
{public:
A(){cout<
1"
}
~A(){cout<
2"
}};
classB:
publicA
B(){cout<
3"
~B(){cout<
4"
{Bb;
A)1234
B)1324
C)1342
D)3142
30.下列关于虚基类的描述,错误的是
A)设置虚基类的目的是为了消除二义性
B)虚基类的构造函数在非虚基类之后调用
C)若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用
D)若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数
31.下列关于多态性的描述,错误的是
A)C++语言中的多态性分为编译时的多态性和运行时的多态性
B)编译时的多态性可通过函数重载实现
C)运行时的多态性可通过模板和虚函数实现
D)实现运行时多态性的机制称为动态绑定
32.下列运算符中,在C++语言中不能重载的是
A)*
B)>
=
C):
:
D)/
33.当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为
A)ios:
in
B)ios:
out
C)ios:
in|ios:
D)以上都不对
34.下列程序的运行结果是
{inta;
public:
A(){a=0;
A(intaa)
{a=aa;
{Ax,y
(2),z(3);
A)00
B)23
C)34
D)25
2013年计算机二级C++模拟试题及答案
(2)
1.已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为
A)GEDHFBCA
B)DGEBHFCA
C)ABCDEFGH
D)ACBFEDHG
2.树是结点的集合,它的根结点数目是
A)有且只有1
B)1或多于1
C)0或1
D)至少2
3.如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是
A)e3,e1,e4,e2
B)e2,e4,e3,e1
C)e3,e4,e1,e2
D)任意顺序
4.在设计程序时,应采纳的原则之一是
A)不限制goto语句的使用
B)减少或取消注解行
C)程序越短越好
D)程序结构应有助于读者理解
5.程序设计语言的基本成分是数据成分、运算成分、控制成分和
A)对象成分
B)变量成分
C)语句成分
D)传输成分
6.下列叙述中,不属于软件需求规格说明书的作用的是
A)便于用户、开发人员进行理解和交流
B)反映出用户问题的结构,可以作为软件开发工作的基础和依据
C)作为确认测试和验收的依据
D)便于开发人员进行需求分析
7.下列不属于软件工程的3个要素的是
A)工具
B)过程
C)方法
D)环境
8.单个用户使用的数据视图的描述称为
A)外模式
B)概念模式
C)内模式
D)存储模式
9.将E-R图转换到关系模式时,实体与联系都可以表示成
A)属性
B)关系
C)键
D)域
10.SQL语言又称为
A)结构化定义语言
B)结构化控制语言
C)结构化查询语言
D)结构化操纵语言
11.下面关于类和对象的描述中,错误的是
A)类就是C语言中的结构体类型,对象就是C语言中的结构体变量
B)类和对象之间的关系是抽象和具体的关系
C)对象是类的实例,一个对象必须属于一个已知的类
D)类是具有共同行为的若干对象的统一描述体
12.以下各选项组中,均是C++语言关键字的组是
A)publicoperatorthis
B)shodstringstatic
C)itwhile>
D)privatecoutprintf
13.设inta=10,b=11,c=12;
,表达式(a+b)
A)2
B)0
C)-2
D)1
14.下列描述正确的是
A)表示m>
n为true或mn&
m
B)switch语句结构中必须有default语句
C)if语句结构中必须有else语句
D)如果至少有一个操作数为true,则包含"
||"
运算符的表达式为true
15.下列语句中不是死循环的是
A)inti=10;
while
(1)
{i--;
if(i==1)break;
B)for(inti=1;
i<
10;
i++)
C)inti=0;
do{
i++;
}while(i>
=0);
D)inti=1;
for(;
)i=i+1;
16.下面关于break语句的描述中,不正确的是
A)break可以用于循环体内
B)break语句可以在for循环语句中出现多次
C)break语句可以在switch语句中出现多次
D)break语句可用于if条件判断语句内
17.下面关于数组的描述错误的是
A)在C++语言中数组的名字就是指向该数组第一个元素的指针
B)长度为n的数组,下标的范围是0~n-1
C)数组的大小必须在编译时确定
D)数组只能通过值参数和引用参数两种方式传递给函数
18.下面程序错误的语句是
①#include
②voidmain()
③{
④int*p=newint[1];
⑤p=9;
⑥cout<
⑦delete[]p;
⑧}
A)④
B)⑤
C)⑥
D)⑦
19.下面的哪个选项不能作为函数的返回类型?
A)void
B)int
C)new
D)long
20.不能作为重载函数的调用的依据是
A)参数个数
B)参数类型
C)函数类型
D)函数名称
21.下列程序的输出结果为
intfunc(intn)
{if(n<
1)return1;
elsereturnn+func(n-1);
B)10
C)15
D)16
22.在C++语言中,数据封装要解决的问题是
A)数据的规范化
B)便于数据转换
C)避免数据丢失
D)防止不同模块之间数据的非法访问
23.以下程序中,错误的行为
(1)#include
(2)ClassA
(3){
(4)public:
(5)intn=2;
(6)A(intval){cout<
(7)~A(){}
(8)};
(9)voidmain()
(10){
(11)Aa(o);
(12)}
A)(5)
B)(6)
C)(7)
D)(11)
24.对类的构造函数和析构函数描述正确的是
A)构造函数可以重载,析构函数不能重载
B)构造函数不能重载,析构函数可以重载
C)构造函数可以重载,析构函数也可以重载
D)构造函数不能重载,析构函数也不能重载
25.下面程序的运行结果为
{intnum;
A(inti){num=i;
A(A&
a){num=a.num++;
voidprint(){cout<
{Aa
(1),b(a);
a.print();
b.print();
A)11
B)12
C)21
D)22
26.下面对静态数据成员的描述中,正确的是
A)静态数据成员是类的所有对象共享的数据
B)类的每个对象都有自己的静态数据成员
C)类的不同对象有不同的静态数据成员值
D)静态数据成员不能通过类的对象调用
27.如果类A被说明成类B的友元,则
A)类A的成员即类B的成员
B)类B的成员即类A的成员
C)类A的成员函数不得访问类B的成员
D)类B不一定是类A的友元
28.可以用p.a的形式访问派生类对象p的基类成员a,其中a是
A)私有继承的公有成员
B)公有继承的私有成员
C)公有继承的保护成员
D)公有继承的公有成员
29.建立派生类对象时,3种构造函数分别是a(基类的构造函数)、b(成员对象的构造函数)、c(派生类的构造函数)这3种构造函数的调用顺序为
A)abc
B)acb
C)cab
D)cba
30.下面关于虚函数的描述,错误的是
A)在成员函数声明的前面加上virtual修饰,就可把该函数声明为虚函数
B)基类中说明了虚函数后,派生类中对应的函数也必须说明为虚函数
C)虚函数可以是另一个类的友元函数,但不能是静态成员函数
D)基类中说明的纯虚函数在其任何派生类中都必须实现
31.下面关于模板的描述,错误的是
A)函数模板和类模板的参数可以是任意的数据类型
B)类模板不能直接使用,必须先实例化为相应的模板类,然后定义了模板类的对象后才能使用
C)函数模板不能直接使用,需要实例化为模板函数后才能使用
D)类模板的成员函数都是模板函数
32.语句ofstreamf("
SALARY.DAT"
ios:
app|ios:
binary);
的功能是建立流对象f,试图打开文件SALARY.DAT并与之连接,并且
A)若文件存在,将文件写指针定位于文件尾;
若文件不存在,建立一个新文件
B)若文件存在,将其置为空文件;
若文件不存在,打开失败
C)若文件存在,将文件写指针定位于文件首;
D)若文件存在,打开失败;
33.下面程序的运行结果是
{intnum=1;
int&
ref=num;
ref=ref+2;
cout<
num=num+3;
A)13
B)16
C)36
D)33
34.下面程序的运行结果是
voidfun(int*a,int*b)
{
intx=*a;
*a=*b;
*b=x;
*a<
*b<
}
{intx=1,y=2;
fun(&
x,&
y);
A)1212
B)1221
C)2112
D)2121
35.下列程序的运行结果为
inti=0;
classA{
A(){i++;
{Aa,b[3],*c;
c=b;
B)3
C)4
D)5
二、填空题
(1)数据结构分为逻辑结构与存储结构,线性链表属于【1】。
【1】存储结构
(2)在面向对象方法中,类之间共享属性和操作的机制称为【2】。
【2】继承
(3)耦合和内聚是评价模块独立性的两个主要标准,其中【3】反映了模块内各成分之间的联系。
【3】内聚
(4)一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体"
项目主管"
与实体"
项目"
的联系属于【4】的联系。
【4】一对多或1∶N
(5)数据库设计分为以下6个设计阶段:
需求分析阶段、【5】、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。
【5】数据库概念设计阶段
(6)开发一个C++语言程序的步骤通常包括编辑、【6】、链接、运行和调试。
【6】编译
(7)假设inta=1,b=2;
则表达式a+++--b的值为【7】。
【7】2
(8)下面程序的输出结果为【8】。
{intnum=0,i=8;
i--;
num++;
}while(--i);
【8】4
(9)通过使用new和delete两个运算符进行的分配为【9】存储分配。
【9】动态
(10)下面程序的运行结果为【10】。
voidfun(intx=0,inty=0)
fun(5);
【参考
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 二级 C+ 模拟 试题 答案