2012年计算机二级C++第七套笔试模拟试题及答案分析
全国计算机等级考试二级C++笔试模拟试题(七)
一、选择题
在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。
(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)结构化操纵语言
编辑推荐:
2012年计算机二级C++考点归纳汇总
2011年全国计算机等级考试二级C++模拟试题及答案汇总
2011年计算机等级考试二级C++冲刺全真模拟试题及答案汇总
2011年计算机二级C++辅导实例编程汇总
(11)下面关于类和对象的描述中,错误的是
A)类就是C语言中的结构体类型,对象就是C语言中的结构体变量
B)类和对象之间的关系是抽象和具体的关系
C)对象是类的实例,一个对象必须属于一个已知的类
D)类是具有共同行为的若干对象的统一描述体
(12)以下各选项组中,均是C++语言关键字的组是
A)public operator this
B)shod string static
C)it while >=
D)private cout printf
(13)设int a=10,b=11,c=12;,表达式(a+b) B)0
C)-2
D)1
(14)下列描述正确的是
A)表示m>n为true或m C)if语句结构中必须有else语句
D)如果至少有一个操作数为true,则包含"||"运算符的表达式为true
(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;
(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 ② void main()
③ {
④ int *p=new int[1];
⑤ p=9;
⑥ cout <<*p< ⑧ }
A)④
B)⑤
C)⑥
D)⑦
(19)下面的哪个选项不能作为函数的返回类型?
A)void
B)int
C)new
D)long
(20)不能作为重载函数的调用的依据是
A)参数个数
B)参数类型
C)函数类型
D)函数名称 编辑推荐: 2012年计算机二级C++考点归纳汇总 2011年全国计算机等级考试二级C++模拟试题及答案汇总 2011年计算机等级考试二级C++冲刺全真模拟试题及答案汇总 2011年计算机二级C++辅导实例编程汇总 (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
(22)在C++语言中,数据封装要解决的问题是
A)数据的规范化
B)便于数据转换
C)避免数据丢失
D)防止不同模块之间数据的非法访问
(24)对类的构造函数和析构函数描述正确的是
A)构造函数可以重载,析构函数不能重载
B)构造函数不能重载,析构函数可以重载
C)构造函数可以重载,析构函数也可以重载
D)构造函数不能重载,析构函数也不能重载
(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
(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)基类中说明的纯虚函数在其任何派生类中都必须实现 编辑推荐: 2012年计算机二级C++考点归纳汇总 2011年全国计算机等级考试二级C++模拟试题及答案汇总 2011年计算机等级考试二级C++冲刺全真模拟试题及答案汇总 2011年计算机二级C++辅导实例编程汇总 (31)下面关于模板的描述,错误的是
A)函数模板和类模板的参数可以是任意的数据类型
B)类模板不能直接使用,必须先实例化为相应的模板类,然后定义了模板类的对象后才能使用
C)函数模板不能直接使用,需要实例化为模板函数后才能使用
D)类模板的成员函数都是模板函数
(32)语句ofstream f("SALARY.DAT",ios::app|ios::binary);的功能是建立流对象f,试图打开文件SALARY.DAT并与之连接,并且
A)若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件
B)若文件存在,将其置为空文件;若文件不存在,打开失败
C)若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件
D)若文件存在,打开失败;若文件不存在,建立一个新文件
(33)下面程序的运行结果是