ImageVerifierCode 换一换
格式:DOC , 页数:26 ,大小:67KB ,
资源ID:502400      下载积分:2000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-502400.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文([计算机类试卷]国家二级(C++)机试模拟试卷12及答案与解析.doc)为本站会员(medalangle361)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

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

1、国家二级( C+)机试模拟试卷 12及答案与解析 一、选择题 1 下列关于栈叙述正确的是 ( )。 ( A)栈顶元素最先能被删除 ( B)栈顶元素最后才能被删除 ( C)栈底元素永远不能被删除 ( D)以上三种说法都不对 2 下列叙述中正确的是 ( )。 ( A)有一个以上根结点的数据结构不一定是非线性结构 ( B)只有一个根结点的数据结构不一定是线性结构 ( C)循环链表是非线性结构 ( D)双向链表是非线性结构 3 某二叉树共有 7个结点,其中叶子结点只有 1个,则该二叉树的深度为 (假设 根结点在第 1层 )( )。 ( A) 3 ( B) 4 ( C) 6 ( D) 7 4 在软件开发

2、中,需求分析阶段产生的主要文档是 ( )。 ( A)软件集成测试计划 ( B)软件详细设计说明书 ( C)用户手册 ( D)软件需求规格说明书 5 结构化程序所要求的基本结构不包括 ( )。 ( A)顺序结构 ( B) GOTO跳转 ( C)选择 (分支 )结构 ( D)重复 (循环 )结构 6 下面描述中错误的是 ( )。 ( A)系统总体结构图支持软件系统的详细设计 ( B)软件设计是将软件需求转 换为软件表示的过程 ( C)数据结构与数据库设计是软件设计的任务之一 ( D) PAD图是软件详细设计的表示工具 7 负责数据库中查询操作的数据库语言是 ( )。 ( A)数据定义语言 ( B)

3、数据管理语言 ( C)数据操纵语言 ( D)数据控制语言 8 一个教师可讲多门课程,一门课程可由多个教师讲授,则实体教师和课程间的联系是 ( )。 ( A) 1: 1联系 ( B) 1: m联系 ( C) m: 1联系 ( D) m: n联系 9 有 3个关系 R、 S和 T如下表所示: 则由关系R和 S得到关系的操作是 ( )。 ( A)自然连接 ( B)交 ( C)除 ( D)并 10 定义无符号整数为 Uint,下面可以作为类 Uint实例化值的是 ( )。 ( A) -369 ( B) 369 ( C) 0.369 ( D)整数集合 1, 2, 3, 4, 5 11 软件工程理论和技术

4、性研究的内容主要包括软件开发技术和 ( )。 ( A)消除软件危机 ( B)软件工程管理 ( C)程序设计自动化 ( D)实现软件可重用 12 在面向对象方法中,一个对象请求另一个对象为其服务的方式是通过发送( )。 ( A)调用语 ( B)命令 ( C) H令 ( D)消息 13 下列选项中,属于软件调试技术的是 ( )。 ( A)错误推断 ( B)集成测试 ( C)回溯法 ( D)边界值分析 14 使用表设计器定义表中字段时,不是必须设置的内容是 ( )。 ( A)字段名 ( B)数据类型 ( C)说明 ( D)以上都必须设置 15 下列不是创建表结构的视图形式的是 ( )。 ( A)数据

5、库视图 ( B)表向导视图 ( C)设计视图 ( D)数据表视图 16 为了提高函数调用的实际运行速度,可以将较简单的 函数定义为 ( )。 ( A)内联函数 ( B)重载函数 ( C)递归函数 ( D)函数模板 17 若 AA为一个类, a为该类的非静态数据成员,在该类的一个成员函数定义中访问 a时,其书写格式为 ( )。 ( A) a ( B) A.A.a ( C) a ( D) AA: a 18 当派生类从一个基类保护继承时,基类中的一些成员在派生类中成为保护成员,这些成员在基类中原有的访问属性是 ( )。 ( A)任何 ( B)公有或保护 ( C)保护或私有 ( D)私有 19 若要对

6、 Date类中重 载的加法运算符成员函数进行声明,则下列选项中正确的是( )。 ( A) Data+(Data); ( B) Data operator+(Data) ( C) Data+operator(Data); ( D) operator+(Data Data) 20 下列关于函数模板的描述中,正确的是 ( )。 ( A)函数模板是一个实例函数 ( B)使用函数模板定义的函数没有返回类型 ( C)函数模板的类型参数与函数的参数相同 ( D)通过使用不同的类型参数,可以从函数模板得到不同的实例函数 21 C+系统预定义了 3个用于标准数据流的对象,下列选项中不属于此类对象的是 ( )。

