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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、国家二级( C+)笔试模拟试卷 217及答案与解析 1 下列关于栈的叙述正确的是 ( A)在栈中只能插入数据 ( B)在栈中只能删除数据 ( C)栈是先进先出的线性表 ( D)栈是先进后出的线性表 2 下列不属于软件工程 3个要素的是 ( )。 ( A)工具 ( B)过程 ( C)方法 ( D)环境 3 已知数据表 A中每个元素距其最终位置不远,为节省时间,应采用的算法是( )。 ( A)堆排序 ( B)直接插入排序 ( C)快速排序 ( D)直接选择排序 4 两个关系有若干相同属性名等值连接,并去掉重复属性的关系代数运算称为 _。 ( A)取列运算 ( B)投影运算 ( C)自然连接 ( D

2、)选择运算 5 下面 _ 机制允许对一个函数名给出多个函数定义 ( A)封装性 ( B)继承性 ( C)函数重载 ( D)多态性 6 结构化程序设计所规定的三种基本控制结构是 ( )。 ( A)顺序结构、选择结构、循环结构 ( B)输入、输出、处理 ( C) for、 while、 switch ( D)主程序、子程序、函数 7 下面内容不 属于使用软件危机的是 ( )。 ( A)软件质量难以保证 ( B)软件的成本不断提高 ( C)软件需求增长缓慢 ( D)软件不可维护或维护程度非常低 8 为用户与数据库系统提供接口的语言是 ( )。 ( A)高级语言 ( B)数据描述语言 (DDL) (

3、C)数据操纵语言 (DML) ( D)汇编语言 9 下列关于栈的叙述正确的是 ( A)栈按 “先进先出 ”组织数据 ( B)栈按 “先进后出 ”组织数据 ( C)只能在栈底插入数据 ( D)不能删除数据 10 下列排序方法中,最坏情况下比较次数最少 的是 ( A)冒泡排序 ( B)简单选择排序 ( C)直接插入排序 ( D)堆排序 11 在重载一个运算符时,如果其参数表中有一个参数,则说明该运算符是 ( A)一元成员运算符 ( B)二元成员运算符 ( C)一元友元运算符 ( D)选项 B) 和选项 C) 都可能 12 设变量 a是 int型, f是 double型, i是 float型,则表达

4、式 10 a i * f值的数据类型是 ( A) int ( B) float ( C) double ( D)不确定 13 在函数中,可以用 auto、 extern、 register和 static这四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是 ( )。 ( A) auto ( B) extern ( C) register ( D) static 14 对于一个类定义,下列叙述中错误的是 ( )。 ( A)如果没有定义拷贝构造函数,编译器将生成一个拷贝构造函数 ( B)如果没有定义缺省的构造函数,编译器将一定生成一个缺省的构造函数 ( C)如果没有定义

5、构造函数,编译器将生成一个缺省的构造函数和一个拷贝 构造函数 ( D)如果已经定义了构造函数和拷贝构造函数,编译器不会生成任何构造函数 15 有如下程序: #include iostream using namespace 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 a. get() b. get(); return

6、0; 运行时的输出结果是 ( )。 A) 33 B) 38 C) 83 D) 88 16 要把多个目标程序组成可执行文件,需要使用 ( )。 ( A)编辑程序 ( B)链接程序 ( C)调试程序 ( D)编译程序 17 对于 while、 dowhile 循环结构,正确的说法是 ( )。 ( A)只是表达形式不同 ( B) dowhile 结构中的语句至少执行一次 ( C) while 结构中的语句至少执行一次 ( D)条件成立时,它们有可能一次也不执行 18 若有以下定义: int a12=1,2,3,4,5,6,7,8,9,10,11,12; char c=a, d, g;则下列表达式中,

