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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、国家二级( C+)笔试模拟试卷 204及答案与解析 1 实现算法所需要的存储单元的多少称为 ( )。 ( A)可实现性 ( B)空间复杂度 ( C)时间复杂度 ( D)困难度 2 下列关于线性链表的描述中正确的是 ( )。 ( A)存储空间不一定连续,且各元素的存储顺序是任意的 ( B)存储空间不一定连续,且前件元素一定存储在后件元素的前面 ( C)存储空间必须连续,且各前件元素一定存储在后件元素的前面 ( D)存储空间必须连续,且各元素的存储顺序是任意的 3 以下关于栈的描述中错误的是 ( )。 ( A)栈是先进后出的线性表 ( B)栈只能顺序存储 ( C)栈具有记忆作用 ( D)对栈的插入

2、与删除操作中,不需要改变栈底指针 4 下面数据结构中,属于非线性的是 ( )。 ( A)线性表 ( B)队列 ( C)树 ( D)栈 5 下列数据结构中,能用二分法进行查找的是 ( )。 ( A)顺序存储的有序线性表 ( B)线性链表 ( C)二叉链表 ( D)有序线性链表 6 有 3个关系 R、 8和 T如下: 由关系 R和S通过运算得到关系 T,则所使用的运算为 ( )。 ( A)笛卡尔积 ( B)交 ( C)并 ( D)自然连接 7 树是结点的集合,它的根结点的数目是 ( )。 ( A)有且只有 1个 ( B) 1个或多于 1个 ( C) 0个或 1个 ( D)至少有 2个 8 在长度为

3、 n的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。 ( A) O(n) ( B) O(n2) ( C) O(log2n) ( D) O(nlog2n) 9 在软件开发 中,需求分析阶段不可以使用的工具是 ( )。 ( A)数据字典 ( B)数据流图 ( C)判断树 ( D)程序流程图 10 数据库管理员 (DBA)是数据库系统的一个重要组成部分,有很多职责。以下选项不属于 DBA职责的是 ( )。 ( A)定义数据的存储结构和存取策略 ( B)定义数据库的结构 ( C)定期对数据库进行重组和重构 ( D)设计和编写应用系统的程序模块 11 下面的说法中错误的是 ( )。 ( A

4、)公有继承的基类中 public成员在派生类中仍是 public ( B)私有继承的基类中 public成员在派生类中是 private ( C)公有继承的基类中 private成员在派生类中仍是 private ( D)保护继承的基类中 public成员在派生类中是 protected 12 函数定义如下: void fun(int x, int&y)x+; y+; 如果执行代码段: int a=0,b=1; fun(a,b); 则变量 a和 b的值分别是 ( )。 ( A) 0和 1 ( B) 0和 2 ( C) 1和 1 ( D) 1和 2 13 在进行了任何 C+流的操作后,都可以用

5、C+流的有关成员函数检测流的状态:其中 ( )函数名只能用于检测输入操作。 ( A) bad() ( B) good() ( C) fail() ( D) eof() 14 执行下面语句后,输出字符 “#”的个数是 ( )。 for(int i=50; i1; -i)cout T fun(T x, T y)return x*x+y*y; 下面对 fun的调用中错误的是 ( )。 ( A) fun(2, 6 5) ( B) fun(2, 6 5) ( C) fun=bj-1) break; bj=bj-1; bj=t; ; 42 已有函数 fun(a, b),为了使函数指针变量 p指向函数 fu

6、n,则使用的赋值语句是 _。 43 阅读下面程序: #include void funl(char a, charb) char c; c=a; a=b; b=c; void fun2(char&a, char&b) char c; c=a; a=b; b=c; void main() char a,b; a=x; b=Y; fun1(a, b); cout class Tstack enumsize=1000; T stacksize; int top; public: Tstack(): top(0) void push(const T&i) if(top using namespace

7、std; class Base public: int a, b; Base(int i)a=i; ; class Derived: public Base int a; public: Derived(int x): Base(x), b(x+1); void show() _输出基类数据成员 a的值 cout1”说明当 i的值大于 1时重复执行循环体; “-i”表示每循环一次减 1。当 i等于 1的时候跳出循环,此时循环次数为 49次。 15 【正确答案】 B 【试题解析】 C+中声明函数模板的格式是: template,模板函数的调用可以省略实参模板,但实参模板的省略是有条件的。如果从模

