【计算机类职业资格】国家二级(C++)机试模拟试卷173及答案解析.doc
《【计算机类职业资格】国家二级(C++)机试模拟试卷173及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级(C++)机试模拟试卷173及答案解析.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级(C+)机试模拟试卷 173 及答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.程序流程图中带有箭头的线段表示的是( )。(分数:2.00)A.图元关系B.数据流C.控制流D.调用关系2.结构化程序设计的基本原则不包括( )。(分数:2.00)A.多态性B.自顶向下C.模块化D.逐步求精3.软件设计中模块划分应遵循的准则是( )。(分数:2.00)A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合4.在软件开发中,需求分析阶段产生的主要文档是( )。(分数:2.00)A.可行性分析报告B.软件需求规格说明书C.概要设计说明
2、书D.集成测试计划5.算法的有穷性是指( )。(分数:2.00)A.算法程序的运行时间是有限的B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用6.对长度为 n 的线性表排序,在最坏情况下,比较次数不是 n(n 一 1)2 的排序方法是( )。(分数:2.00)A.快速排序B.冒泡排序C.直接插入排序D.堆排序7.下列关于栈的叙述正确的是( )。(分数:2.00)A.栈按“先进先出”组织数据B.栈按“先进后出”组织数据C.只能在栈底插入数据D.不能删除数据8.在数据库设计中,将 ER 图转换成关系数据模型的过程属于( )。(分数:2.00)A.需求分析阶段
3、B.概念设计阶段C.逻辑设计阶段D.物理设计阶段9.有三个关系 R、S 和 T 如下: (分数:2.00)A.并B.自然连接C.笛卡尔积D.交10.设有表示学生选课的三张表,学生 S(学号,姓名,性别,年龄,身份证号),课程 C(课号,课名),选课 SC(学号,课号,成绩),则表 SC 的关键字(键或码)为( )。(分数:2.00)A.课号,成绩B.学号,成绩C.学号,课号D.学号,姓名,成绩11.下列语句中,错误的是( )。(分数:2.00)A.const int buffer=256;B.const int temp;C.const double*point;D.const double*
4、rt=new double(55);12.有如下程序: int x=3; do x-=2: coutB.+ - + -C. = ”,使得程序中可以“cinobj;”的形式改变 MyClass 类的对象 obj 中数据成员 data 的值,则横线处的声明语句应为( )。(分数:2.00)A.friend istream&operator(istream&is,MyClass&a);B.friend istream&operator(istream&is,MyClass a);C.istream&operator(istream&is,MyClass&a);D.istream&operator(i
5、stream&is,MyClass a);23.由于常对象不能被更新,因此( )。(分数:2.00)A.通过常对象只能调用它的常成员函数B.通过常对象只能调用静态成员函数C.常对象的成员都是常成员D.通过常对象可以调用任何不改变对象值的成员函数24.有如下类定义: class AA int a; public: int getRef()constreturn&a; int getValue()constreturn a; void set(int n)consta=n; friend void show(AA aa)consttouta; ; 其中四个函数的定义中正确的是( )。(分数:2.0
6、0)A.B.C.D.25.下列关于 this 指针的描述中,正确的是( )。(分数:2.00)A.类的成员函数都有 this 指针B.类的友元函数都有 this 指针C.任何与类相关的函数都有 this 指针D.类的非静态成员函数都有 this 指针26.下列关于虚函数的说明中,正确的是( )。(分数:2.00)A.从虚基类继承的函数都是虚函数B.虚函数不得是静态成员函数C.只能通过指针或引用调用虚函数D.抽象类中的成员函数都是虚函数27.下列关于基类和派生类关系的叙述中,正确的是( )。(分数:2.00)A.每个类最多只能有一个直接基类B.派生类中的成员可以访问基类中的任何成员C.基类的构造
7、函数必须在派生类的构造函数体中调用D.派生类除了继承基类的成员,还可以定义新的成员28.有如下类定义: class B public:void fun1() private:void fun2() protected:void fun3() ; class D:public B protected:void fun4() ; 若 obj 是类 D 的对象,则下列语句中不违反访问控制权限的是( )。(分数:2.00)A.objfun1();B.objfun2();C.objfun3();D.objfun4();29.有如下类定义: class Foo public: Foo(int v):val
8、ue(v) Foo() private: Foo() int value=0; ; 其中存在语法错误的行是( )。(分数:2.00)A.B.C.D.30.有如下类定义: class Point int xx,yy; public: Point():xx(0),yy(0) Point(int x,int y=0):xx(x),yy(y) ; 若执行语句 Point a(2),b3,*4; 则 Point 类的构造函数被调用的次数是( )。(分数:2.00)A.2 次B.3 次C.4 次D.5 次31.有如下类定义: class Test public: Test()a=0;c=0; int f(
9、int a)constthis-a=a; static int g()return a; void h(int b)Test:b=b; private: int a; static int b; const int c; ; int Test:b=0; 在标注号码的行中,能被正确编译的是( )。(分数:2.00)A.B.C.D.32.有如下类声明: class SAMPLE int n; public: SAMPLE(int i=0):n(i) void setValue(int n0); ; 下列关于 getValue 成员函数的定义中,正确的是( )。(分数:2.00)A.SAMPLE:s
10、etValue(int n0)n=n0;B.void SAMPLE:setValue(int n0)n=n0;C.void setValue(int n0)n=n0;D.setValue(int n0)n=n0;33.有如下程序: #include using namespaee std; class A public: A()cout(i);C.cast(i);D.cast(i);39.要建立文件流并打开当前目录下的文件 filedat 用于输入,下列语句中错误的是( )。(分数:2.00)A.ifstrearn fin=ifstreamopen(“filedat“);B.ifstream*
11、fin=new ifstream(“filedat“);C.ifstream fin;finopen(“filedat“);D.ifstream * fin=new ifstream();fin-open(“filedat“);40.当使用 ifstream 流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为( )。(分数:2.00)A.ios_base:inB.ios_base:in | ios_base:outC.ios_base:outD.ios_base:in & ios_base:out二、基本操作题(总题数:1,分数:2.00)41.使用 VC6 打开考生文件夹 proj
12、1 下的工程 pwjl,其中定义了一个 CD 类。程序中位于每个ERROR*found*下的语句行有错误,请加以更正,不得修改程序的其他部分。更正后程序的输出应该是: 歌唱祖国 30 义勇军进行曲 95 注意:只能修改每爪ERROR*found*下的那一行,不要改动程序中的其他内容。#includeiostream#includecstringusing namespace std;class CD char name20; int number;public: void init(char*aa,int bb) ERROR*found* name=aa: number=bb; char*ge
13、tName() ERROR*found* return*name: int getNumber()return number; void output() ERROR*found* coutname20 numberendl; ;void main() CD dx,dy; dxinit(“歌唱祖国“,30); dyinit(“义勇军进行曲“,3*dxgetNumber()+5); dxoutput(); dyoutput();(分数:2.00)_三、简单应用题(总题数:1,分数:2.00)42.使用 VC6 打开考生文件夹 proj2 下的工程 proj2。其中在编辑窗口内显示的主程序文件中定
14、义有类XBase 和 XDerived,以及主函数 main。程序文本中位于每行“*found*下面的一行内有一处或多处下划线标记,请在每个下划线标记处填写合适的内容,并删除掉下划线标记。经修改后运行程序,得到的输出结果为:s=25#includeiostreamusing namespace std;class XBase private: int mem1,mem2; public: *found* XBase(int m1=0,int m2=0):meml(m1),_ *found* virtual int_;*found*class XDerived:_ private: int me
15、re3; public: XDerived():XBase(),mere3(0) *found* XDerived(int ml,int m2,int m3):_ int sum()return XBase:slim()+mem3;void main() XDerived b(3,4,5);XBase a(6,7),*pb=&b; int S=pb-sum()+asum(); cout“s=“sendl:(分数:2.00)_四、综合应用题(总题数:1,分数:2.00)43.请使用 VC6 或使用【答题】菜单打开考生文件夹 proj3 下的工程 proj3,其中声明的 CDeepCopy 是一个
16、用于表示矩阵的类。请编写这个类的赋值运算符成员函数 operator,以实现深层复制。 要求: 补充编制的内容写在“*333*”与“*666*”之间。不得修改程序的其他部分。 注意:程序最后将结果输出到文件 outdat 中。输出函数 writeToFile 已经编译为obj 文件,并且在本程序中调用。 CDeepCopyh #includeiostream #includestring using namespace std; class CDeepCopy public: int n;动态数组的元素个数 int *p;动态数组首地址 CDeepCopy(int); CDeepCopy();
17、 CDeepCopy&operator=(const CDeepCopy&r);赋值运算符函数 ; void writeToFile(char*); maincpp #include“CDeepCopyh“ CDeepCopy:CDeepCopy()deletep; CDeepCopy:CDeepCopy(int k)n=k;p=new intn;构造函数实现 CDeepCopy&CDeepCopy:operator=(const CDeepCopy&r)赋值运算符函数实现 *333* *666* int main() CDeepCopy a(2),d(3);ap0=1;dp0=666;对象
18、a,d 数组元素的赋值 CDeepCopy b(3);调用赋值运算符函数 ap0=88;b=a; coutbp0;显示内层局部对象的数组元素 coutdp0;显示 d 数组元素 ap0的值 cout“d fade away;n“: coutap0;显示 a 数组元素ap0的值 writeToFile(“); return 0; (分数:2.00)_国家二级(C+)机试模拟试卷 173 答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.程序流程图中带有箭头的线段表示的是( )。(分数:2.00)A.图元关系B.数据流C.控制流 D.调用关系解析:解
19、析:在数据流图中,用标有名字的箭头表示数据流。在程序流程图中,用标有名字的箭头表示控制流。所以选择 C。2.结构化程序设计的基本原则不包括( )。(分数:2.00)A.多态性 B.自顶向下C.模块化D.逐步求精解析:解析:结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用 goto 语句,所以选择 A。3.软件设计中模块划分应遵循的准则是( )。(分数:2.00)A.低内聚低耦合B.高内聚低耦合 C.低内聚高耦合D.高内聚高耦合解析:解析:软件设计中模块划分应遵循的准则是高内聚低偶合、模块大小规模适当、模块的依赖关系适当等。模块的划分应遵循一定的要求,以保证模块划分合理,并进一步保
20、证以此为依据开发出的软件系统可靠性强,易于理解和维护。模块之间的耦合应尽可能的低,模块的内聚度应尽可能的高。4.在软件开发中,需求分析阶段产生的主要文档是( )。(分数:2.00)A.可行性分析报告B.软件需求规格说明书 C.概要设计说明书D.集成测试计划解析:解析:A 错误,可行性分析阶段产生可行性分析报告。C 错误,概要设计说明书是总体设计阶段产生的文档。D 错误,集成测试计划是在概要设计阶段编写的文档。B 正确,软件需求规格说明书是后续工作如设计、编码等需要的重要参考文档。5.算法的有穷性是指( )。(分数:2.00)A.算法程序的运行时间是有限的 B.算法程序所处理的数据量是有限的C.
21、算法程序的长度是有限的D.算法只能被有限的用户使用解析:解析:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。有穷性是指算法程序的运行时间是有限的。6.对长度为 n 的线性表排序,在最坏情况下,比较次数不是 n(n 一 1)2 的排序方法是( )。(分数:2.00)A.快速排序B.冒泡排序C.直接插入排序D.堆排序 解析:解析:除了堆排序算法的比较次数是 0(nlo2n),其他的都是 n(n1)2。7.下列关于栈的叙述正确的是( )。(分数:2.00)A.栈按“先进先出”组织数据B.栈按“先进后出”组织数据 C.只能在栈底插入数据D.不能删除数据解析:解析:栈是按“先进后出”
22、的原则组织数据的,数据的插入和删除都在栈顶进行操作。8.在数据库设计中,将 ER 图转换成关系数据模型的过程属于( )。(分数:2.00)A.需求分析阶段B.概念设计阶段C.逻辑设计阶段 D.物理设计阶段解析:解析:ER 图转换成关系模型数据则是把图形分析出来的联系反映到数据库中,即设计出表,所以属于逻辑设计阶段。9.有三个关系 R、S 和 T 如下: (分数:2.00)A.并B.自然连接C.笛卡尔积D.交 解析:解析:自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以 B 错误。笛卡尔积是用 R 集合中元素为第一元素,S 集合
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 模拟 试卷 173 答案 解析 DOC