7、结果为 4的是 ( )。 ( A) ag-c ( B) a 4 ( C) ad-c ( D) ad-c 19 关于模板,下列说法不正确的是 ( )。 ( A)用类模板定义一个对象时,不能省略实参 ( B)类模板只能有虚拟类型参数 ( C)类模板本身在编译中不会生成任何代码 ( D)类模板的成员函数都是模板函数 20 若有下面的函数调用: fun (a+ b, 3, max(n-1, b) 则 fun的实参个数是( )。 ( A) 3 ( B) 4 ( C) 5 ( D) 6 21 执行语句: cout setfill(*) setw(10) setfill(#) left 123“OK“ en

8、dl; return 0; )后将输出 ( )。 ( A) 123*OK ( B) 123#OK ( C) 123*OK* ( D) 123#OK# 22 设 x是值为 10的 int型变量,则在计算表达式 x+=x-=x-x后, x的值为 _。 ( A) 1 ( B) 20 ( C) 40 ( D) 30 23 结构化程序的基本结构和特点是循环结构、选择结构和 _ 。 ( A)分支结构 ( B)重复结构 ( C)顺序结构 ( D)多重结构 24 在下面的运算符重载函数的原型中,错误的是 _ 。 ( A) Volume operator-(double,double); ( B) double

9、 Volume: operator-(double); ( C) Volume Volume: operator-(Volume); ( D) Volume operator-(Volume,Volume); 25 能正确表示逻辑关系: “a10或 a0”的 C+语言表达式是 ( A) a =10 or a =0 ( B) a =0|a =10 ( C) a +10 public: MyClass(int a=0,int b=0) x=a; y=b; static void change() x-=10; y-=10; ; ( A) static ( B) const ( C) private

10、 ( D)不需要 填入内容 30 在 C+语言中,对函数参数默认值描述正确的是 ( )。 ( A)函数参数的默认值只能设定一个 ( B)一个函数的参数若有多个,则参数默认值的设定可以不连续 ( C)函数参数必须设定默认值 ( D)在设定了参数的默认值后,该参数后面定义的所有参数都必须设定默认值 31 重载赋值操作符时,应声明为 ( )。函数。 ( A)友元 ( B)虚 ( C)成员 ( D)多态 32 对于语句 const int x=10;的描述正确的是 ( )。 ( A)该语句不允许定义为 int const x=10; ( B)在程序中可以重新对 X赋值 ( C)变量 X不能使用 + +

11、运算符 ( D) const关键字只能用来修饰常量 33 关于语句 #include iostream using namespace std; void main( ) cout 100 8989663 ; cout fixed 100 8989663 ; cout scientific 100 8989663 ; 的输出结果 为 ( A) 100.899 100 898966 1 008990e+002 ( B) 100.8989663 100 898966 1 008990e+002 ( C) 100 899 100 898966 1 008989e+002 ( D) 100 899 1

12、00 8989663 1 008989e+002 34 下列关于 C+函数的叙述中,正确的是 ( A)每个函数至少要具有一个参数 ( B)每个函数都必须返回一个值 ( C)函数在被调用之前必须先声明 ( D)函数不能自己调用自己 35 有如下类 定义: class AA int a; public: int getRef()constreturn 其中的四个函数定义中正确的是 ( A) ( B) ( C) ( D) 36 有如下类定义,请将 Sample类的复制构造函数补充完整。 class Sample public: Sample( ) Sample( )if(P)delete P; )

13、Sample(const Samples)_ void SetData(int datA) P=new int(datA) ; private: int*P: ; 37 非成员函数应声明为类的 _函数才能访问这个类的 private成员。 38 问题处理方案的正确而完整的描述称为【 】。 39 成本效益分析的目的是从【 】角度评价开发一个项目是否可行。 40 数据结构包括数据的逻辑结构、数据的【 】以及对数据的操作运算。 41 下列程序的输出结果是 _。 #include iostream using namespace std; template typename T T fun(T a,T