8、板函数实际参数列表中获得的信息有矛盾,则不能省略实际参数模板。 16 【正确答案】 B 【试题解析】 class TestClass定义了一个类,其中 TestClass()eout成员。 20 【正确答案】 A 【试题解析】 C+中的引用作用是给变量起个别名,引用定义形式为:类型 &引用名 =变量名。 21 【正确答案】 C 【试题解析】 C+中创建一个类的实例时,如果该类存在基类,将首先执行基类的构造函数,然后执行该类本身的构造函数。本题中首先执行类 Base的构造函数,所以将先输出 “BB”,然后调用基类成员函数 fun(),输出 “Bfun”,最后调用子类 Derived的构造函数输出

9、 “DD”。 22 【正 确答案】 C 【试题解析】 C+是基于 C语言发展起来的一种面向对象的高级语言,具有了面向对象程序设计语言的特征,同时具有结构化编程的思想。 23 【正确答案】 C 【试题解析】 在主函数中定义了两个 TestClass类型的变量 a,d,因此执行两次构造函数 TestClass ()。接下来执行 d=userCode(a);,在执行该函数时,由于userCode采用了传值方式来传递参数,所以要调用一次 TestClass(const TestClass x)。在函数 userCode内部 TestClass c(b);语句又调用了一次拷贝构造函数,由于函数 user

10、Code返回的不是引用,而是一个 TestClass变量,所以还需要执行一次拷贝构造函数,所以一共要执行两次普通构造函数 (非拷贝构造函数 )与三次拷贝构造函数。 24 【正确答案】 D 【试题解析】 如果一个成员函数没有声明为常成员函数,即使没有改变对象本身的成员值,也不能被常对象调用,所以 A)不正确。常对象除了可以调用静态成员函数外,还可以调用常成员函数,所以 B)不正确。常对象中可以有非常成员函数,所以 C)也不正确。常对象只能调用对象的 常成员函数,而不调用普通成员函数,故 D)选项正确, 25 【正确答案】 B 【试题解析】 关键字又被称为保留字,它是由 C+语言本身预先定义好的一

11、类单词。详见 C+关键字表。 26 【正确答案】 C 【试题解析】 C+中对于用 new分配的多个内存空间,可以用 deletename,将所分配的所有内存释放掉。 27 【正确答案】 C 【试题解析】 C+中的内联函数可以有,也可以没有 return语句。使用 inline关键字来定义内联函数,放在函数定义中函数类型之前。内联函数在 程序执行时并不产生实际函数调用,而是在函数调用处将函数代码展开执行。内联函数是通过编译器来实现的。在类中直接定义的函数默认为内联函数。 28 【正确答案】 C 【试题解析】 在定义对象 p1时由系统自动调用构造函数 TestClass(),输出字母A;用 new

12、创建单个对象 TestClass(X)时,要根据参数调用相应的构造函数TestClass(chat c),输出字母 x;在执行 delete时,系统会自动调用析构函数TestClass(),输出字母 B,当对象的生存周期即将结束时系统会自动调用析构 函数一 TestClass (),输出字母 B。 29 【正确答案】 D 【试题解析】 友元提供了不同类或对象的成员函数之间、类的成员函数与一般函数之间进行数据共享的机制。类可以利用 friend将一般函数、其他类成员函数或者其他类声明为友元。友元的声明可以放在类的任何一个区域。但是友元的实现不可以在类内部。 30 【正确答案】 D 【试题解析】

13、在 C+中的虚函数是一种单界面多实现版本的实现方法,即函数名、返回类型、函数类型和个数顺序完全相同,但函数体内容可以完全不同。 31 【正确答案 】 B 【试题解析】 “Derivedb(2); ”以整数 2实例化变量 b,在执行 Derived的构造函数时,以 i+10即 12去调用类 Derived的父类的构造函数,将 Base: x初始化为12,然后将 Derived: x赋值为 2。在执行 b dispb()时,先调用父类中的dispa,输出 Base: x,即 12,再输出 Derived: x,即 2,所以运行结果为“12, 2”。 32 【正确答案】 B 【试题解析】 一元运算符

14、可以作为全局函数重载,所以选项 A)错误。二元运算符重载为非成员函数时,参数 表中有两个参数,所以选项 C)也错误。 C+中有些运算符不能被重载,如域运算符 (: ),条件运算符 (?: )等,具体哪些运算符不能被重载与编译器有关,所以选项 D)错误。 33 【正确答案】 B 【试题解析】 数组可以在定义的时候给出其初始化的值,如果所给的数值比数组的数目少,则后面缺省的是 0。 34 【正确答案】 B 【试题解析】 程序中的静态变量在整个程序的运行过程中,一直占有其分配的空间,每次运行的结果将被保留。 35 【正确答案】 D 【试题解析】 由于 “ ”在 C+中用来定 义转义字符,所以必须对文

