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

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

1、国家二级( C+)机试模拟试卷 103及答案与解析 一、选择题 1 有如下程序: #include using namespace std; class Base private: void fun1() const cout using namespace std; class GA public: virtual int f() return 1; ; class GB: public GA public: virtual int f() return 2; ; void show(GA g) cout using namespace std; class AA public: AA()

2、cout using namespace std; class Point public: Point(int xx=0,int yy=0):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 using namespace std; class AA

3、char c; public: AA(char ch):c(ch) cout T1 sum(T2, T3); double d1,d2; 则下列调用中,错误的是 ( A) sum(d1,d2); ( B) sum(d1,d2); ( C) sum(d1,d2); ( D) sum(d1,d2); 40 有如下类定义: class Number private: static int num; ; 要初始化 Number类的静态成员 num,应当在后面加上语句: ( A) intnum=0; ( B) staticintnum=0; ( C) intNumber:num=0; ( D) stat

4、icintNumber:num=0; 二、基本操作题 41 请使用 VC6或使用【答题】菜单打开考生文件夹 pmj1下的工程 pmj1,此工程中包含一个源程序文件 main cpp,其中有类 Book(“书 ”)和主函数 main的定义。程序中位于每个 “ ERROR*found*”下的语句行有错误,请加以改正。改正后程序的输出结果应该是: 书名: C+语句程序设计总页数: 299 已把 “C+语言程序设计 ”翻到第 50页 已把 “c+语言程序设计 ”翻到第 51页 已把 “C+语言程序设计 ”翻到第 52页 已把 “c+语言程序设计 ”翻到第 51页 已把书合上。 当前页: 0 注意:只修

5、改每个 “ ERROR*found*”下的那一行,不要改动程序中的其他内容。 #include usingnamespacestd; clasSBook char*title; intnum_pages;页数 intcur_page;当前打开 页面的页码, 0表示书未打开 public: ERROR*found* Book(constchar*theTitle, intpages)num pages(pages) title=newcharstrlen(theTitle)+1; strcpy(title, theTitle); coutnum_pages) cout usingnamespac

6、estd; clasSSort public: Sort(int*a0, intnO): a(a0), n (nO) virtualvoidmySort()=0; staticswap(int答案为 C。 30 【正确答案】 A 【试题解析】 getline(istream&is,string&str)第一个参数 is是输入流对象,这个对象可以是键盘输入流对象,也可以是文件输入流等其他输入流的对象,选项 A错误,答案为 A。 31 【正确答案】 B 【试题解析】 函数定义时,形参列表若不为空,需要给出函数的形参;调用函数时,参数列表若不为空,必须给出函数的实参;选项 A、 C、 D正确 ,选项

7、 B 错误;答案为 B。 32 【正确答案】 C 【试题解析】 派生类构造函数的工作过程: 1、派生类的构造函数在执行函数体之前,首先调用基类的构造函数初始化基类; 2、基类构造完成之后,在执行函数体之前根据声明次序初始化自己的成员; 3、执行自身函数体。由上可知,构造函数初始化列表并不指定初始化的执行次序。所以程序中在创建 BB对象时,首先调用 AA的构造函数,输出 “C“,然后初始化类 BB中的成员对象 m, m是 AA类对象,调用 AA的构造函数,输出 “M“,最后执行函数体,输出 “B“;输出顺序为:“CMB“,答 案为 C。 33 【正确答案】 D 【试题解析】 const是一个 C

8、+关键字,用于限定不允许改变的变量。选项 B 是指向常量的指针,定义时可以不初始化;选项 D是指针常量,定义时必须初始化。故答案为 D。 34 【正确答案】 B 【试题解析】 本题考查公用继承对基类成员的访问属性。公用继承中,基类的公用成员和保护成员在派生类中保持原有访问属性,其私有成员仍为基类私有,本题中若要给派生类继承下来基类的私有成员赋值,那么只能调用基类的成员函数来对它赋值,成员变量默认的访问权限为私有,即 a为私有变量。 所以本题答案为 B。 35 【正确答案】 D 【试题解析】 需求分析阶段的工作可以概括为:需求获取、需求分析、编写需求规格说明书、需求评审四个方面。所以选择 D)。

9、 36 【正确答案】 A 【试题解析】 本题考查函数的调用,函数原型中第一个参数为引用,第二个参数为指针,所以只有 A选项正确。 37 【正确答案】 A 【试题解析】 本题考查文件流的一些操作,根据文件打开的相关知识, A选项中不能正确打开该文件。 38 【正确答案】 C 【试题解析】 本题考查重载运算符,题目中要 求将运算符 -重载为 Incr的非成员函数,只有 C选项能够将运算符重载为非成员函数。 39 【正确答案】 D 【试题解析】 本题考查函数模板的定义和使用,编译器无法推演出 T1的类型,D选项里没有写明 T1的类型,而 sum函数需要 T1的类型去特化出一个函数能够处理 d1和 d

10、2这两个参数的函数。其他的都可以。 40 【正确答案】 C 【试题解析】 静态数据成员必须在类定义体的外部定义,和任意的类成员一样,在类定义体外部引用类的静态数据成员时,需要指定成员的所属类,并且 static关键字只能用于类定 义体内部的声明中,在外部定义时不能标示 static。因此,答案为 C。 二、基本操作题 41 【正确答案】 (1)Book(constchar*theTitle, intpages): num_pages(pages) (2)voidopenAtPage(intpage_no)把书翻到指定页 (3)cur_page=0; 【试题解析】 (1)主要考查考生对构造函数的

11、掌握,构造函数的成员列表初始化法要注意它的格式,即成员列表前要有标识符 “: ”,因此语句改为:Book(constchar*theTitle, intpages): num_pages(pages)。 (2)主要考查考生对 const函数的掌握,在函数体中可以看到有语句curpage=page_no,即 cur_page的值发生改变,因此该函数不是 const函数。 (3)主要考查考生对成员函数的掌握,题目要求输出的最后一条是 “当前页: 0”,可知主函数中调用 close函数后当前页为 0,因此应该是 cur_page=0;。 三、简单应用题 42 【正确答案】 (1)x = y (2)Sort(a0, n0) (3)swap(aj, aj-1)

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

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

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