[计算机类试卷]国家二级(C++)机试模拟试卷121及答案与解析.doc
《[计算机类试卷]国家二级(C++)机试模拟试卷121及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C++)机试模拟试卷121及答案与解析.doc(32页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C+)机试模拟试卷 121及答案与解析 一、选择题 1 下列关于 return 语句的叙述中,正确的是 ( A)任何函数的函数体中至少有一个 return 语句 ( B)任何函数的函数体中最后一条语句必须是 return 语句 ( C)如果函数的返回类型为 void,则其函数体中可以没有 return 语句 ( D)如果函数的返回类型为 int,则其函数体中可以没有 return 语句 2 下列关于运算符重载的叙述中正确的是 ( A)跟普通函数一样,可以为重载的运算符函数的参数设置默认值 ( B)通过重载,可以改变一个运算符原有的优先级和操作数个数 ( C)只能重载 C+ 中已经有
2、的运算符,不能定义新运算符 ( D) C+ 中已有的运算符都可以重载 3 下列关于内联函数的叙述中,正确的是 ( A)内联函数就是在一个函数体内定义的函数 ( B)内联函数必须通过关键字 inline 来定义 ( C)在类体中定义的函数,都是内联函数 ( D)内联函数不需要 return 语句 4 下列叙述中正确的是 ( )。 ( A)所谓算法就是计算方法 ( B)程序可以作为算法的一种描述方法 ( C)算法设计只需考虑得到计算结果 ( D)算法设计可以忽略算法的运算时间 5 下列各序列中不是堆的是 ( )。 ( A) (9l, 85, 53, 36, 47, 30, 24, 12) ( B)
3、 (9l, 85, 53, 47, 36, 30, 24, 12) ( C) (47, 9l, 53, 85, 30, 12, 24, 36) ( D) (91, 85, 53, 47, 30, 12, 24, 36) 6 深度为 5的完全二叉树的结点数不可能是 ( )。 ( A) 15 ( B) 16 ( C) 17 ( D) 18 7 设二叉树如下: 则前序序列 为 ( )。 ( A) ABDEGCFH ( B) DBGEAFHC ( C) DGEBHFCA ( D) ABCDEFGH 8 下面描述不属于软件特点的是 ( )。 ( A)软件是一种逻辑实体,具有抽象性 ( B)软件在使用中不
4、存在磨损、老化问题 ( C)软件复杂性高 ( D)软件使用不涉及知识产权 9 下面对类一对象主要特征描述正确的是 ( )。 ( A)对象唯一性 ( B)对象无关性 ( C)类的单一性 ( D)类的依赖性 10 在数据库中,数据模型包括数据结构、数据操作和 ( )。 ( A)数据约束 ( B)数据类型 ( C)关系运算 ( D)查询 11 一个运动队有多个队员,一个队员仅属于一个运动队,一个队一般都有一个教练,则实体运动队和队员的联系是 ( )。 ( A)一对多 ( B)一对一 ( C)多对一 ( D)多对多 12 设循环队列为 Q(1: m),其初始状态为 front=rear=m。经过一系列
5、入队与退队运算后, front=30, rear=10。现要在该循环队列中作顺序查找,最坏情况下需要比较的次数为 ( )。 ( A) 19 ( B) 20 ( C) m一 19 ( D) m一 20 13 有两个关系 R和 T如下: 则由关系 R得到关系T的操作是 ( )。 ( A)投影 ( B)交 ( C)选择 ( D)并 14 下列字符串中不能作为 C+标识符使用的是 ( )。 ( A) DOUBLE ( B) ab-c ( C) _5_ ( D) xyz 15 下列语句中错误的是 ( )。 ( A) const int*p=0; ( B) const int y=0; ( C) int
6、x=0; ( D) const int p=new int(100); 16 有如下程序: #include using namespace std; int main() int sum=O; for(im i=0; i0; i-=3)n+; n的值是 ( )。 ( A) 23 ( B) 24 ( C) 25 ( D) 71 23 下列关于函数的叙述中,正确的是 ( )。 ( A) C+不允许函数嵌套定义 ( B) C+中所有函数都有返回值 ( C)函数的形参列表一定不能为空 ( D)调用函数时一定会执行完函数体 的最后一条语句 24 下列关于运算符重载的叙述中,正确的是 ( )。 ( A)
7、不能改变重载运算符的优先级 ( B)运算符只能重载为类的成员函数 ( C) C+中已有的任何运算符都可以重载 ( D)可以为重载运算符函数的参数设置默认值 25 下列运算符中,可以重载为类的友元函数的运算符是 ( )。 ( A) = ( B) () ( D) 1)retum(2*n1)*xP(x, n一 1)一 (n一 1)*P(x, n一 2) n; 若执行函数调用表达式 P(1 3, 2),函数 P被调用的次数是 ( )。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 29 有如下类定义: class MyClass public: MyClass(double d=0 0):
8、val(d) _ 类型转换运算符 double的定义 private: double val; ; 若要使语句序列 MyClass x(2 1); cout using namespace std; elass Shape图形类 public: 图形绘制函数 (用显示字母模拟 ) virtual void draw()eonsteoutdraw(); t draw(); plot(t); delete ps; retum 0; 运行这个程序的输出是 ( )。 ( A) SCC ( B) SCS ( C) CSS ( D) CCC 37 有如下类及函数的定义: class Wow int k;
9、public: Wow(int n=0): k(n) int incre()retum+k; int deere(); void show()eonst; ; int Wow: deere()retum-k; inline void display(Wow w)w show(); void Wow: show()eonsteout using namespaee std; class CC int k; public: CC(int n): k(n) int get()constreturn k; ; int main() CC c3=CC(1), cc(2); retum 0; 此程序编译时
10、未能通过,原因是 ( )。 ( A)数组只能定义为基本数据类型 ( B)类 CC缺少复制构造函数 ( C)对象数组只能作为类的数据成员 ( D)类 CC缺少默认的构造函数 40 有如下类声明和函数声明 class Base int m; public: int n; protected: int P; ; class Derived: public Base public: int k; ; void f(Derived d); 则在函数 f中通过 d可访问的数据成员包括 ( )。 ( A) n ( B) n和 k ( C) n、 k和 P ( D) n、 k、 P和 m 41 下列关于模板的
11、表述中,错误的是 ( )。 ( A)模板形参表的两边使用尖括号括起来 ( B)模板以关键字 template开始 ( C)模板声明中的关键字 class都可以用关键字 typename替代 ( D)模板的形参表中可以有多个参数 42 要利用 C+流实现输入输出的各种格式控制,必须在程序中包含的头文件是( )。 ( A) fstream ( B) istream ( C) cstdlib ( D) iomanip 43 在下列标识符中,不属于文件流类的标识符是 ( )。 ( A) ifstream ( B) ofstream ( C) fstream ( D) operator 二、基本操作题
12、44 请使用 VC6或使用 答题 菜单打开考生文件夹 projl下的工程 projl,其中有枚举DOGCOLOR、狗类 Dog和主函数 main的定义。程序中位于每个 “ERROR*found*”下的语句行有错误,请加以改正。改正后程序的输出结果应该是: There is a white dog named Hoho There is a black dog named Haha There is a motley dog named Hihi 注意:只修改每个 ERROR*found*下的那一行,不要改动程序中的其他内容。 #include using namespace std; 狗的颜色
13、:黑、白、黄、褐、花、其他 enum DOGCOLORBLACK, WHITE, YELLOW, BROWN, PIEBALD,OTHER; class Dog狗类 DOGCOLOR color; char naIne20; static int count; public: Dog(char nanle, DOGCOLOR color) strcpy(this-nanle, nanle); ERROR*found* strcpy(this一 color, color); DOGCOLOR getColor()constretum color; ERROR *found* const char
14、 * getName()constreturn * name; const char * getColorString()const switch(color) case BLACK: return“black”: case WHITE: return”white“: case YELLOW: return“yellow”; case BROWN: retum“brown”; case PIEBALD: return”piebald“; return“motley“; void show()const cout using namespace std; 矩阵基础类,一个抽象类 class Ma
15、trixBase int rows, cols; public: MatrixBase(int rows, int cols): rows(rows), cols(cols) int getRows()constreturn rows; 矩阵行数 int getCols()constreturn cols; 矩阵列数 virtual double getElement(int r, int C)const=0;取第 i个元素的值 void show()const分行显示矩阵中所有元素 for(int i=0; ishow(); delete m; coutshow(); delete m; r
16、eturn 0; 四、综合应用题 46 请使用 VC6或使用 答题 菜单打开考生文件夹 proj3下的工程 proj3,其中声明的 CDeepCopy是一个用于表示矩阵的类。请编写这个类的赋值运算符成员函数operator=,以实现深层复制。 要求: 补充编制的内容写在 “ *333*”与 “*666*”之间。不得修改程序的其他部分。 注意:程序最后将结果输出到文 件 out dat中。输出函数 writeToFfle已经编译为 obj文件,并且在本程序中调用。 CDeepCopy h #include #include using namespace std; class CDeepCopy
17、 public: int n;动态数组的元素个数 int *p;动态数组首地址 CDeepCopy(int); CDeepCopy(); CDeepCopy&operator=(const CDeepCopy&r);赋值运算符函数 ; void writeToFile(char: *); main cpp #include”CDeepCopy h” CDeepCopy: CDeepCopy()deletep; CDeepCopy: CDeepCopy(int k)n=k; p=new intn; 构造函数实现 CDeepCopy&CDeepCopy: operator=(const CDeep
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 模拟 121 答案 解析 DOC