15、件名字符串中的 “ ”进行转义,所以只有选项 D)不正确。 36 【正确答案】 开发 【试题解析】 软件生命周期可分为多个阶段,一般分为定义阶段、开发阶段和维护阶段。定义阶段包括可行性研究初步项目计划和需求分析;开发阶段包括概要设计、详细设计、实现和测试;维护阶段包括使用、维护和退役。 37 【正确答案】 选择 【试题解析】 关系数据库的专门关系运算包括选择、投影和连接 3种,其中选择不改变关系表中的属性个数但能减少元组个数。 38 【正确答案】 层次模型 【 试题解析】 层次模型是最早发展起来的数据库模型。层次模型的基本结构是树形结构。 39 【正确答案】 白盒 【试题解析】 按功能划分测试

16、可分为白盒测试和黑盒测试。白盒测试的原则是保证所测试模块中每一独立路径至少执行一次;保证所测试模块所有判断的每一分支至少执行一次;保证所测试模块每一循环都在边界条件和一般条件下至少各执行一次;验证所有内部数据结构的有效性。 40 【正确答案】 元组 【试题解析】 在关系模型中,数据结构用单一的二维表结构来表示实体及实体间的联系。一个关系对应一个二维表。二维 表中的列称为属性,属性值的取值范围称为值域。二维表中的一行称为一个元组。 41 【正确答案】 j=i 【试题解析】 在函数 sont()中,外层 for循环中依次将数组 b中的值赋值给变量t,然后在内层循环中依次与已经排序的数组元素进行比较

17、,并在符合条件的位置插入该元素。 “int t=bi; ”语句可知数组中有 i个元素已经排序。因此,根据内层循环中的 j0; -j语句,知道内层循环是将当前的第 i个元素与 j个元素进行比较,前面已知数组中有 i个元素已经排序,根据题干中的要求 “插入已排序序列中 ”,即 i=i。 42 【正确答案】 p=fun 【试题解析】 函数入口地址称为函数的指针。可以使用指针变量指向 fLm函数,然后通过该指针变量调用此函数。赋值语句就是将函数 fun的入口地址赋值给指针变量 p,只需将函数名赋给 p,不能写成 “p=fun(a, b)”形式。函数名就代表了函数入口地址,即 p=fun。 43 【正确

18、答案】 xyyx 【试题解析】 由程序 majn主函数入手,首先调用 fun1函数,输出结果。然后调用 fun2函数,输出结果。在函数 fun1声明中出现的参数为形参,调用结束后,形参单元被释放 ,实参单元仍维持原值。也就是 fun1函数中的 “c=a; a=b; b=c; ”交换结果并不能改变主函数中 a, b实参的值, “a=x; b=y; ”输出为 xy。函数void fun2(char a, char b)声明中的为实参的地址,所以在函数中调用交换语句后,实参值改变,即输出为 yx。 44 【正确答案】 外部变量 【试题解析】 在文件 1CPP中的变量如果也要在文件 2CPP中访问,那

19、么该变量要声明为外部变量。 45 【正确答案】 Stack-top或 sIacktop-=1 或 stacktop=top-1 【试题解析】 此题考查的是堆栈数据结构。分析题目,首先利用函数voidpush(constT i)将 i压入栈,然后 Tpop()将元素弹出,但由于在压入栈的时候, top值已经增加 1;要弹出元素,须使 top先减 1,才能把栈顶元素弹出。 46 【正确答案】 友元函数 【试题解析】 此题考查的是非成员函数对类的成员的访问权限,非成员函数只有在声明为类的友元函数才能访问这个类的所有 privace成员,否则是不能访问类的私有成员的。 47 【正确答案】 成员初始化列

20、表 【试题解析】 C+语言规定对基类数据成员的初始化必须在派生类的构造函数中的成员初始化列表中进行。 48 【正确答案】 coutBase: a 【试题解析】 此题考查的是基类和派生类的构造函数。派生类构造函数的执行顺序为:首先调用基类的构造函数,调用顺序按它们被继承时说明的顺序;然后调用子对象的构造函数,调用顺序按它们在类中说明的顺序;最后是派生类构造函数中的内容。此题要求结果是输出 12,分析题目,首先调用基类的构造函数,然后是调用子对象的构造函数,横线处要求输出基类成员 a的值,填入coutBase: a即可。 49 【正确答案】 *str=NULL 或 !*str 或 *str= 0或 str0= 0 或str0=NULL 【试题解析】 此题考查的是递归函数的定义。分析题目可以看出 GetLen的定义中缺少递归终止的条件,显然此函数递归终止的条件是读到了字符串的终止符 0,此时的返回值为 0。 50 【正确答案】 10-10 【试题解析】 此题考查的是引用的定义和使用。题目中 r初始化为对 x的引用,那么 r的值就与 x的值相等。

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