7、( A) cout ( B) cin ( C) cerr ( D) cset 22 Windows环境下,由 C+源程序文件编译而成的目标文件的扩展名是 ( )。 ( A) cpp ( B) exe ( C) obj ( D) lik 23 字符串 “a+b=12 n t”的长度为 ( )。 ( A) 12 ( B) 10 ( C) 8 ( D) 6 24 有如下程序: #include using namespace std; int main() int f, f1=0, f2=1; for(int i=3; i =6; i+) f=f1+f2: f1=f2; f2=f; cout usi

8、ng namespace std; int main() int a6=23, 15, 64, 33, 40, 58); int s1, s2; s1=s2=a0; for(int*p=a+1; p a+6; p+) if(s1 *p)s1=*p; if(s2 *p)s2=*p; ) cout using namespace std; void fl(int&x, int&y) int z=x; x=y; y=z; ) void f2(int x, int y)int z=x; x=y; y=z; ) int main() int x=10, y=26; f1(x, y); f2(x, y);

9、 cout using namespace std; class XA int a; public: static int b; XA(int aa): a(aa)b+; XA() int get()return a; ; int XA: b=0 int main() XA d1(1), d2(3); cout using namespace std; class Point int x, y; public: Point(int x1=0, int y1=0): x(x1), y(y1) int get()return x+y; ; class Circle Point center; in

10、t radius; public: Circle(int cx, int cy, int r): center(cx, cy), radius(r) int get()return center get()+radius; ; int main() Circle c(3, 4, 5); cout ( C) FUN(9) ( D) FUN(double) 31 下列语句都是程序运行时的第 1条输出语句,其中一条语句的输出效果与其他3条语句不同,该语句是 ( )。 ( A) cout class BigNumber long n; public; BigNumber(T i): n(i) BigN

11、umber operator-(BigNumber b) return BigNumber(n+b n): ; 已知 b1、 b2是 BigNumber的两个对象,则下列表达中错误的是 ( )。 ( A) bt+b2 ( B) b1+3 ( C) 3+b1 ( D) 3+3 39 下列关于文件流的描述中,正确的是 ( )。 ( A)文件流只能完成针对磁盘文件的输入输出 ( B)建立一个文件流对象时,必须同时打开一个文件 ( C)若输入流要打开的文件不存在,将建立一个新文件 ( D)若输出流要打开的文件不存在,将建立一个新文件 40 有如下程序: include iostream using n

12、amespace std; class Pair int m, n; public; Pair(int j, int k): m(j), n(k) int get()return m; int get()constreturn m+n; ; int main() Pair a(3, 5); const Pair b(3, 5); cout class TC int n; public: TC() TC(int m) n=m: * * * * * * * * error* * * * * * * * TC add(TC s1 s2) this- n=s1 n+s2 n; * * * * * *

