[计算机类试卷]国家二级(C++)机试模拟试卷171及答案与解析.doc

上传人:amazingpat195 文档编号:502446 上传时间:2018-11-29 格式:DOC 页数:34 大小:94.50KB
下载 相关 举报
[计算机类试卷]国家二级(C++)机试模拟试卷171及答案与解析.doc_第1页
第1页 / 共34页
[计算机类试卷]国家二级(C++)机试模拟试卷171及答案与解析.doc_第2页
第2页 / 共34页
[计算机类试卷]国家二级(C++)机试模拟试卷171及答案与解析.doc_第3页
第3页 / 共34页
[计算机类试卷]国家二级(C++)机试模拟试卷171及答案与解析.doc_第4页
第4页 / 共34页
[计算机类试卷]国家二级(C++)机试模拟试卷171及答案与解析.doc_第5页
第5页 / 共34页
点击查看更多>>
资源描述

1、国家二级( C+)机试模拟试卷 171及答案与解析 一、选择题 1 下列数据结构中,属于非线性结构的是 ( )。 ( A)循环队列 ( B)带链队列 ( C)二叉树 ( D)带链栈 2 下列数据结构中,能够按照 “先进后出 ”原则存取数据的是 ( )。 ( A)循环队列 ( B)栈 ( C)队列 ( D)二叉树 3 对于循环队列,下列叙述中正确的是 ( )。 ( A)队头指针是固定不变的 ( B)队头指针一定大于队尾指针 ( C)队头指针一定小于队尾指针 ( D)队头指针可以大于队尾指针 ,也可以小于队尾指针 4 算法的空间复杂度是指 ( )。 ( A)算法在执行过程中所需要的计算机存储空间

2、( B)算法所处理的数据量 ( C)算法程序中的语句或指令条数 ( D)算法在执行过程中所需要的临时工作单元数 5 软件设计中划分模块的一个准则是 ( )。 ( A)低内聚低耦合 ( B)高内聚低耦合 ( C)低内聚高耦合 ( D)高内聚高耦合 6 下列选项中不属于结构化程序设计原则的是 ( )。 ( A)可封装 ( B)自顶向下 ( C)模块化 ( D)逐步求精 7 软件详细 设计产生的图如下: 该图是 ( )。 ( A) N-S图 ( B) PAD图 ( C)程序流程图 ( D) E-R图 8 数据库管理系统是 ( )。 ( A)操作系统的一部分 ( B)在操作系统支持下的系统软件 ( C

3、)一种编译系统 ( D)一种操作系统 9 在 ER图中,用来表示实体联系的图形是 ( )。 ( A)椭圆形 ( B)矩形 ( C)菱形 ( D)三角形 10 有三个关系 R, S和 T如下:其中关系T由关系 R和 S通过某种操作得到,该操作为 ( )。 ( A)选择 ( B)投影 ( C)交 ( D)并 11 下列符号中可以用做 C+标识符的是 ( )。 ( A) _radius ( B) foo bar ( C) else ( D) 3room 12 下列各组类型声明符中,含义相同的一组是 ( )。 ( A) unsigned long int和 long ( B) signed short

4、 int和 short ( C) unsigned short和 short ( D) short int和 int 13 必须用一对大括号括起来的程序段是 ( )。 ( A) switch语句中的 case标号语 ( B) if语句的分支 ( C)循环语句的循环体 ( D)函数的函数体 14 语句 int*p=&k;定义了指针 p,与这个语句等效的语句序列是 ( )。 ( A) int*p; p=&k; ( B) int*p; p=k; ( C) int*p; *p=&k; ( D) int*p; *p=k; 15 执行下列语句段后,输出字符 “*”的个数是 ( )。 for(int i=5

5、0; i1; i-=2)cout using namespaee std; class CD public: CD()cout using narnespaee std; class NyClass public: MyClass()+count; MyClass()-count; static int getCount()return count; private: static int eourtt; ; int lyClass: count=0; int main() MyClass obj; cout using namespaee std; class lVlyClass publi

6、c: MyClass(int x): val(x) void Print()constcout using namespace std; class Part public: Part(int x=0): val(x)cout using namespace std; class Base public: Base(int x=0)cout using namespace std; class Base public: void output()coutoutput(); ptr-Print(); delete ptr; return 0; 执行这个程序的输出结果是 ( )。 ( A) 1B

7、( B) 1D ( C) 2B ( D) 2D 36 有如下程序: #include using namespace std; class B public: virtual void show()coutshow(); void fun2(B&ref)ref show(); void fun3(B b)b show(); int main() B b, *p=new D: D d; fun1(p); fun2(b); fun3(d); delete p; return 0; 执行这个程序的输出结果是 ( )。 ( A) BBB ( B) BBD ( C) DBB ( D) DBD 37 C+