14、 b) return (a =b)?a:b;) int main() cout fun(3, 6) , fun(3.14F,6.28F) end1; return 0; 42 为了表明一个函数不带返回值,应在定义函数时指定该函数类型为 _。 43 在 MyClass类的定义中,对赋值运算符:进行重载。请将画线处缺失的部分补充完整。 【 】 MyClass:operator=(const MyClass value = rhs.value; return *this; 44 下列程序的运行结果是【 】。 include iostream. h class Sample int x,y; publ

15、ic: Sample() x=y=0; Sample(int a, int b) x=a;y=b; void disp() cout “ x=“ x “ , y=“ y end1; ; void main() Sample s1, s2(1, 2); s1. disp0; s2. disp (); 45 C+语言中,派生类继承了 基类的全部数据成员和除【 】之外的全部函数成员。 46 当执行 cin语句时,从键盘上输入每个数据后必须输入一个 _,然后才可以接着输入下一个数据。 47 以下程序的功能是输出 1至 100之间每位数的乘积大于每位数的和的数,例如对于数字 12,有 1*2 1+2,故

16、不输出该数:对于 27,有 2*7 2+7,故输出该数。请填空。 #include iostream.h void main() int n, k=1, s=o, m; for (n=1: n =100: n+= k=1; s=0; _, while( ) k*=m 10; s+=m 10; (3) ; 48 如果要把返回值为 void的函数 A声明为类 B的友元函数,则应在类 B的定义中加入的语句是【 】。 49 下列程序的运行结果是【 】。 #include iostream. h class Base public: virtual void func(int i)cout “class

17、 Base:“ i endl; ; class Derived: public Base public: void func(double d)cout “class Derived:“ d endl; ); void main() Base a, *p= Derived b; p= (* p).func(3.3); 50 有如下类定义,请将 Sample类的拷 贝构造函数补充完整。 class Sample public: Sample() Sample()if(p)delete p;) Sample(const Sample private: int*p; ; 国家二级( C+)笔试模拟试

18、卷 217答案与解析 1 【正确答案】 D 【试题解析】 栈是一种特殊的线性表,其插入与删除运算都只在线性表的一端进行。在这种线性表的结构中,一端封闭;不允许插入与删除元素;另一端开口,允许插入与删除元素。在栈中不仅能插入数据,也能删除数据,选项 A与 B 都错。栈是后进先出的线性表,而不是先进先出的线性表,选项 C的说法错误,选项 D正确。 2 【正确答案】 D 【试题解析】 软件工程包括 3个要素,即方法、工具和过程。方法是完成软件工程项目的技术手段:工具支持件的开发、管理和文档生成;过程支持软件开发的各个环节的控制、管理。 3 【正确答案】 B 4 【正确答案】 C 5 【正确答案】 D

19、 6 【正确答案】 A 7 【正确答案】 C 【试题解析】 所谓软件危机是泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。选项 A、 B、 D都属于软件危机的一种表现,软件危机还包括软件需求的增长得不到满足、软件开发成本和进度无法控制和软件开发生产率的提高赶不上硬件的发展和应用需求的增长。 8 【正确答案】 C 9 【正确答案】 B 【试题解析】 栈是 种只能在叫做栈的一段进 行进栈或者出栈操作的线性数据结构。栈的主要特点是 “后进先出 ”,即后进栈的元素先处理。 10 【正确答案】 D 【试题解析】 冒泡排序、简单选择排序和直接插入排序在最坏情况下比较次数都是 “n(n-1) 2”

20、,堆排序在最坏情况下比较次数最少,是 “O(nlog2n)”。 11 【正确答案】 D 【试题解析】 C语言中用成员函数重载时,重载一目运算符没有参数,重载二日运算符要有一个参数。 12 【正确答案】 C 【试题解析】 根据混合运算规则,如果有一个数据是 double型,则其他数据 类型先转化为 double 型,运算的结果最终也是 double型。为保证精度的不丢失,表达式的数据类型是变量和常量中精确度最高的变量类型。 13 【正确答案】 A 【试题解析】 此题考查的是存储类型。 C+语言变量的存储类型分为如下几种类型: auto函数内部的局部变量; static静态存储分配; extrn-

21、全局变量;register变量存储在硬件寄存器中。 14 【正确答案】 B 【试题解析】 此题考查的是构造函数。如果一个类中没有定义任何构造函数,编译器将生成一个不带参数的 公有缺省构造函数。但只要定义了一个任意的构造函数,就不会生成缺省构造函数了。 15 【正确答案】 B 16 【正确答案】 B 【试题解析】 C+是以编译方式实现的高级语言。 C+程序的实现必须要使用某种 C+语言的编译器进行编译。编译器的功能是将程序的源代码 (.cpp)转换为机器代码的形式,称为目标代码 (.obj)。然后,再使用目标代码进行链接,生成可执行文件 (.exe),等待下一步执行的过程。 17 【正确答案】

22、B 【试题解析】 注意区别 while、 dowhile 两种循环结构 的异同 :while循环是先判断条件是否成立,成立时才执行;而 dowhile 先执行再判断,它至少执行一次。 18 【正确答案】 D 19 【正确答案】 B 20 【正确答案】 A 21 【正确答案】 B 22 【正确答案】 B 23 【正确答案】 C 【试题解析】 分支结构实际就是选择结构,重复结构就是循环结构,顺序结构为结构化程序的基本特点之一。 24 【正确答案】 A 【试题解析】 运算符重载的语法定义。 25 【正确答案】 D 【试题解析】 逻辑运算符 “|”表示或的意思。 26 【正确答案】 D 【试题解析】

23、本题考查字符申数组和指针的引用方式。在 C+语言中,系统在每个字符中或数组的最后自动加入一个字符 0,作为字符的结束标志,在本题中,cbar a=“It is mine”;所表示的 a字符串实际含有 11个字符。 27 【正确答案】 C 【试题解析】 cout x+;语句中,程序先输出 x的值,然后再加 l,所以结果为 1,此时 x的值为 2;布 int x=0; x+=y*2;语句中,将 0的值赋给 x,然后再运算 x+=y*2的值 ,结果为 x=6(此时 x的值为局部变量 ), y的值不变,在最后在执行了 x语句后的值,所以应为 2。 28 【正确答案】 A 【试题解析】 本题考核 for

24、语句和 switch 语句的综合运用。 switch语句的执行过程是:在 switch 后面的表达式的值和 case后面常量表达式的值吻合时,就执行后面的语句。如果在该语句的后面没有 break 语句,则继续执行下一个 case,直到遇到 break 语句或 switch 多分支的结束。在 switch 语句中, break 语句的作用是使流程跳出 switch 结构,终止 switch 语句 的执行。因为每个 case语句后面都没有break 语句,所以,第 1次循环 (i=1)执行后, a的值为 8。第 2次循环 (i=2)执行过后, a的值变为 16。第 3次循环 (i=3)执行过后,

25、a的值变为 26。第 4次循环执行过后, a的值变为 31。然后执行 i+,这时循环条件为假,结束循环。所以最后 a的值为 31。 29 【正确答案】 A 【试题解析】 类的静态成员函数只可以直接访问类中的静态成员,不能直接访问类中的非静态成员。对于上述类的定义,由于在静态成员函数 change()访问了类MyClass的数据成员 x和 y ,只能把 x和 y定义为静态数据成员。 30 【正确答案】 D 31 【正确答案】 C 32 【正确答案】 C 33 【正确答案】 A 【试题解析】 C+语言中默认小数的输出位一共是六位, fixed 的意义是在小数点后保留六位, scientific的意

26、义是以科学计数法输出小数,本题中,100 8989663的默认输出就是 100 899, fixed 输出是 100, 898966, scienlific输出是 1 008990e+002。注意: C+语言中的小数输出及各种控制方法。 34 【正确答 案】 C 【试题解析】 从函数的形式看,函数分两类:无参函数:有参函数。当调用无参函数时,主调函数并不将数据传送给被调用函数,且可以带回或不带回函数值。当调用有参函数时,在主调函数和被调用函数之间有参数传递。在调用一个函数的过程中又出现直接或间接的调用该函数本身,称为函数的递归调用。 C+允许函数的递归调用。 35 【正确答案】 B 【试题解析

27、】 本题考查了常成员函数和友员函数的一些概念。 getRef()函数返回的是 a的地址值 &a,而函数类型却定义为 int, C+中不允许隐式的将一个地址值类 型转换为 int类型,故选项 A不正确。 set()函数被定义为常成员函数,但在函数中给 a赋值,改变了数据成员的值这是不允许的,故选项 C错误。 show()函数被定义为 AA类的友员函数,它不属于 AA类而是一个全局函数。所以同时被定义为常成员函数是错误的。所以选项 D不正确。故应该选择 B。 36 【正确答案】 *this=s; 37 【正确答案】 友元 【试题解析】 类的私有成员只能被本类的成员函数访问,如果非成员函数要访问本类

28、的私有数据成员,必须将函数定义为该类的友元函数才行。 38 【正确答案】 算法 (或程序、或流程图 ) 39 【正确答案】 经济 40 【正确答案】 存储结构 【试题解析】 数据结构包括 3个方面,即数据的逻辑结构、数据的存储结构及对数据的操作运算。注意:数据结构包含的 3个方面及各方面之间的关系。 41 【正确答案】 3,3.14 【试题解析】 本题考核模板函数的使用。 C+编译系统将根据实参表中的实参的类型来确定函数的形参列表中的类型。函数 fun 的功能是返回两者中较小的但,函数调用 fun 3,6)返回的值为 3,函数调用 fun(3.14F,6.28F)返回的值 为 3.14 42

