【计算机类职业资格】国家二级(C++)机试模拟试卷171及答案解析.doc
《【计算机类职业资格】国家二级(C++)机试模拟试卷171及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级(C++)机试模拟试卷171及答案解析.doc(16页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级(C+)机试模拟试卷 171 及答案解析(总分: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)
2、A.算法在执行过程中所需要的计算机存储空间B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的临时工作单元数5.软件设计中划分模块的一个准则是( )。(分数:2.00)A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合6.下列选项中不属于结构化程序设计原则的是( )。(分数:2.00)A.可封装B.自顶向下C.模块化D.逐步求精7.软件详细设计产生的图如下: (分数:2.00)A.N-S 图B.PAD 图C.程序流程图D.E-R 图8.数据库管理系统是( )。(分数:2.00)A.操作系统的一部分B.在操作系统支持下的系统软件C.一种编译系统D.一种操
3、作系统9.在 ER 图中,用来表示实体联系的图形是( )。(分数:2.00)A.椭圆形B.矩形C.菱形D.三角形10.有三个关系 R,S 和 T 如下: (分数:2.00)A.选择B.投影C.交D.并11.下列符号中可以用做 C+标识符的是( )。(分数:2.00)A._radiusB.foobarC.elseD.3room12.下列各组类型声明符中,含义相同的一组是( )。(分数:2.00)A.unsigned long int 和 longB.signed short int 和 shortC.unsigned short 和 shortD.short int 和 int13.必须用一对大
4、括号括起来的程序段是( )。(分数:2.00)A.switch 语句中的 case 标号语B.if 语句的分支C.循环语句的循环体D.函数的函数体14.语句 int*p=&k;定义了指针 p,与这个语句等效的语句序列是( )。(分数:2.00)A.int*p;p=&k;B.int*p;p=k;C.int*p;*p=&k;D.int*p;*p=k;15.执行下列语句段后,输出字符“*”的个数是( )。 for(int i=50;i1;i-=2)coutoutput(); ptr-Print(); delete ptr; return 0; 执行这个程序的输出结果是( )。(分数:2.00)A.1
5、BB.1DC.2BD.2D36.有如下程序: #include using namespace std; class B public: virtual void show()coutshow(); void fun2(B&ref)refshow(); void fun3(B b)bshow(); int main() B b,*p=new D: D d; fun1(p); fun2(b); fun3(d); delete p; return 0; 执行这个程序的输出结果是( )。(分数:2.00)A.BBBB.BBDC.DBBD.DBD37.C+中的模板包括( )。(分数:2.00)A.对象
6、模板和函数模板B.对象模板和类模板C.函数模板和类模板D.变量模板和对象模板38.下列关于类模板的模板参数的叙述中,错误的是( )。(分数:2.00)A.模板参数可以作为数据成员的类型B.模板参数可以作为成员函数的返回类型C.模板参数可以作为成员函数的参数类型D.模板参数不能作为成员函数的局部变量的类型39.下列关于 C+预定义流对象的叙述中,正确的是( )。(分数:2.00)A.cin 是 C+预定义的标准输入流对象B.cin 是 C+预定义的标准输入流类C.cout 是 C+预定义的标准输入流对象D.cout 是 C+预定义的标准输入流类40.有如下语句序列: char str10;cin
7、str; 当从键盘输入“I love this game”时,str 中的字符串是( )。(分数:2.00)A.I love this gameB.I love thiC.I loveD.I二、基本操作题(总题数:1,分数:2.00)41.请使用 VC6 或使用【答题】菜单打开考生文件夹 proj1 下的工程 proj1,该工程中包含程序文件maincpp,其中有类 Door(“门”)和主函数 main 的定义。程序中位于每个“ERROR*found*”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为: 打开503 号门门是锁着的,打不开。 打开 503 号门的锁锁开了。 打开 50
8、3 号门门打开了。 打开 503号门门是开着的,无须再开门。 锁上 503 号门先关门门锁上了。 注意:只修改每个“ERROR*found*”下的那一行,不要改动程序中的其他内容。 #includeiostream using namespaee std; class Door int num;门号 bool closed;true 表示门关着 bool locked;true 表示门锁着 public: Door(int num) ERROR*found* num=this-hum; closed=locked=true; bool isClosed()constreturn closed;
9、 门关着时返回 true,否则返回 false bool isOpened()constreturn!closed; 门开着时返回 true,否则返回 false bool isLocked()constreturn locked; 门锁着时返回 true,否则返回 false bool isUnlocked()constreturn!locked; 门未锁时返回 true,否则返回 false void open() 开门 coutendl“打开“num“号门“; ERROR*found* if(closed) cout“门是开着的,无须再开门。“; else if(10cked) cout
10、“门是锁着的,打不开。“; else closed=false: cout“门打开了。“; void dose() 关门 coutendl“关上“num“号门“; if(closed) cout“门是关着的,无须再关门。“; else closed=true: cout“门关上了。“; ERROR*found* void lock()const锁门 coutendl“锁上“num“号门“; if(locked) cout“门是锁着的,无须再锁门。“; else if(!dosed) cout“先关门“; closed=true; locked=true; cout“门锁上了。“; void u
11、nlock() 开锁 toutendl“开“num“号门的锁“; if(!locked) cout“门没有上锁,无须再开锁。“; else locked=false; cout“锁开了。“; ; int main() Door door(503); dooropen(); doorunlock(); dooropen(); dooropen(); doorlock(); return 0; (分数:2.00)_三、简单应用题(总题数:1,分数:2.00)42.请使用 VC6 或使用【答题】菜单打开考生文件夹 pmj2 下的工程 proj2,此工程包含有一个源程序文件proj2cpp,其中定义了
12、 Stack 类和 ArrayStaek 类。 Stack 是一个用于表示数据结构“栈”的类,栈中的元素是字符型数据。Stack 为抽象类,它只定义了栈的用户接口,如下所示: 公有成员函数 功能 push 入栈:在栈顶位置添加一个元素 pop 退栈:取出并返回栈顶元素 ArmySmek 是 Stack 的派生类,它实现了 Stack 定义的接口。ArrayStack 内部使用动态分配的字符数组作为栈元素的存储空间。数据成员maxSize 表示的是栈的最大容量,top 用于记录栈顶的位置。成员函数 push 和 pop 分别实现具体的入栈和退栈操作。 请在程序中的横线处填写适当的代码,然后删除横
13、线,以实现上述功能。此程序的正确输出结果应为: a,b,c c,b,a 注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“*found*”。 pmj2cpp #includeiostream using namespaee std class Stack public: virtual void push(char c)=0; virtual char pop()=0; ; class Arraystack:public Stack char*p; int maxSize; int top; public: Arraystack(int s) top=0; maxSi
14、ze=s;*found*p=_; ArmyStack() *found*_;void push(char c) if(top = maxSize) cellr“Overflow!n“; returm; *found*_; top+; char pop() if(top=0) cerr“Underflow!n“; return 0; top-;*found*_; ; void f(Stack& sRef) char ch=a,b,c; coutch0“,“ch1“,“ch2endl; sRefpush(ch0);sRefpush(ch1);sRefpush(ch2); coutsRefpop()
15、“,“; coutsRefpop()“,“; coutsRerpop()endl;int main() ArrayStack as(10); f(as); return 0; (分数:2.00)_四、综合应用题(总题数:1,分数:2.00)43.使用 VC6 打开考生文件夹 proj3 下的工程 pmj3,其中定义了一个字符串变量类 StringVar。类成员的说明在程序注释中。请在*333*和*666*之间填写StringVar 成员函数和友元函数的实现代码。在 main 函数中给出了一组测试数据,运行时输入: Hello Kitty 此情况下程序的输出应该是: Hello Kitty Bo
16、rg Borg 注意:只需在*333*和*666*之间填入所编写的若干语句,不要改动程序中的其他内容。StringVarh#includeiostream#includecstdlib#includecstddef#includecstringusing namespace std;void writeToFile(const char*path);class StringVarpublic: StringVar(int size);构造函数,size 为字符串长度(字符个数)初始值;字符串内容初始化为空串 StringVar(const char a);构造函数,用参数数组 a 的内容初始化
17、当前对象 StringVar(const StringVar&strobj);复制构造函数 StringVar()deletevalue;析构函数 int length()constreturn strlen(value); 从输入流 ins 输入一个字符串,其中可以包括空格 void input_line(istream&ins); 返回字符串首地址 char*getValue()constreturn value;private: char*value;字符串首地址 int max_length;字符串最大长度(字符个数最大值);将the_string 通过输出流 outs 输出 ostr
18、eam&operator(ostream&outs,const StringVar the_string);maincpp#includeiostream#includestring#include“StringVarh“*333*666*int main() StringVar namel(30),name2(“Borg“); name1input_line(cin); StringVar name3(name2); coutname1endl: coutname2endl: coutname3endl: writeToFile(“); return 0;writeToFilecpp#inc
19、ludeiostream#includefstream#includesstream#includestringusing namespace std;#include“StringVarh“void writeToFile(const char*path) char filename30; strcpy(filename,path); strcat(filename,“outdat“); ofstream fout(filename); istringstream is(string(“Jenny Zheng“); StringVar namel(40),name2(“John“);name
20、linput_line(is); StringVar name3(name2); foutname1name2name3: foutclose();(分数:2.00)_国家二级(C+)机试模拟试卷 171 答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列数据结构中,属于非线性结构的是( )。(分数:2.00)A.循环队列B.带链队列C.二叉树 D.带链栈解析:解析:树是简单的非线性结构,所以二叉树作为树的一种也是一种非线性结构。2.下列数据结构中,能够按照“先进后出”原则存取数据的是( )。(分数:2.00)A.循环队列B.栈 C.队列D.
21、二叉树解析:解析:栈是按先进后出的原则组织数据的。队列是先进先出的原则组织数据。3.对于循环队列,下列叙述中正确的是( )。(分数:2.00)A.队头指针是固定不变的B.队头指针一定大于队尾指针C.队头指针一定小于队尾指针D.队头指针可以大于队尾指针,也可以小于队尾指针 解析:解析:循环队列的队头指针与队尾指针都不是固定的,随着入队与出队操作要进行变化。因为是循环利用的队列结构所以队头指针有时可能大于队尾指针有时也可能小于队尾指针。4.算法的空间复杂度是指( )。(分数:2.00)A.算法在执行过程中所需要的计算机存储空间 B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程
22、中所需要的临时工作单元数解析:解析:算法的空间复杂度是指算法在执行过程中所需要的内存空间。所以选择 A。5.软件设计中划分模块的一个准则是( )。(分数:2.00)A.低内聚低耦合B.高内聚低耦合 C.低内聚高耦合D.高内聚高耦合解析:解析:一般较优秀的软件设计,应尽量傲到高内聚,低耦合,即减弱模块之间的耦合性和提高漠块内的内聚性,有利于提高模块的独立性。6.下列选项中不属于结构化程序设计原则的是( )。(分数:2.00)A.可封装 B.自顶向下C.模块化D.逐步求精解析:解析:结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用 goto 语句,所以选择 A。7.软件详细设计产生的
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 模拟 试卷 171 答案 解析 DOC