8、中的模板包括 ( )。 ( A)对象模板和函数模板 ( B)对象模板和类模板 ( C)函数模板和类模板 ( D)变量模板和对象模板 38 下列关于类模板的模板参数的叙述中,错误的是 ( )。 ( A)模板参数可以作为数据成员的类型 ( B)模板参数可以作为成员函数的返回类型 ( C)模板参数可以作为成员函数的参数类型 ( D)模板参数不能作为成员函数的局部变量的类型 39 下列关于 C+预定义流对象的叙述中,正确的是 ( )。 ( A) cin是 C+预定义的标准输入流对象 ( B) cin是 C+预定义的标准输入流类 ( C) cout是 C+预定义的标准输入流对象 ( D) cout是 C

9、+预定义的标准输入流类 40 有如下语句序列: char str10; cinstr; 当从键盘输入 “I love this game”时, str中的字符串是 ( )。 ( A) I love this game ( B) I love thi ( C) I love ( D) I 二、基本操作题 41 请使用 VC6或使用【答题】菜单打开考生文件夹 proj1下的工程 proj1,该工程中包含程序文件 main cpp,其中有类 Door(“门 ”)和主函数 main的定义。程序中位于每个 “ ERROR*found*”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为: 打开

10、503号门 门是锁着的,打不开。 打开 503号门的锁 锁开了。 打开 503号门 门打开了。 打开 503号门 门是开着的,无须再开门。 锁上 503号门 先关门 门锁上了。 注意:只修改每个 “ ERROR*found*”下的那一行,不要改动程序中的其他内容。 #include 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;

11、bool isClosed()constreturn closed; 门关着时返回 true,否则返回 false bool isOpened()constreturn!closed; 门开着时返回 true,否则返回 false bool isLocked()constreturn locked; 门锁着时返回 true,否则返回 false bool isUnlocked()constreturn!locked; 门未锁时返回 true,否则返回 false void open() 开门 cout using namespaee std class Stack public: virtua

12、l 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; maxSize=s; *found* p=_; ArmyStack() *found* _; void push(char c) if(top = maxSize) cellr #include #include #include using namespace std; void writeToFile(const

13、 char*path); class StringVar public: StringVar(int size);构造函数, size为字符串长度 (字符个数 )初始值;字符串内容初始化为空串 StringVar(const char a);构造函数,用参数数组 a的内容初始化当前对象 StringVar(const StringVar&strobj);复制构造函数 StringVar()deletevalue; ;析构函数 int length()constreturn strlen(value); 从输入流 ins输入一个字符串,其中可以包括空格 void input_line(istre

14、am&ins); 返回字符串首地址 char*getValue()constreturn value; private: char*value;字符串首地址 int max_length;字符串最大长度 (字符个数最大值 ) ; 将 the_string通过输出流 outs输出 ostream&operator #include #include“StringVar h“ *333* *666* int main() StringVar namel(30), name2(“Borg“); name1 input_line(cin); StringVar name3(name2); cout #

15、include #include #include using namespace std; #include“StringVar h“ void writeToFile(const char*path) char filename30; strcpy(filename, path); strcat(filename, “out dat“); ofstream fout(filename); istringstream is(string(“Jenny Zheng“); StringVar namel(40), name2(“John“); namel input_line(is); Stri

16、ngVar name3(name2); foutoutput后,会执行基类的 output函数,输出 1,由于 Print是虚函 数,所以 ptr-Print()会执行派生类的 Print,即输出 D,所以本题答案为 B。 36 【正确答案】 C 【试题解析】 在某基类中声明为 virtual并在一个或多个派生类中被重新定义的成员函数,本题中定义类 B的对象 b、对象指针木 p=new D以及类 D的对象 d;执行 fun1会调用派生类的 show函数,因为 show函数为虚函数,而调用 fun2、fun3仍然为基类的 show函数,所以本题答案为 C。 37 【正确答案】 C 【试题解析】 本题考查函数模板和类模板,所以答案为 C。 38 【正确答案】 D 【试题解析】 本题考查类模板的概念和定义模板参数可以作为成员函数的局部变量的类型。 39 【正确答案】 A 【试题解析】 cin是 C+预定义的标准输入流对象, tout是 C+预定义的标准输出流对象。 40 【正确答案】 D 【试题解析】 cin是 C+预定义的标准输入流对象, cin用来接收字符串时,遇“空格 ”、 “TAB”、 “回车 ”时都会结束。所以本题答案为 D。 二、基本操作题 41 【正确答案】 (1)this-num=num; (2)if(!closed) (3)void lock()

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1