29、【正确答案】 void。 【试题解析】 void 表明该函数不带返回值,如果没有 void,则系统会返回一个默认类型的随机值,这对程序可能造成不必要的问题。 43 【正确答案】 MyClass& 44 【正确答案】 此程序的运行结果为: x=0, y=0 x=1, y=2 45 【正确答案】 构造函数和析构函数 【试题解析】 在 C+类的继承中,基类的构造函数和析构函数不能被继承。 46 【正确答案】 空白符 47 【 正确答案】 m-n m m/=10 48 【正确答案】 friend void A(); 【试题解析】 C+中类的友元函数在声明时应在该函数前面加上关键字 friend,同样如

30、果要声明一个类为另一个类的友元类也要在前面类名前加上 friend。 49 【正确答案】 class Base:3 【试题解析】 题中基类和派生类中有同名函数但是参数不同。有的考生可能判断为重载却是错误的。重载仅发生在水平方向,即同一类的成员函数或全局函数间。在垂直关系上,即派生关系中,只有完全相同的 函数类型、函数名和参数个数,参数类型时,才表现多态性。本题中参数不同,编译器便认为是两个完全不同的函数。通过基类的指针指向派生类对象时,该指针只能访问到派生类中具有多态性的成员函数,而与基类无关的函数是无法通过基类指针来访问的。故系统强制转化为整型,调用的是 base类的 func函数。如果将派生类中的 func的形参改为 int型,则执行的就会是派生类的 func函数,此时表现为多态。 50 【正确答案】 p=new int; p=s.p; 【试题解析】 此题考查的是复制构造函数。复制构造函数定义的一般格 式如下:类名 :类名 (const类名 &引用对象名 )复制构造函数体 )。而在类中的声明部分可省去 “类名 :”。

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