2012年9月全国计算机等级考试二级C++笔试试卷与答案
更新时间:2024-04-14 17:35:01 阅读量: 综合文库 文档下载
2012年9月全国计算机等级考试二级笔试试卷
C++语言程序设计
(考试时间90分钟,满分100分)
一、选择题(每小题2分,共70分)
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 (1)下列链表种,其逻辑结构属于非线性结构的是
A)循环链表 B)双向链表 C)带链的栈 D)二叉链表
(2)设循环队列的存储空间为Q(1:35),初始状态为front=rear=35,现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为
A)16 B)20 C)0或35 D)15 (3)下列关于栈的叙述中,正确的是
A)栈顶元素一定是最先入栈的元素 B)栈操作遵循先进后出的原则 C)栈底元素一定是最后入栈的元素 D)以上三种说法都不对 (4)在关系数据库中,用来表示实体间联系的是
A)二维表 B)树状结构 C)属性 D)网状结构
(5)公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,则实体部门和职员间的联系是
A)m:1联系 B)1:m联系 C)1:1联系 D)m:n联系 (6) 有两个关系R和S 如下: R A a b c B 1 2 3 C 2 1 1 A c S B 3 C 1 则由关系R得到关系S的操作是 A)自然连接 B)选择 C)并 D)投影 (7)数据字典(DD)所定义的对象都包含于
A)程序流程图 B)数据流图(DFD图) C)方框图 D)软件结构图
(8)软件需求规格说明书的作用不包括
A)软件可行性研究的依据 B)用户与开发人员对软件要做什么的共同理解s
C)软件验收的依据 D)软件设计的依据 (9)下面属于黑盒测试方法的是
A)逻辑覆盖 B)语句覆盖 C)路径覆盖 D)边界值分析 (10)下面不属于软件设计阶段任务的是
A)数据库设计 B)算法设计
C)软件总体设计 D)制定软件确认测试计划
(11)下列关于函数重载的叙述中,错误的是
A)重载函数的参数个数可以不同 B)重载函数的参数类型可以不同 C)重载函数的返回值类型必须不同
D)重载函数的参数个数或参数类型必须有所不同
(12)下列关于类成员对象构造函数调用顺序的叙述中,正确的是
A)与它们在初始化列表中顺序相同 B)与它们在类中声明的顺序相同 C)与析构函数的调用顺序相同 D)顺序不确定
(13)下列关于派生类的叙述中,错误的是
A)派生类至少要有一个基类
B)派生类中包括了从基类继承的成员
C)一个派生类可以作为另一个派生类的基类
D)基类成员被派生类继承以后访问权限保持不变 (14)下列关于运算符重载的叙述中,正确的是
A)通过运算符重载机制可以为C++语言扩充新的运算符 B)运算符重载的作用是使已有的运算符作用于类的对象 C)重载运算符的操作数类型可以全部为基本类型 D)所有运算符都可以重载
(15)下列关于模板的叙述中,错误的是
A)调用模板函数时,有时可以省略模板实参 B)函数模板的每个实例就是一个函数定义 C)类模板的每个实例就是一个类定义 D)类模板的实例是一个类对象
(16)下列关于输入输出流的叙述中,正确的是
A)一个文件流可以与一个数据文件相联系 B)cin是专门从键盘输入数据的输入流类 C)流运算符<<用来从输入流中读取数据 D)宽度设置的效果永久有效
(17)下列选项中可以做C++标识符的是
A)_256 B)fat/pig C)delete D)5char (18)关键字unsigned不能修饰的类型是
A)char B)int C)float D)long int (19)有如下程序:
#include
if(a='*') cout<<\ else cout<<\ return 0; }
A)*** B)### C)***### D)无输出 (20)下列对一维数组a的定义中,语法正确的是
A)int a(10) B)int n=7,a[n]; C)int n;cin>>n;int a[n]; D)const int size=10;int a[size];
(21)假设函数fun已经定义,其原型为”void fun(int a,int b=7,char *p=”**”);”,下列函数调用中错误的是
A)fun(5) B)fun(5,8) C)fun(6,”##”) D)fun(0,0.”==”) (22)已经函数print()没有返回值,如果在类中将之声明为常成员函数,正确的是
A)void print()const; B)const void print(); C)void const print(); D)void print(const);
(23)已知基类Employees只有一个构造函数,其定义如下:
Employee::Employee(int n):id(n){} Manager是Employees的派生类,则下列对Manager的构造函数的定义中,正确的是
A)Manager::Manager(int n):id(n){} B)Manager::Manager(int n){id=n;}
C)Manager::Manager(int n):Employee(n){} D)Manager::Manager(int n){Employee(n);}
(24)已知将运算符“+”和“*”作为类Complete的成员函数重载,设c1和c2是类Complex的对象,则表达式c1+c2*c1等价于
A)c1.operator*(c2.operator+(c1)) B)c1.operator+(c2.operator*(c1)) C)c1.operator*(c1.operator+(c2)) D)c2.operator+(c1.operator*(c1)) (25)下列类模板的定义中语法格式错误的是
A)template
C)template
(26)在C++中既可以用于文件输入又可以用于文件输出的流类是
A)fstream B)ifstream C)ofstream D)iostream (27)有如下类定义:
class MyClass{
int b;char a;double c; public:
MyClass():c(0.0),b(0),a(','){} };
创建这个类的对象时,数据成员的初始化顺序是
A)a,b,c B)c,b,a C)b,a,c D)c,a,b (28)有如下类定义
class MyClass{ int x; public:
MyClass():x(0),y(0){} int GetX(){return x;}
void SetX(int xx){x==xx;} int y; };
已知obj是类MyClass的对象,下列语句中违反类成员访问控制权限的是 A)obj.x; B)obj.y; C)obj.GetX(); D)obj.SetX(0);
(29)有如下类定义
class Test{
char a; const char b;
public:Test(char c){a=c;b=c;} //第1行 void f(char a)const{this->a=a;} //第2行 void g(char b){this->b=b;} //第3行 char h()const{return a;} //第4行 };
编译时没有错误的行是
A)第1行 B)第2行 C)第3行 D)第4行 (30)有如下程序:
#include
A(){cout<,'A';} ~A(){cout<<'C';} };
class B:public A{ public:
B(){cout<<'G';} ~B(){cout<<'T';} };
int main(){ B obj; return 0; }
运行这个程序的输出结果是
A)GATC B)AGTC C)GACT D)AGCT (31)有如下程序:
#include
class Derived:public Base{ public;
void fun(){ cout<<'D';} };
int main(){ Derived d; d.fun(); return 0; }
若程序的输出结果是BD,则划线处缺失的部分是
A)fun() B)Base.fun() C)Base::fun() D)Base->fun() (32)有如下程序:
#include
virtual void f() {cout<<\ void g(){cout<<\ }
class D;public B { public;
void f(){cout<<\ void g(){coun<<\ }
void h(B*p){p->f();p->g();} int main(){ D obj; h(&obj); return 0; }
运行这个程序的输出结果是:
A)DD B)BB C)BD D)DB (33)有如下程序:
#include
char str[80];
MyString(const char*s) {strcpy(str,s);} MyString&operator+=(MyString a){ strcat(str,a.str); return*this; } };
ostream&operator<<(ostream&s,const MyString&z){return s << z.str}
int main(){ MyString x(\,y(\; cout<<(x+=y)< 运行这个程序的输出结果是 A) abc B) cde C) abcde D) abccde (34)有如下程序: #include A) ##OK123 B) ##OK#123 C) OK##123 D) OK##123# (35)有如下语句序列: ifstream infile(\ if(infile.good())cout<<\ else{ cout<<\ ofstream outfile(\ if(outfile.fail())cout<<\ } 若执行这个语句序列显示的是BD,则说明文件DATA.DAT A)以读方式打开成功 B)以读方式打开失败,但以写方式打开成功 C)以读方式打开失败,以写方式打开也失败 D)以读方式打开成功,以写方式打开也成功 二、填空题(每空2分,共30分) 请将每一个空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。 注意:以命令关键字填空的必须拼写完整 (1)一棵二叉树共有47个结点,其中有23个度为2的结点,假设根结点在底1层,则该二叉树的深度为【1】 。 (2)设栈的存储空间为S(1:40),初始状态为bottom=0,top=0,现经过一系列入栈与出栈运算后,top=20,则当前栈中有【2】个元素。 (3)数据独立性分为逻辑独立性和物理独立性。当总体逻辑结构改变时,其局部逻辑结构可以不变,从而根据局部逻辑结构编写的应用程序不必修改,称为【3】 。 (4)关系数据库中能实现的专门关系运算包括【4】、连接和投影。 (5)软件按功能通常可以分为应用软件、系统软件和支撑软件(或工具软件), Unix操作系统属于【5】软件。 (6)若有定义语句“int x=10;”,则表达式“x<=10?20:30”的值为【6】。 (7)下列语句的作用是计算正整数n的各位数字之和,例如:n=123,sum=1+2+3,请将下列语句补充完整。 do{ sum+=; n=n/10; }while(n1=0) (8)有如下程序: #include int main(){ int x=4,y=5; fun(x,y); cout< 运行这个程序的输出结果是【8】。 (9)有如下程序: #include A(){cout<<1;} A(const A&){cout<<2;} -A(){cout<<3;} }; int main(){ A obj1; A obj2(obj1); return 0; } 运行这个程序的输出结果是【9】。 (10)若下列程序的输出结果是20,请将横线处缺失部分补充完整。 #include MyClass(int x=)10:value(x){} void SetValue(int x){value=x;cout< int value; }; int main(){ MyClass*ptr=new MyClass; 【10】 //通过对象指针ptr调用SetValue函数 delete ptr; return 0; } (11)有下列程序的输出结果是2334,请将横线处缺失部分补充完整。 #include Base(int k):m(k){} int getM()const{return m;} } class Derived:public Base{ int n; public; Derived(int k):【11】,n(k){} int getN()const{return n;} } int main(){ Derived d1(3),d2(4); cout< (12)在C++中,编译时的多态性是通过模板或函数【12】实现的。 (13)有些运算符既可以作为成员函数重载,也可以作为非成员函数重载。若在一个重载的运算符函数的定义中成功地使用了this指针,说明它是作为【13】重载的。 (14)有如下程序: #include T Add(Tv1,Tv2){return v1+v2;} int main(){ cout< 运行这个程序的输出结果是【14】。 (15)有如下程序: #include Point(double xx=0.0,double yy=0.0):x(xx),y(yy){} double getX()const{return x;} double getY()const{return y;} void show()const{cout<<'('< class Line{ Point p1,p2; public; Line(Point pp1,Point pp2):p1(pp1),p2(pp2){} Point LeftMost()const{ if(p1.getX()<=P2.getX())return p1; return p2; } } int main(){ Line line(Point(3.1,5.2),Point(8.2,4.4)); line.LeftMost().show(); return 0; } 运行这个程序的输出结果是【15】。 2012年9月全国计算机等级考试二级笔试答案 一、选择题答案 1-5)DCBAB 6-10)BBADD 11-15)CBDBC 16-20) AAABD 21-25) CACBD 26-30 )ABACB 31-35 )CDDAC 二、填空题答案 1、6 2、21 3、物理独立性 4、选择 5、系统 6、 20 7、 n 8、 8 9、1233 10、 ptr->setvalue(20); 11、base(k-1) 12、重载 13、成员函数 14、5,5.8 15、(3.1,5.2)
正在阅读:
2012年9月全国计算机等级考试二级C++笔试试卷与答案04-14
我期待的XX青奥会六年级作文500字05-08
华东理工大学2019年全国硕士研究生招生考试考点(代码3107)缴费及现场确认办法12-21
附合导线坐标计算成果表09-04
电厂职业卫生试卷及答案12-08
国有企业党建小标题写作素材30例09-07
2014年1月20工会评选困难职工及优秀职工家属会议纪要(1.20)12-25
最新内部控制习题及参考答案03-05
学校财务人员竞聘笔试题和答案09-23
- 小学生造句大全
- 增压泵投资项目可行性研究报告(模板)
- 高中语文人教版粤教版必修1-5全部文言文知识点归纳
- 两学一做专题民主生活会组织生活会批评与自我批评环节个人发言提
- 管理处环境保洁工作操作标准作业指导书
- 2012六一儿童节活动议程 - 图文
- 移树申请报告
- 《贵州省市政工程计价定额》2016定额说明及计算规则
- 计算机长期没有向WSUS报告状态
- 汉语拼音教学策略研究
- 发展西部领先的航空货运枢纽
- 司法所上半年工作总结4篇
- 如何提高银行服务水平
- 发电厂各级人员岗位职责
- 丰田汽车的外部环境分析
- 2017—2018年最新冀教版四年级数学下册《混合运算》教案精品优质
- 中建八局样板策划 - 图文
- 戚安邦《项目管理学》电子书
- 2015年高级项目经理笔记
- 弯桥的设计要点
- C++
- 等级考试
- 笔试
- 试卷
- 二级
- 答案
- 计算机
- 全国
- 2012
- 高校各类各级岗位职责及考核办法
- 主营业务收入的审计
- 结构力学影响线习题及答案
- 关于给予第七届运动会学生裁判志愿者通报表扬的决定
- 扬州八怪 - 图文
- 八宅风水的吉凶方位
- OpenFOAM常用类的一些总结
- 《中考文言文点击》150个实词电子版 - 图文
- 农行国际贸易融资业务操作规程
- 信号与系统习题集(郑君里)
- 自考马克思主义基本原理概论复习资料
- 大班科学教案 新13篇
- GBT 50050—95工业循环冷却水处理设计规范
- 联通鼎力GPRS测试内容及方法
- 2018-2024年中国吻合器市场专项调研报告(目录) - 图文
- 高考前辈的升级版经验
- 苏安监180号文,江苏省关于贯彻《危险化学品建设项目安全许可实
- 2017新编人教版一年级语文下册期末复习资料数学试卷看图写话全汇
- 塑料单螺杆造粒机使用说明书
- 一堂课 一门课程 一种文化(培训感言郭虹) - 图文