13、* * error* * * * * * * * return(this); void disp() cout int fun(char*s, int a) int main() int a1024; int len=fun(“1234abcdef567“, a); for(int i=0; i(len; i+) cout(ai #include(fstream h) #include(stdlib h) class TC public: TC(char*fileName) lend=0; fstream infile, infile open(fileName, ios: in); char

14、 ch; * * * * * * * * 1 * * * * * * * * while() coutch; * * * * * * * * 2 * * * * * * * * infile Close(); void split() fstream outfile1; fstream outfile2; outfile1 open(“out1 txt“, ios: out); outfile2 open(“out2 txt“, ios: out); int i=0: for(i=0; i len 2; i+) outfile1bufi; do * * * * * * * * 3 * * *

15、* * * * * while(i! =1en); outfile1 close(); outfile2 close(); private: int len: char buf1024; ; void main() * * * * * * * * 3 * * * * * * * * TC obj(): obj split(); return; 国家二级( C+)机试模拟试卷 12答案与解析 一、选择题 1 【正确答案】 A 【试题解析】 栈是限定在一端进行插入删除的先入后出的线性表数据结构,栈顶元素最后被插入到栈中,但是最先被删除;而栈底元素最 先被插入,最后被删除。 2 【正确答案】 D 【

16、试题解析】 线性表的特点是在数据元素的非空有限集合中 存在唯一的一个被称为 “第一个 ”的数据元素; 存在唯一一个被称为 “最后一个 ”的数据元素; 除第一个以外,集合中的每个数据元素均只有一个后继; 除最后一个以外,集合中的每个数据元素均只有一个后继。因此,双向表是非线性结构。 3 【正确答案】 D 【试题解析】 对于任意一棵二叉树 T,如果叶子结点数为 n0,度为 2的结点数为 n2,则二者之间的关系是 n0=n2+1,该题中度为 2的结点数为 0,且只有一 个叶子结点,因此,树中度为 1的结点有 6个,很容易想到树的高度为 7。 4 【正确答案】 D 【试题解析】 需求分析阶段只能产生需

17、求分析规格说明书。 A测试说明书是软件测试阶段生成的; B软件详细设计说明书是设计阶段生产; C用户手册是软件发布时随软件一同交付给用户的。 5 【正确答案】 B 【试题解析】 结构化程序设计的 3种结构是,顺序、分支和循环,不包括 goto跳转,它只是分支结构的一种,也是一个关键字。 6 【正确答案】 A 【试题解析】 软件系统的总体结构图是软件架构设计的依据, 它并不能支持软件的详细设计。 7 【正确答案】 C 【试题解析】 数据库操纵语言专门负责查询、增加、删除等数据操作。 8 【正确答案】 D 【试题解析】 一个教师可以上多门课程,一门课程也可以由多个教师教授,这是典型的多对多的 ER

18、关系。 9 【正确答案】 C 【试题解析】 S中的关系全部出现在 R中,只有做除法操作才会出现关系 T。 10 【正确答案】 B 【试题解析】 A是有符号数, C是浮点数, D是结合并不是类的实例化对象,只有 B完全符合。 11 【正确答案】 B 【试题解析】 基于软件工程的目标,软件工程理论和技术性研究的内容主要包括软件开发技术和软件工程管理。 12 【正确答案】 D 【试题解析】 在面向对象方法中,对象之间通过消息进行通信。消息中只包含传递者的要求,但并不指示接收者应该怎么完成这些处理。 13 【正确答案】 C 【试题解析】 软件调试技术包括强行排错法、回溯法和原因排除法。边界值分析、错误

19、推断都是黑盒测试的方法。 14 【正确答案】 C 【试题解析】 在使用表设计器定义表中的字段时,必须指定字段名、数据类型和字段属性,而说明可以不指定。 15 【正确答案】 A 【试题解析】 创建表结构的方法有数据表视图、设计视图和表向导视图 3种;而数据库视图是用来创建数据库的。 16 【正确答案】 A 【试题解析】 内联函数一般是程序代码少于 10行的函数,在编译过程中,直接在调用点处被展开,不会因函数调用带来巨大的系统开销,因此能提高实际运行速度。 17 【正确答案】 A 【试题解析】 a是类 AA的非静态数据成员,在类 AA的成员函数中可以直接访问。 B是访问静态数据成员的方式, C和

20、D都是访问函数的方 式。 18 【正确答案】 B 【试题解析】 保护继承时基类的 public和 protected是保护的,私有继承时基类的 public和 protected是私有的。 19 【正确答案】 B 【试题解析】 重载运算符的函数一般格式如下:函数类型 operator运算符名称(形参列表 )因此选 B。 20 【正确答案】 D 【试题解析】 函数模板只是声明了一个函数的描述即模板,不是一个可以直接执行的函数,只有根据实际情况用实参的数据类型参数标识符之后,才能产生真正的函数。 21 【正确答 案】 D 【试题解析】 C+的标准数据流对象有 3个: cout标注输出流, cin标

21、准输入流, cerr标准错误流。 22 【正确答案】 C 【试题解析】 cpp是 C+源文件的扩展名; exe是可执行文件的扩展名; lik是连接文件的扩展名。 23 【正确答案】 C 【试题解析】 n表示回车, t是制表符。 24 【正确答案】 C 【试题解析】 循环 3次,分别每次计算出 f1, f2和 f的值,该题比较简单,只需要细心即可。 25 【正确答案】 D 【试题解析】 根据程序 的意思,找出数组 a中最大值 s1和最小值 s2并计算二者的和。 26 【正确答案】 A 【试题解析】 该题考查了函数参数传递的两种方式:引用传递和值传递,引用传递时 x和 y会交换,而传值时二者不交换

22、,因此选 10。 27 【正确答案】 C 【试题解析】 每调用一次 get函数时,对新的类 A对象进行一次实例化,调用一次构造函数,类 A的静态成员变量 b便加 1。 28 【正确答案】 D 【试题解析】 简单类之间继承关系的调用,按照通常做法便可以得到答案。center get()函数调用后, 3和 4的和被返回,接着再调用 Circle类的 radius成员变量 5相加后得到 12。 29 【正确答案】 A 【试题解析】 C+不仅可以对运算符进行重载,还可以重载类型转换符,函数声明的形式为: operator类型符 ()const。 30 【正确答案】 C 【试题解析】 函数返回类型是 d

23、ouble型,则 T1为 double型, T2为 int型才符合函数模板的定义。 31 【正确答案】 D 【试题解析】 setw(6)将输出宽度设为 6,如果位数不够,则在最左边补齐,因此该项输出一定不会与其 他 3项一致。 32 【正确答案】 A 【试题解析】 析构函数不能被重载,因为它的函数中不带有任何参数,也没任何返回值,函数只有一个版本即 “类名 ()”。 33 【正确答案】 B 【试题解析】 构造函数没有返回值,虽然叫函数,但是它没有任何返回值,包括void型都不是,官方叫法应该叫 “构造器 ”。 34 【正确答案】 A 【试题解析】 PAT(*ad)3该表达式表示一个指向类 PA

24、T的数组的指针,只是声明了该指针,而并没有进行实例化对象,因此该语句运行时并不会调用构造函数。 35 【正确答案】 C 【试题解析】 保护继承时,类成员的访问级别只能是降低为保护模式,因此即使基类的共有成员,也被缩小为保护模式。 36 【正确答案】 D 【试题解析】 派生类的构造函数必须通过调用基类的构造函数来初始化基类子对象。所以在定义派生类的构造函数时,除了对自己的类据成员进行初始化外,还必须负责调用基类构造函数,使基类的数据成员得以初始化。 37 【正确答案】 B 【试题解析】 派生类成员函数不能访问基类的 private成员,只能由基类的对象来访问。这才体现了 C+的数据封装特性。 3

25、8 【正确答案】 C 【试题解析】 该题考查了 C+模板类和 +运算符重载的知识, 3+b1时,程序不能将 b1转化为整型,所以编译会出错。 39 【正确答案】 C 【试题解析】 输入流要打开的文件不存在,则会自动建立该文件,而输出流要打开的文件不存在,则会报错,而不会新建一个文件。 40 【正确答案】 B 【试题解析】 const函数只能被 const对象调用, a get()函数调用返回值是 3,而 b get()调用的返回值是 8。 二、基本操作题 41 【正确 答案】 (1)应改为 “TC add(TC s1, TC s2)”。 (2)应改为 “return(*this); ”。 (3

26、)应改为 “; ”。 【试题解析】 本题中的变量 “s2”没有声明类型,所以补充 “s2”的类型,即 “TC add(TC s1, TC s2)”。 “this-)n=s1 n+s2 n; ”语句中的 this变量为指针变量,所以第 2处的 “return(this); ”返回语句中的 this变量,应该返回指针型,所以修改为 “return(*this); ”。 C+中类的定义格式应为 “class类名 ; ”,以分号为结尾,所以在第 3处的类结尾处补充分号 “; ”,即修改为 “; ”。 三、简单应用题 42 【正确答案】 int j=0; for(int i=0; si!=0; i+)

27、字符串内循环 if(si)=0&si=9) 判断字符是否为 0 9的字符 aj+=si-0; 如果为 0 9的字符,转换为整型 return j; 返回数字个数 【试题解析】 本题中变量 j用来记录转换的个数,首先初始化为 0,然后利用 for循环判断每一个当前字符是否为数字字符。如果为数字字符,就将其减去字符“0”,即实现字符和整型的转换,并且将 j的变量值加 1。 四、综合应用题 43 【正确答案】 (1)“while()”应改为 “while(infile get(ch)”。 (2)应添加 “buflen+=ch; buflen=ch; len+; ”。 (3)应添加 “outfile2bufi+; ”或 “outfile2(hufi; i+; ”。 (4)“TC obj(); ”应改为 “TC obj(“in txt“); ”。 【试题解析】 本题考查了文件流的使用。根据题意,第 1处要获得一个字符,并判断是否到文件结尾,所以应使用 get函数;第 2处应将 ch存入 buf数组,同时让 len增 1;第 3处将 huf中的字节输出给 outfile2,注意同时让 i增 1,否则 while循环将进入死循环;第 4处 TC只有一个带 char*参数的构造函数,所以创建对象时必须使用构造参数,根据题意这个参数应该是 “in txt“”。

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