2013年计算机二级考试C++模拟试题十七及答案
1.已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为
A)GEDHFBCA
B)DGEBHFCA
C)ABCDEFGH
D)ACBFEDHG
【参考答案】 B
2.树是结点的集合,它的根结点数目是
A)有且只有1
B)1或多于1
C)0或1
D)至少2
【参考答案】 A
3.如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是
A)e3,e1,e4,e2
B)e2,e4,e3,e1
C)e3,e4,e1,e2
D)任意顺序
【参考答案】 B
4.在设计程序时,应采纳的原则之一是
A)不限制goto语句的使用
B)减少或取消注解行
C)程序越短越好
D)程序结构应有助于读者理解
【参考答案】 D
5.程序设计语言的基本成分是数据成分、运算成分、控制成分和
A)对象成分
B)变量成分
C)语句成分
D)传输成分
【参考答案】 D
6.下列叙述中,不属于软件需求规格说明书的作用的是
A)便于用户、开发人员进行理解和交流
B)反映出用户问题的结构,可以作为软件开发工作的基础和依据
C)作为确认测试和验收的依据
D)便于开发人员进行需求分析
【参考答案】 D
7.下列不属于软件工程的3个要素的是
A)工具
B)过程
C)方法
D)环境
【参考答案】 D
8.单个用户使用的数据视图的描述称为
A)外模式
B)概念模式
C)内模式
D)存储模式
【参考答案】 A
9.将E-R图转换到关系模式时,实体与联系都可以表示成
A)属性
B)关系
C)键
D)域
【参考答案】 B
推荐新闻:计算机二级C++章节练习在线测试※计算机二级C++全真模拟试题及答案汇总
更多练习>>参与233网校“计算机二级C++模拟估分”助您考试顺利通关!
10.SQL语言又称为A)结构化定义语言
B)结构化控制语言
C)结构化查询语言
D)结构化操纵语言
【参考答案】 C
11.下面关于类和对象的描述中,错误的是
A)类就是C语言中的结构体类型,对象就是C语言中的结构体变量
B)类和对象之间的关系是抽象和具体的关系
C)对象是类的实例,一个对象必须属于一个已知的类
D)类是具有共同行为的若干对象的统一描述体
【参考答案】 A
12.以下各选项组中,均是C++语言关键字的组是
A)public operator this
B)shod string static
C)it while >=
D)private cout printf
【参考答案】 A
13.设int a=10,b=11,c=12;,表达式(a+b)
A)2
B)0
C)-2
D)1
【参考答案】 B
14.下列描述正确的是
A)表示m>n为true或mn&&m
B)switch语句结构中必须有default语句
C)if语句结构中必须有else语句
D)如果至少有一个操作数为true,则包含"||"运算符的表达式为true
【参考答案】 D
15.下列语句中不是死循环的是
A)int i=10;
while (1)
{ i--;
if(i==1)break; }
B)for(int i=1;i<10;i++)
{ i--; }
C)int i=0;
do{
i++;
}while(i>=0);
D)int i=1;
for(;;)i=i+1;
【参考答案】 A
16.下面关于break语句的描述中,不正确的是
A)break可以用于循环体内
B)break语句可以在for循环语句中出现多次
C)break语句可以在switch语句中出现多次
D)break语句可用于if条件判断语句内
【参考答案】 D
17.下面关于数组的描述错误的是
A)在C++语言中数组的名字就是指向该数组第一个元素的指针
B)长度为n的数组,下标的范围是0~n-1
C)数组的大小必须在编译时确定
D)数组只能通过值参数和引用参数两种方式传递给函数
【参考答案】 D
18.下面程序错误的语句是
① #include
② void main()
③ {
④ int *p=new int[1];
⑤ p=9;
⑥ cout <<*p<
⑦ delete []p;
⑧ }
A)④
B)⑤
C)⑥
D)⑦
【参考答案】 B
推荐新闻:计算机二级C++章节练习在线测试※计算机二级C++全真模拟试题及答案汇总
更多练习>>参与233网校“计算机二级C++模拟估分”助您考试顺利通关!
19.下面的哪个选项不能作为函数的返回类型?A)void
B)int
C)new
D)long
【参考答案】 C
20.不能作为重载函数的调用的依据是
A)参数个数
B)参数类型
C)函数类型
D)函数名称
【参考答案】 D
21.下列程序的输出结果为
#include
int func(int n)
{ if (n<1)return 1;
else return n+func(n-1);
return 0; }
void main()
{ cout<
A)0
B)10
C)15 来源:考试大
D)16
【参考答案】 D
22.在C++语言中,数据封装要解决的问题是
A)数据的规范化
B)便于数据转换
C)避免数据丢失
D)防止不同模块之间数据的非法访问
【参考答案】 D
23.以下程序中,错误的行为
(1) #include
(2) ClassA
(3) {
(4) public:
(5) int n=2;
(6) A(int val){cout<
(7) ~A( ){}
(8) };
(9) void main( )
(10) {
(11) Aa(o);
(12) }
A)(5)
B)(6)
C)(7)
D)(11)
【参考答案】 A
24.对类的构造函数和析构函数描述正确的是
A)构造函数可以重载,析构函数不能重载
B)构造函数不能重载,析构函数可以重载
C)构造函数可以重载,析构函数也可以重载
D)构造函数不能重载,析构函数也不能重载
【参考答案】 A
25.下面程序的运行结果为
#include
class A
{ int num;
public:
A(int i){num=i;}
A(A &a){num=a.num++;}
void print(){cout<
void main()
{ A a (1),b(a);
a.print();
b.print(); }
A)11
B)12
C)21
D)22
【参考答案】 C
26.下面对静态数据成员的描述中,正确的是
A)静态数据成员是类的所有对象共享的数据
B)类的每个对象都有自己的静态数据成员
C)类的不同对象有不同的静态数据成员值
D)静态数据成员不能通过类的对象调用
【参考答案】 A
27.如果类A被说明成类B的友元,则
A)类A的成员即类B的成员
B)类B的成员即类A的成员
C)类A的成员函数不得访问类B的成员
D)类B不一定是类A的友元
【参考答案】 D
推荐新闻:计算机二级C++章节练习在线测试※计算机二级C++全真模拟试题及答案汇总
更多练习>>参与233网校“计算机二级C++模拟估分”助您考试顺利通关!
28.可以用p.a的形式访问派生类对象p的基类成员a,其中a是A)私有继承的公有成员
B)公有继承的私有成员
C)公有继承的保护成员
D)公有继承的公有成员
【参考答案】 D
29.建立派生类对象时,3种构造函数分别是a(基类的构造函数)、b(成员对象的构造函数)、c(派生类的构造函数)这3种构造函数的调用顺序为
A)abc
B)acb
C)cab
D)cba
【参考答案】 A
30.下面关于虚函数的描述,错误的是
A)在成员函数声明的前面加上virtual修饰,就可把该函数声明为虚函数
B)基类中说明了虚函数后,派生类中对应的函数也必须说明为虚函数
C)虚函数可以是另一个类的友元函数,但不能是静态成员函数
D)基类中说明的纯虚函数在其任何派生类中都必须实现
【参考答案】 B
31.下面关于模板的描述,错误的是
A)函数模板和类模板的参数可以是任意的数据类型
B)类模板不能直接使用,必须先实例化为相应的模板类,然后定义了模板类的对象后才能使用
C)函数模板不能直接使用,需要实例化为模板函数后才能使用
D)类模板的成员函数都是模板函数
【参考答案】 A
32.语句ofstream f("SALARY.DAT",ios::app|ios::binary);的功能是建立流对象f,试图打开文件SALARY.DAT并与之连接,并且
A)若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件
B)若文件存在,将其置为空文件;若文件不存在,打开失败
C)若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件
D)若文件存在,打开失败;若文件不存在,建立一个新文件
【参考答案】 A
33.下面程序的运行结果是
#include
void main()
{ int num=1;
int &ref=num;
ref=ref+2;
cout <
num=num+3;
cout <
A)13
B)16
C)36
D)33
【参考答案】 C
34.下面程序的运行结果是
#include
void fun(int *a,int *b)
{
int x=*a;
*a=*b; *b=x;
cout<<*a<<*b<<" ";
}
void main()
{ int x=1, y=2;
fun(&x,&y);
cout<
A)1212
B)1221
C)2112
D)2121
【参考答案】 D
35.下列程序的运行结果为
#include
int i=0;
class A{
public:
A(){i++;} };
void main()
{ A a,b[3],*c;
c=b;
cout<
A)2
B)3
C)4
D)5
【参考答案】 C
推荐新闻:计算机二级C++章节练习在线测试※计算机二级C++全真模拟试题及答案汇总
更多练习>>参与233网校“计算机二级C++模拟估分”助您考试顺利通关!
二、填空题
(1)数据结构分为逻辑结构与存储结构,线性链表属于 【1】 。
【参考答案】
【1】存储结构
(2)在面向对象方法中,类之间共享属性和操作的机制称为 【2】 。
【参考答案】
【2】继承
(3)耦合和内聚是评价模块独立性的两个主要标准,其中 【3】 反映了模块内各成分之间的联系。
【参考答案】
【3】内聚
(4)一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体"项目主管"与实体"项目"的联系属于 【4】 的联系。
【参考答案】
【4】一对多或1∶N
(5)数据库设计分为以下6个设计阶段:需求分析阶段、 【5】 、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。
【参考答案】
【5】数据库概念设计阶段
(6)开发一个C++语言程序的步骤通常包括编辑、 【6】 、链接、运行和调试。
【参考答案】
【6】编译
(7)假设int a=1,b=2;则表达式a+++--b的值为 【7】 。
【参考答案】
【7】2
(8)下面程序的输出结果为 【8】 。
#include
void main()
{ int num=0,i=8;
do{
i--;
num++;
}while(--i);
cout<
【参考答案】
【8】4
(9)通过使用new和delete两个运算符进行的分配为 【9】 存储分配。
【参考答案】
【9】动态
(10)下面程序的运行结果为 【10】 。
#include
void fun(int x=0,int y=0)
{
cout<
}
void main()
{
fun (5);
}
【参考答案】
【10】50
(11)在C++语言中,访问一个对象的成员所用的运算符是 【11】 ,访问一个指针所指向的对象的成员所用的运算符是 【12】 。
【参考答案】
【11】成员选择运算符 【12】成员访问运算符
(12)C++语言支持的两种多态性分别是编译时的多态性和 【13】 的多态性。
【参考答案】
【12】运行时
(13)重载的运算符保持其原有的 【14】 、优先级和结合性不变。
【参考答案】
【13】操作符个数
(14)cout.put(′A′);,还可以表示为 【15】 。
【参考答案】
【14】cout<<′A′;)
推荐新闻:计算机二级C++章节练习在线测试※计算机二级C++全真模拟试题及答案汇总
更多练习>>参与233网校“计算机二级C++模拟估分”助您考试顺利通关!