[计算机类试卷]国家二级(C++)机试模拟试卷161及答案与解析.doc
《[计算机类试卷]国家二级(C++)机试模拟试卷161及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C++)机试模拟试卷161及答案与解析.doc(35页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C+)机试模拟试卷 161及答案与解析 一、选择题 1 下列数据结构中,不能采用顺序存储结构的是 ( )。 ( A)非完全二叉树 ( B)堆 ( C)队列 ( D)栈 2 下列叙述中错误的是 ( )。 ( A)二叉链表是二叉树的存储结构 ( B)循环链表是循环队列的存储结构 ( C)栈是线性结构 ( D)循环队列是队列的存储结构 3 设一棵树的度为 4,其中度为 4, 3, 2, 1的结点个数分别为 2, 3, 3, 0。则该棵树中的叶子结点数为 ( )。 ( A) 16 ( B) 15 ( C) 17 ( D)不可能有这样的树 4 循环队列的存储空间为 Q(1: 100),初始状
2、态为 front=rear=100。经过一系列正常的入队与退队操作后, front=rear=99,则循环队列中的元素个数为 ( )。 ( A) 1 ( B) 2 ( C) 99 ( D) 0或 100 5 某系统结构图如下图所示 该系统结构图的宽度是 ( )。 ( A) 5 ( B) 4 ( C) 2 ( D) 1 6 软件测试用例包括 ( )。 ( A)被测程序和测试规程 ( B)测试计划和测试数据 ( C)输入数据和预期输出 结果 ( D)输入数据和输出数据 7 软件生存周期中,解决软件 “怎么做 ”的阶段是 ( )。 ( A)软件设计 ( B)需求分析 ( C)软件测试 ( D)可行性
3、研究 8 用树型结构表示实体之间联系的模型是 ( )。 ( A)关系模型 ( B)层次模型 ( C)网状模型 ( D)运算模型 9 关系数据模型的三个组成部分中不包括 ( )。 ( A)关系的完整性约束 ( B)关系的数据操纵 ( C)关系的数据结构 ( D)关系的并发控制 10 现有表示患者和医疗的关系如下: P(P#, Pn, Pg, By),其中 P#为患者编号,Pn为患者姓名, Pg为性别, By为出生日期, Tr(P#, D#, Date, Rt),其中 D#为医生编号, Date为就诊日期, Rt为诊断结果。检索在 1号医生处就诊的病人姓名的表达式是 ( )。 ( A) Pn(P#
4、(D#=1(Tr) P) ( B) P#(D#=1(Tr) ( C) Pn(P) ( D) Pn(Tr P) 11 下列选项中,不属于 C+关键字的是 ( )。 ( A) namespace ( B) public ( C) struct ( D) abstract 12 下列数组定义中错误的是 ( )。 ( A) char s5=“ABCDE“; ( B) char s6=“ABCDE“; ( C) char s7=“ABCDE“; ( D) char s=“ABCDE“; 13 下列语句中,未起到定义作用的是 ( )。 ( A) char ch; ( B) void fun(); ( C)
5、 int y=2015; ( D) typedef double price; 14 下列程序段的作用是计算正整数 n的各位数字的平方和,则横线处 缺失的内容是 ( )。 in tn=1234, sum=0; do sum+=_; n=n 10; while(n!=0); ( A) (n 10)*(n 10) ( B) (n 10)*(n 10) ( C) (n 10)*(n 10) ( D) (n 10) 15 有如下函数原型 long f(double d); 则在保持语义不变的前提下,可以省略的部分是 ( )。 ( A) long ( B) f ( C) double ( D) d 16
6、 下列关于函数默认参数的叙述中, 正确的是 ( )。 ( A)在调用函数时,默认参数必须省略 ( B)默认参数应从右至左逐个定义 ( C)若有多个默认参数,调用时可以省略其中任何一个或多个 ( D)默认参数必须在函数定义中设置 17 下列关于函数的叙述中,正确的是 ( )。 ( A)函数体中只能出现一条 return语句 ( B)重载函数可以有相同的返回值类型 ( C)函数的默认参数可以随意定义 ( D)函数定义和调用没有先后次序要求 18 下列运算符中,可以重载为非成员函数的是 ( )。 ( A) = ( B) ( C) ( D) () 19 下列关于内联函数的叙述中,错误的是 ( )。 (
7、 A)编译系统有可能将一个声明为内联的函数处理成非内联函数 ( B)只有用 inline声明的函数才是内联函数 ( C)在类体中直接给出函数体的函数是内联函数 ( D)调用内联函数的格式与调用一般函数相同 20 有如下程序; #include iostream using namespace std; void hey(_, int&b) int c; c=a; a=b; b=c; int main() int m=14, n=20; hey(m, n); cout m n; return0; 运行后的输出结果是 “1414”,则横线处的语句应为 ( )。 ( A) int*a ( B) in
8、t&a ( C) int a ( D) a 21 有如下程序: #include iostream using namespace std; void f(int i)cout i ; void f(double d)tout d*2 ; int main() f(3 0): f(3); return0; 运行后的输出结果是 ( )。 ( A) 6 3 ( B) 6 0 3 ( C) 3 6 ( D) 3 6 0 22 有如下程序: #include iostrealn using namespace std; class Goods货物类 double unit_price;单价 int q
9、uantity;数量 public: Goods(double u=0 0, int q=0): unit_price(u), quantity(q) double getPrice()constreturn unit_price; 返回单价 int getQuantity()constreturn quantity; 返回数量 增加数量 Goods operator+(int q)constreturn Goods(unit_price, quantity+q); ; 增加数量 Goods operator+(_)return g+q; 输出货物信息 0stream&operator (os
10、tream& oS, Goods g) cout “单价: “ g getPrice() , “数量: “ g getQuantity()endl; return os; ; int main() Goods g(35 6, 100); cout g g+33 25+g; return0; 若运行后的输出结果是 ( )。 单价: 35 6,数量: 100 单价: 35 6,数量: 133 单价: 35 6,数量: 125 则程序中下划线处缺失部分应该是 ( )。 ( A) Goods q, Goods g ( B) Goods g, Goods q ( C) int q, Goods g (
11、D) Goods g, int q 23 下列关于常成员的叙述中,正确的是 ( )。 ( A)常成员函数只能由常对象调用 ( B)常成员函数不能更新对象的状态 ( C)常数据成员可以被类对象共享 ( D)常数据成员可以在构造函数体中初始化 24 有如下类定义: class MyClass int k; public: MyClass(int n): k(n) ; 则下列数组定义中,错误的是 ( )。 ( A) MyClass m44=MyClass(1), MyClass(2), MyClass(3), MyClass(4); ( B) MyClass m4=MyClass(1), MyCla
12、ss(2), MyClass(3); ( C) MyClass m44=1, 2, 3; ( D) MyCtass m4=1, 2, 3; 25 若 count为类 Toy中的静态数据成员, obj为类 Toy的一个对象,则在该类的成员函数中访问 vount时,错误的是 ( )。 ( A) count ( B) obj count ( C) Toy count ( D) Toy: count 26 下列关于继承的叙述中,错误的是 ( )。 ( A)在公有继承中,基类中的公自成员对派生类对象可见 ( B)在私有继承中,基类中的公有成员对派生类对象可见 ( C)在公有继承中,基类中的私有成员对派生
13、类对象不可见 ( D)在私有继承中,基类中的所有成员对派生类对象都不可见 27 下列关于抽象类的叙述中,错误的是 ( )。 ( A)不能定义抽象类对象 ( B)抽象类中一定包含纯虚函数 ( C)抽象类的派生类一定不是抽象类 ( D)抽 象类的构造函可以是 protected函数 28 派生类构造函数的初始化列表中,可以包含 ( )。 ( A)对基类构造函数的调用 ( B)对基类中数据成员的初始化 ( C)对基类中成员对象的初始化 ( D)对基类中静态数据成员的初始化 29 有如下程序段: #include iostream using namespace std; class A public
14、: int data; static int data2; void show() cout data endl: 1 cout data2 endl: 2 static void print() cout data endl: 3 tout data2 endl: 4 ; int A: data2=8: 编译时出错的语句的编号是 ( )。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 30 有如下程序: #include iostream using namespace std; class pool public: pool(): sum(0) void add(int cur)
15、 sum+=cur; int sum; ; class derived: pool public: void add(int*array, int cnt) for(int i=0; i cnt; +i) pool: add(arrayi); ; 下列叙述中,正确的是 ( )。 ( A)派生类 derived实现了对基类 pool的成员函数 add的重载 ( B)派生类 derived是通过公有继承方式进行继承 ( C)编译错误, derived类无法访问 pool中的 add函数 ( D)对函数 add的调用是多态的 31 有如下程序段: #include iostream using na
16、mespace std; class base public: base(int cnt) resource=new intent; base() deleteresource; virtual void show() cout “base“ endl; int*resource: ; class derived: public base public: derived(int cnt): base(cnt) resource=new floatcnt; derived() deleteresource; void show() cout “derived“ endl; float*resou
17、rce; ; 上述程序使得 derived对象中的动态内存空间有可能不被释放,有内存泄漏风险,原因是 ( )。 ( A) base类是抽象类 ( B) derived类的析构函数没有释放基类的动态内存 ( C) base类的析构函数不 是虚函数 ( D) derived类的 reSotlrce与公有继承得到的 resource同名 32 有如下程序: #include iostream class A public: A(int n=2): m_i(n) A()std: cout m_i; protected: int m_i; ; class B: public A public: B(in
18、t n): m_a2(n), m_al(m_i+1) public: B() std: cout m_i; -m_i; private: A m_a1; A m_a2: ; int main() B b(5); return0; 运行后的输出结果是 ( )。 ( A) 2351 ( B) 2531 ( C) 5354 ( D) 5534 33 有如下程序: #inelude iostream class A public: A(int n=0): m_n(n) std: cout d; A(const A& a): m_n(a m_n) std: cout c; private: int m_
19、n; ; int main() A a(2), b; const A c(a), &d=c, e=b; b=d; return0; 运行后的输出结果是 ( )。 ( A) ddcd ( B) ddcc ( C) ddccd ( D) dddcc 34 有如下程序: #include iostream using namespace std; class R public: R(int r1, int r2): r1(r1), r2(r2) void print(); void print()const; private: int r1, r2; ; void R: print() cout r
20、1 “: “ r2 endl; void R: print()const cout r1 “ “ r2 endl; int main() R a(5, 4); a print(); const R b(20, 52); b print(); return0; 运行后的输出结果是 ( )。 ( A) 5: 4 20, 52 ( B) 5: 4 20: 52 ( C) 5, 4 20, 52 ( D) 5, 4 20: 52 35 有如下程序: #include iostream using namespace std; class Base public: Base() Fuction(); v
21、irtual void Fuction() cout “Base: Fuction“ endl: ; class Derived: public Base public: Derived() Fuction(); virtual void Fuction() cout “Derived: Fuction“ endl: ; int main() Derived a; return0; 运行后的输出结果是 ( )。 ( A) Base: Function Derived: Function ( B) Base: Function Base: Function ( C) Derived: Funct
22、ion ( D) Base: Function 36 有如下程序: #include iostream using namespace std; class Vehicle public: virtual int wheels()constreturn0; ; class Car: public Vehicle public: int wheels()constreturn4; ; void f1(Vehicle v)cout v wheels() ; void f2(Vehicle &V)cout v wheels() ; void f3(Vehicle*pv)cout pv- wheels
23、() ; int main() Car c; f1(c); f2(c); f3; (&c); return0; 运行后的输出结果是 ( )。 ( A) 4 4 4 ( B) 0 4 4 ( C) 4 0 4 ( D) 4 4 0 37 下列关于模板参数的叙述中,错误的是 ( )。 ( A)模板参数可以有多个 ( B)模板参数是参数化的类型 ( C)关键字 class可以修饰模板参数 ( D)模板参数可以是一个算术表达式 38 已知函数模板定义如下: template class T T min(T x, T y) return x y x: y; 不能由该函数模板得到的函数实例是 ( )。 (
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 模拟 161 答案 解析 DOC
