[计算机类试卷]国家二级(C++)机试模拟试卷175及答案与解析.doc
《[计算机类试卷]国家二级(C++)机试模拟试卷175及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C++)机试模拟试卷175及答案与解析.doc(31页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C+)机试模拟试卷 175及答案与解析 一、选择题 1 设数据结构 B=(D, R),其中 D=a, b, c, d, e, f R=(f, A), (d, B), (e, D), (c, e), (a, C) 该数据结构为 ( )。 ( A)线性结构 ( B)循环队列 ( C)循环链表 ( D)非线性结构 2 下列叙述中错误的是 ( )。 ( A)循环队列空的条件是队头指针与队尾指针相同 ( B)若二叉树没有叶子结点,则为空二叉树 ( C)带链栈的栈底指针是随栈的操作而动态变化 的 ( D)若带链队列中只有一个元素,则队头指针与队尾指针必定相同 3 某带链栈的初始状态为 top=
2、bottom=NULL,经过一系列正常的入栈与退栈操作后, top=bottom=20。该栈中的元素个数为 ( )。 ( A) 1 ( B) 0 ( C) 20 ( D)不确定 4 设一棵度为 3的树,其中度为 2, 1, 0的结点数分别为 3, 1, 6。该树中度为 3的结点数为 ( )。 ( A) 1 ( B) 2 ( C) 3 ( D)不可能有这样的树 5 下面描述错误的是 ( )。 ( A)模块的独立性与模 块的信息隐蔽和局部化无关 ( B)内聚性和耦合性是模块独立程度的定性度量标准 ( C)一个模块的内聚性越高则该模块的独立性越强 ( D)一个模块的耦合性越高则该模块的独立性越弱 6
3、 下面属于黑盒测试方法的是 ( )。 ( A)错误推测法 ( B)基本路径测试 ( C)判定覆盖 ( D)条件覆盖 7 下面模型中为概念模型的是 ( )。 ( A)实体一联系模型 ( B)层次模型 ( C)关系模型 ( D)网状模型 8 学生关系模式中有 D(D#, Dn, D1, DAddr)(其属性分别为系编号、系 名称、系主任和系地址 )和 S(S#, Sn, SG, Date, Maj, D#)(其属性分别为学号、姓名、性别、入学日期、专业和系编号 )两个关系,关系 S的主键 (码 )是 S#,关系 S的外键(码 )是 ( )。 ( A) D# ( B) Maj ( C) Dl ( D
4、) Dn 9 关系的实体完整性要求关系中不能为空的属性是 ( )。 ( A)主键属性 ( B)外键属性 ( C)全部属性 ( D)候选键属性 10 学生选修课程的关系模式为 SC(S#, Sn, Sd, Sa, C#, G)(其属性分别为学号、姓名、所在系、年龄、课 程号和成绩 ); C(C#, Cn, P#)(其属性分别为课程号、课程名、先选课 )。关系模式中包含对主属性部分依赖的是 ( )。 ( A) S#Sd ( B) (S#, C#)G ( C) C#Cn ( D) C#P# 11 已知类 X中一个成员函数的原型声明为 “void Copy(X&r); ”,则下列选项中。解释正确的是
5、( )。 ( A) r为指向类 X的指针 ( B) r的地址值赋值给了变量 Copy ( C)变量 X与 r按位与的结果作为函数 Copy的参数 ( D) r是类 X的对象引用,用来作为函数 Copy的形参 12 下列字符串中不能作为 C+标识符使用的是 ( )。 ( A) IN25 ( B) test ( C) _1481 ( D) 123 13 下列语句中能正确定义变量的是 ( )。 ( A) const int*p NULL; ( B) const int y=99; ( C) const int x=0; ( D) const int z: 100; 14 有如下程序: #includ
6、e using namespace std; int main() int sum=0; for(int i=1; i using namespace std; int i=1; int j=4; int main() int i=5; j+=i; cout using namespace std; class Date public: Date(int y=2014, int m=9, int d=9): year(y), month(m), day(d) _(ostream&stream, Date&ddd)运算符 using namespace std; void fun(int&x,
7、int y) int temp; temp=x: x=y: y=temp: int main() int x=4, y=5; fun(x, y); cout using namespace std; int fl(int x, int y=5)return x+y; int n(double x)return x; int main() int a=3; double b=2 5; cout using namespace std; double add(double a, double b, double c=1) return a+b+c: int main() int result=ad
8、d(2, 3); cout using namespace std; class clock public: clock(): seconds(0); clock& operator+() this-seconds+; return*this; void display() coutseconds using namespace std; class Studentlnfo protected: ERROR*found* char Name; int Age; int ID; int CourseNum; float Record; public: Studentlnfo(char*nanle
9、, int Age, int ID, int courseNum, float record); FRROR*found* void Studentlnfo() float AverageRecord() return Record CourseNum; void show()const coutID=ID; CourseNum=courseNum; Record=record; int main() Studentlnfo st(“Smith“, 21, 99999, 12, 970); st show(); return 0; 三、简单应用题 42 请使用 VC6或使用【答题】菜单打开考生
10、文件夹 proj2下的工程 proj2。此工程中包含一个源程序文件 main cpp,其中有 “房间 ”类 Room及其派生出的 “办公室 ”类 Office的定义,还有主函数 main的定义。请在程序中 “ *found*”下的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为: 办公室房间号: 308 办公室长度: 5 6 办公室宽度: 4 8 办公室面积: 26 88 办公室所属部门:会计科 注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动 “ *found*”。 #include using namespace std; class
11、Room “房间 ”类 int room_no;房间号 double length;房间长度 (m) double width;房间宽度 (m) public: Room(int the_room_no, double the_length, double the_width):room_no(the_loom_no), length(the_length), width(the_width) int theRoomNo()constreturn room_no; 返回房间号 double theLength()constreturn length; 返回房间长度 double theWidt
12、h()constreturn width; 返回房间宽度 *found* double theArea()const_返回房间面积 (矩形面积 ) ; class Office: public Room “办公室 ”类 char*depart;所属部门 public: Office(int the_room_no, double the_length, double the_width, const char*the_depart) *found* : _ depart=new charstrlen(the_depart)+1; *found* strcpy(_); Office()delet
13、edepart; const char * theDepartment()constreturn depart; 返回所属部门 ; int main() *found* Office_; cout using wpace std; class DataListf数据表类 int len; doubled; public: DataList(int len, double data=NULL); DataList(DataList&data); int length()constreturn len; double getElement(int i)constreturn di; DataLis
14、t operator+(const DataList&list)const;两个数据表求和 void show()const;显示数据表 ; void writeToFile(char*, const DataList&); main clyp #include“DataList h“ Datalist: DatRl ist(int len, double data): len(1en) d=new doublelen; for(int i=0; i等必须重载为成员函数,不能作为普通函数重载,选项 B正确;重载不能改变运算符运算对象 (操作数 )的个数,选项 C正确;加法运算符有两个操作数,作
15、为成员函数重载时,第一操作数是调用对象本身,所以形参表只有一个操作数,选项 D正确;本题答案为 A。 18 【正确答案】 A 【试题解析】 运算符一至多有 2个操作数,如果作为成员函数重载,那么形参表至多只有一个操作数,选项 A中形参表有 2个操作数,所以选项 A一定不属于类can的成员函 数,选项 B、 C、 D都可能是 cafl的成员函数,本题答案为 A。 19 【正确答案】 B 【试题解析】 C+中,两个函数是重载函数,必须具有相同的名字,且形参表或const属性不同,选项 A、 C、 D都可以区分;函数不能仅仅基于不同的返回类型而实现重载,选项 B不能区分,本题答案为 B。 20 【正
16、确答案】 D 【试题解析】 题意中 Date类重载了插入运算符 ,其中第一个参数是输出流对象的形参引用,第二个参数是 Date类对象的引用;由重载函数的返回值可知,返回类型也是输出流对象的引用,选项 A、 C错误;另外由于 main()函数中调用重载的插入运算符时: coutGoodDay,第一个参数是 cout,第二个参数是GoodDay,可知重载函数的两个参数都有实参传入,不存在隐式参数,所以该重载函数不是成员函数,而只能是类 Date的友元函数,选项 B错误,选项 D正确。 21 【正确答案】 B 【试题解析】 C+中,两个函数是重载函数,必须具有相同的名字,且形参表或const属性不同
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 模拟 175 答案 解析 DOC
