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

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

1、国家二级( C+)机试模拟试卷 108及答案与解析 一、选择题 1 有如下类定义: class Point int xx, yy; public: Point() : xx(0), yy(0) Point(int x, int y =0) : xx(x), yy(y) ; 若执行语句 Point a(2), b 3 , *c 4 ; 则 Point类的构造函数被调用的次数是 ( )。 ( A) 2次 ( B) 3次 ( C) 4次 ( D) 5次 2 下列排序方法中,最坏情况下比 较次数最少的是 ( )。 ( A)冒泡排序 ( B)简单选择排序 ( C)直接插入排序 ( D)堆排序 3 运算符

2、重载时不需要保持的性质是 ( )。 ( A)操作数个数 ( B)操作数类型 ( C)优先级 ( D)结合性 4 有如下程序: #include using namespace std; class MyClass public: MyClass(int i=0) cout,下列叙述错误的是 ( A) 有可能包含关键字 true ( B) 有可能包含自定义标识符 ( C) 有可能包含字符 * ( D) 有可能包含关键字 float 7 有如下程序: #include using namespace std; class Point public: Point(int xx=0,int yy=0)

3、:x(xx),y(yy) void SetXY(int xx,int yy) x=xx; y=yy; protected: int x,y; ; class Circle:Point public: Circle(int r):radius(r) void Set(int r,int x,int y) radius=r; SetXY(x,y); / void Print() const cout T square(T x) return x * x; 其中的 T 是 ( A)函数形参 ( B)函数实参 ( C)模板形参 ( D)模板实参 11 下列描述中,属于面向对象思想主要特征的是 ( A)

4、 继承性 ( B)灵活性 ( C)可重用性 ( D)健壮性 12 有如下类定义: class Base int m; int n; public: Base(int m1, int n1): n(n1),m(m1) ; class Derived: public Base int q; public: Derived(int m1, int n1, int q1): q(q1),Base(m1,n1); ; 在创建一个 Derived 对象时,数据成员 m、 n 和 q 被初始化的顺序是 ( A) m、 n、 q ( B) n、 m、 q ( C) q、 m、 n ( D) q、 n、 m 1

5、3 假定在一个程序中执行到语句: cout using namespace std; int i=1; class Fun public: static int i; int value() return i-1; int value()const return i+1; ; int Fun:i=2; int main() int i=3; Fun fun1; const Fun fun2; return 0; 若程序的输出结果是: 123 则程序中下画线处遗漏的语句是 ( )。 ( A) coutTabs(Tx)returnxTabs(Tx)returnxabs(Tx)returnxstr;

6、 当从键盘输入 “Ilovethisgame“时, str中的字符串是 ( )。 ( A) Ilovethisgame ( B) Ilovethi ( C) Ilove ( D) I 36 在对函数进行原型声明时,下列语法成分中不需要的是 ( A)函数返回类型 ( B)函数参数列表 ( C)函数名 ( D)函数体 37 有如下程序: #include #include using namespace std; class Person public: Person(string n):name(n) Person() cout using namespace std; void fun(cha

7、r c) cout usingnamespacestd; constintSize=4; classMyClass public: MyClass(intx=0): value(X) voidSet intx)value=x; friendvoidjudge(MyClassaobj); private: intvalue; ; ERROR*found* voidMyClass: judge(MyClass时,依次执行 person、 Date、 Student构造函数,然后依次执行 Student、 Date、 person的析构函数,所以输出为 SDP, D选项正确。 38 【正确答案】 D

8、 【试题解析】 本题考查 C+基本的表达式用法,属于基本知识,可以看出只有 D选项正确。 39 【正确答案】 A 【试题解析】 本题考查派生类对基类成员的访问属性,派生类无论何种继承,派生类的成员函数都不能访问基类的私有成员,所以 Circle不可访问的个数有 2个, A选项正确。 40 【正确答案】 A 【试题解析】 程序中有三个重载 fun函数,形参类型分别为: char类型, double类型和 char*类型, main 函数中,调用 fun 函数,实参为 0,编译器需要确定 重载函数中的最佳匹配,由于 0可以隐式转换为 char类型、 double类型、 char*类型,均不能精确匹

9、配,所以该函数调用具有二义性,编译出错;答案为 A。 二、基本操作题 41 【正确答案】 (1)void Judge(MyClass (3)delete ptr; 【试题解析】 (1)主要考查考生对友元函数的掌握 ,由类的定义中关于 Judge函数的声明可知该函数为友元函数 ,因此在定义时不能使用类名和作用域符。 (2)主要考查 考生对指针的掌握 ,ptr是指针 ,(ptr+i)也是指针 ,表示指针 ptr向后移动 i个位置 ,因此在调用成员函数时要使用标识符 -。 (3)主要考查考生对 delete语句的掌握 ,释放指针使用 delete语句 ,其格式为 :delete指针 ;。 三、简单应

10、用题 42 【正确答案】 (1)constPoint&p (2)p1(p1), p2(p2) (3)Pointp1, Pointp2, Pointp3 (4)(length1()+length2()+length3() 2 【试题解析】 (1)主要考 查考生对函数形参的掌握,由函数的注释可知有本坐标点到达某个坐标点类的距离,再根据函数体 returnsqrt(x p x)*(x p x)十 (yp y)*(y p y);可知,该坐标点类名为 p,因此可以知道形参为 Point&p,为了不改变该坐标点的值,前面要加上 const。 (2)主要考查考生对构造函数的掌握,对于常变量型私有成员 con

11、stPointp1, p2,只能用成员初始化列表进行赋值。 (3)主要考查考生对构造函数的掌握,由空格后面的语句: p1(p1), p2(p2), p3(p3)可知,该构造函 数需要进行成员列表初始化,再看类的私有成员 constPointp1,p2, p3,可知 p1, p2, p3是 Point类型,因此形参为 Pointp1, Pointp2,Pointp3。 (4)主要考查考生对成员函数的掌握,根据函数注释,可知本函数要求计算三角形面积,再看题目的提示: 8=(a+b+c) 2。可知空格处要填的是三角形的三条边之和除以 2,而求边长的函数已经给出,这里直接调用即可。 四、综合应用题 4

12、3 【正确答案】 size=other size; v=Flewintsize; for(inti=0; isize; i+) setArray(i, other vi); 【试题解析】 主要考查考生对复制构造函数的掌握, ValArray类的复制构造函数应实现对象的深层复制。由 ValArray类的构造函数: ValArray(constint*p, intn): size (n) v=newintsize; 给 v分配大小为 size的空间 for(inti=0; isize; i+) 遍历 p vi=pi; 把 pi赋值给 vi 可知类中 v是动态数组, size表示数组 长度,因此要先给 v分配空间为 size,再逐个元素复制以达到对象的深层复制。

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

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

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