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

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

1、国家二级( C+)笔试模拟试卷 161及答案与解析 1 三种基本结构中,能简化大量程序代码行的是 ( )。 ( A)顺序结构 ( B)分支结构 ( C)选择结构 ( D)重复结构 2 下列关于栈的描述正确的是 ( )。 ( A)在栈中只能插入元素而不能删除元素 ( B)在栈中只能删除元素而不能插入元素 ( C)栈是特殊的线性表,只能在一端插入或删除元素 ( D)栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素 3 下列有关数据库的叙述,正确的是 ( )。 ( A)数据处理是将信息转化为数据的过程 ( B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变 ( C)关系中的每

2、一列称为元组,一个元组就是一个字段 ( D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字。 4 概要设计中要完成的事情是 ( )。 ( A)系统结构和数据结构的设计 ( B)系统结构和过程的设计 ( C)过程和接口的设计 ( D)数据结构和过程的设计 5 下面排序 算法中,平均排序速度最快的是 ( )。 ( A)冒泡排序法 ( B)选择排序法 ( C)交换排序法 ( D)推排序法 6 两个或两个以上模块之间关联的紧密程度称为 ( )。 ( A)耦合度 ( B)内聚度 ( C)复杂度 ( D)数据传输特性 7 下列描述中正确的是 ( )。 (

3、 A)软件工程只是解决软件项目的管理问题 ( B)软件工程主要解决软件产品的生产率问题 ( C)软件工程的主要思想是强调在软件开发过程中需要应用工程 化原则 ( D)软件工程只是解决软件开发中的技术问题 8 关系模型允许定义 3类数据约束,下列不属于数据约束的是 ( )。 ( A)实体完整性约束 ( B)参照完整性约束 ( C)属性完整性约束 ( D)用户自定义的完整性约束 9 下列描述中正确的是 ( )。 ( A)程序就是软件 ( B)软件开发不受计算机系统的限制 ( C)软件既是逻辑实体,又是物理实体 ( D)软件是程序、数据与相关文档的集合 10 用树型结构表示实体之间联系的 模型是 (

4、 )。 ( A)关系模型 ( B)网状模型 ( C)层次模型 ( D)以上三个都是 11 以下选项中合法的实型常数是 ( )。 ( A) 5E2.0 ( B) E-3 ( C) 2E0 ( D) 1.3E 12 下列字符串中可以用作 C+语言标识符的是 ( )。 ( A) _1234 ( B) foo bar ( C) virtual ( D) 34var 13 下列关于 C+函数的说明中,正确的是 ( )。 ( A)内联函数就是定义在另一个函数体内部的函数 ( B)函数体的最后 +条语句必须是 return语句 ( C)标准 C+要求在调用一个函数之前,必须先声明其原型 ( D)编译器会根据

5、函数的返回值数型和参数表来区分函数的不同重载形式 14 若有如下语句 #include iostream.h) void main() int x 3; do X X-2; cout x; while(!(-x); 则上面程序段 ( )。 ( A)输出的是 1 ( B)输出的是 1和 -2 ( C)输出的是 3和 0 ( D)是死循环 15 有以下程序: #include iostream using namespace std; int main() int x=15; while(x 10 void main() int x 10, y 20, z 30; fun(x, y, z); co

6、ut x , y , z endl; 输出结果是 ( )。 ( A) 30, 20, 10 ( B) 10, 20, 30 ( C) 456, 567, 678 ( D) 678, 567, 456 21 下列定义中 p指向的地址可更改,但 *p不能够更改的是 ( )。 ( A) const int *p; ( B) int * const p; ( C) const int *const p; ( D) int * p; 22 如果表达式 -x/y中的 “-”和 “/”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可以表示为 ( )。 ( A) operator/(x.ope

7、rator-(), y); ( B) operator/(operator-(x), y); ( C) x.operator-().operator/(y); ( D) y.operator/operator-(x); 23 下列程序输出的结果是 ( )。 #include stdio.h un1(char a, char b)char c; c a; a=b; b c; fun2(char*a, char b)char c; c=*a; *a=b; b=c; fun3(char*2, char*b)charc; c=*a; *a=*b; *b=c; void main() char a, b

8、; a=A; b=B; funl(a, b); putchar(a); putchar(b); ( A) BABBAB ( B) ABBBBA ( C) ABBABA ( D) ABABBA 24 下面程序的结果是 ( )。 #include iostream.h class A int a; public: A(): a(1) void showa()cout a; ; Class B int a; public: B(): a(2) void showa()cout a; ); class C: public A, public B int a; pu ( A) 1 ( B) 2 ( C)

9、 3 ( D)程序有错误 25 有以下程序: main() int a 5, b 4, c 3, d 2; if(a b C) coutd end1; else if(c-1)=d)=1) tout d+1 endl; else cout d+2 endl; ( A) 2 ( B) 3 ( C) 4 ( D)编译时有错,无结果 26 下列程序的执行结果是 ( )。 #inClude iostream.h) #include(stdlib.h) class TestClass public: int x, y; TestClass()x y 0; TestClass(int a, int b)x

10、 a; y b; void disp() cout “x “ x “, y “ yendl; ; void main() ( A) x 2, y 2 ( B) x 2, y 3 ( C) x=3, y 2 ( D) x 3, y 3 27 若已定义 int a 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, p a, i 5; 则对数组元素的不正确的引用是 ( )。 ( A) ap-A) ( B) *( a+ (a 8); cout a; 43 以下程序的执行结果为 _。 #include iostream using namespace std; class base publ

11、ic: virtual void who() cout “base class“ endl; ; class derivel: public base public: void who() cout “d 44 如果类中的一个成员函数的定义实现在类内,则该函数系统自动默认为该类的_函数。 45 为 解决在多重继承环境中因公共基类带来的 _问题, C+语言提供了虚基类机制。 46 operator是运算符重载时必须使用的关键字,它和被重载的运算符连在一起,作为运算符函数的专用函数名,务必把该函数说明为 _的。 47 _12_是一系列相关函数的模型或样板,这些函数的 _13_形式相同,只是所针对的

12、 _14_不同。 48 我们通常用到的 cin,是属于 _输入。 国家二级( C+)笔试模拟试卷 161答案与解析 1 【正确答案】 D 【试题 解析】 重复结构又称为循环结构,它根据给定的条件,判断是否需要重复执行某一相同或类似的程序段,利用重复结构可以简化大量的程序行。 2 【正确答案】 C 【试题解析】 根据数据结构对栈的定义及其特点可知:栈是限定只在表尾进行插入或删除操作的线性表,因此栈是先进后出的线性表,对栈的插入与删除操作,不需要改变栈底元素。栈是限定只在表尾进行插入或删除操作的线性表。 3 【正确答案】 D 【试题解析】 数据处理是指将数据转换成信息的过程,故选项 A叙述错误;数

13、据的物理独立性是指数据的物理结构的 改变不会影响数据库的逻辑结构,故选项B叙述错误,关系中的行称为元组,对应存储文件中的记录,关系中的列称为属性,对应存储文件中的字段,故选项 C叙述错误。 4 【正确答案】 A 【试题解析】 软件概要设计的基本任务是;设计软件系统结构;数据结构及数据库设计;编写概要设计文档;概要设计文档评审。 5 【听力原文】 )。 5 【正确答案】 D 【试题解析】 在各种排序方法中,快速排序法和堆排序法的平均速度是最快的,因为它们的时间复杂度都是 O (nlog2n),其他的排序算法的时间复杂度大 都是O(n2 6 【正确答案】 A 【试题解析】 耦合是指模块之间的关联程

14、度,内聚是指模块内部各部分的聚合程度。 7 【正确答案】 C 【试题解析】 软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法来开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。软件工程的目标是生产具有正确性、可用性及开销合宜的产品,它的主要思想是强调在软件开发过程中需要应用工程化原则。 8 【正确答案】 C 【试题解析】 关系模型允许定 义 3类数据约束,即实体完整性约束、参照完整性约束和用户自定义完整性约束。其中前两种完整性约束由关系数据库系统支持,用户自定义完整性约束则由关系数据库系统提供完整性约束语言,用户利用该语官给出约束

15、条件,运行时由系统自动检查。 9 【正确答案】 D 【试题解析】 软件是程序、数据与相关文档的集合,它是一个逻辑实体。软件的开发要受计算机系统的限制,例如硬件系统的限制、软件操作系统的限制等。 10 【正确答案】 C 【试题解析】 层次模型是数据库系统中最早出现的数据模型,它用树型结构来表示各 类实体及实体间的联系。在现实世界中事物之间的联系更多的是非层次关系的,用层次模型表示非树型结构很不直接,网状模型则用来表示非树型结构。关系模型是目前最重要的一种数据模型,它建立在严格的数学概念基础上。关系模型由关系数据结构、关系操作系统和关系完整性约束 3部分组成。 11 【正确答案】 C 【试题解析】

16、 本题考查实型常数的指数表示法,可以肯定的是指数不能为小数即必须为整数。 由于符号 E前面必须有数字。 D在指数符号后面没有数字,是错误的。 12 【正确答案】 A 【试题解析】 C+语 言标识符只能由数字,字母和下划线组成,并且只能以字母和下划线为开头。 13 【正确答案】 C 【试题解析】 内联函数不是定义在另一个函数体内部的函数;而是将 incline放在函数定义中函数类型之前;函数体的最后一条语句可以是任意的语句;编译器不会根据函数返回值的类型来区分重载形式,选项 D错误。标准 C+要求在调用一个函数之前,必须先声明其原型。 14 【正确答案】 B 【试题解析】 do-while语句的

17、一般格式为 do循环体语句 while(表达式 );,先执行循环体语句一次,再判断表达 式的值,若为真则继续执行循环,否则终止循环。本题中,先执行 x x-2,即为 l。判断表达式的值, !(-x)为真, x=0,继续循环。再次执行循环体语句后, x -2,此时表达式的值为 0,结束循环。 15 【正确答案】 C 【试题解析】 本题考核选择语句与循环语句的嵌套。由程序可知,当 x=16时,满足 if条件表达式,进入 if分支,执行 “x+; break”,所以最后程序输出 x的值为 17。 16 【正确答案】 B 【试题解析】 p表示的是变量 a的地址,定义后 *p表示的是变量 a的值。 17

18、 【正确答案】 B 【试题解析】 拷贝构造函数是一个特殊的构造函数,它用一个已知的对象初始化一个正在创建的同类对象,它不能指定函数返回类型;只有一个参数,是同类的某个对象名的引用。每一个类中都必须有一个拷贝构造函数,如果类中未声明,编译器会自动生成一个公有的拷贝构造函数。 18 【正确答案】 D 【试题解析】 本题考查数学表达式的掌握,首先应转换为弧度,然后作为 COS函数的参数,求绝对值,最后是开方函数。考生需要掌握的是常用的数学函数。 19 【正确答案】 D 【试题解析】 如果函数实参是数组名,形参也应为数组名,函数 swap中形参进行了交换,实际上也是实参进行了交换。而且数组名代表数组首

19、元素的地址,并不是代表戮组的全部元素。所以, swap(b, 2)是数组 b第一个元素与第二个元素进行交换,即 b0与 b1,根据题干,知道答案为 2, 1。 20 【正确答案】 B 【试题解析】 本题考查函数中变量的作用范围,在主函数中给变量 x, y,z赋值,然后将其作为实参传递给了函数 fun (),虽然在函数 fun()中改变了这 3个变量的值,但只是同名的局部变量,不影响函数中变量的值, 所以在调用函数 fun()结束后,主函数 3个变量的值未改变。 21 【正确答案】 A 【试题解析】 const int*p:是只能改变指针地址, Int*const p;是只能改变 *p的内容,

20、constmt*const p;是指针的地址和 *p的内容都不能改变, Int *ps是两者都能改变。 22 【正确答案】 B 【试题解析】 本题考查运算符的重载。假定已经作为某个类的成员函数重载了二元运算符 +,且 c1、 c2都是该类的对象,则 c1.operator+(c2)与 c1+c2含义相同。如果 +作 为该类的非成员函数重载,则 operator+(cl, c2)与 cl+c2含义相同。同理,运算符 “/”作为友元函数重载,则 (-x)/y与表达式 operator/(-x), y)相同。前缀运算符 “-”作为友元函数重载,则 -x与 operator-(x)相同,所以组合起来是

21、operator/(operator-(x), y);,即 B选项。 23 【正确答案】 B 【试题解析】 由程序中的主函数 main入手,分别调用 funl, fun2, fun3函数,得出输出结果。其中, 3个函数都是实现的两个形参 的交换功能,只是值传递的方式不同,有的是引用,有的是传值。第一个函数中参数采用的是值传递的方式,形参的变化不影响实参。所以 d调用 funl后,实参 a和 b并没有交换,仍然是AB。第二个调用中,实参 a采用的是地址,印传递的是地址,所以形参 a的改变合影响实参 a的值,即 BB。同理,调用 fun3后为 BA。 24 【正确答案】 C 【试题解析】 类 A,

22、类 B,中都有 showa()函数,类 C继承后再次重写 showa()函数就解决了继承的二义性,这时 c, showa()函数显示的就是类 C中的 showa()的值。 25 【正确答案】 B 【试题解析】 本题考查逻辑表达式的结合特性,即左结合性。对于表达式abc,首先判断 ab为真,结果为 1,然后判断 1c,为假,故转去判断 c-1): d是否成立,成立,结果为 1,再判断 1=1,结果为真,因此,执行 d+1,答案为B。 26 【正确答案】 B 【试题解析】 由主函数入手,定义了类 TestClass的对象 s1(2, 3),当类对象进入其作用域时调用构造函数,构造函数应该是调用具有

23、参数的 “TestClass(mta,intb)x=a, y b)”。然后引用 成员函数 disp(),则输出为 “cout “x=“” x “, y “ y endl; ”。即 x 2, y=3。 27 【正确答案】 D 【试题解析】 数组和指针的关系非常密切,因为数组名称单独使用是表示数组的首地址。故可用的表示可能是 a i, pi, *(p+i),同样 &(ai)表示地址,因此*(&ai)等同于 ai。本题答案为 D。 28 【正确答案】 A 【试题解析】 C+语言中 setfill的意思是在空格的地方填上 setfill函数中的参数字符, setw的 意思是设置整个输出字符串的字符个数

24、,本题中用 *来代替空格。 29 【正确答案】 D 【试题解析】 本题考查的是类的继承和派生。系统首先要通过派生类的构造函数调用基类的构造函数,对基类成员初始化,然后对派生类中的新增成员初始化。 30 【正确答案】 C 【试题解析】 由主函数 main入手,首先 x被赋值为 3, a被赋值为 4。然后调用fun函数,参数为 4,所以在 fun函数中的 a=4而主程序中的 x作用域是由它定义开始到 cout输出,在 fun函数中无效。而在 fun函数定义首的变量。作用域是整个 程序,所以 fun函数中的 x值为 5,这样 c的值就为 20。在主函数中的x+fun(a)中的 x为靠近这条语句的 x

25、定义,即 3,所以最后 x的值为 20+3=23。 31 【正确答案】 A 【试题解析】 本意考查 C+当中函数的默认返回类型,这种类型与函数内部的局部变量的类型没有关系。如果不小心处理函数返回类型,可能造成数据丢失。本惠答案为 A。 32 【正确答案】 D 【试题解析】 本题考查考生对 for循环中三个表达式的执行顺序及使用方法。首先执行第一个表达式,然后判断第二个表达式是否成立,如果成 立则执行循环体,然后执行第三个表达式,随后再去判断第二个表达式。根据这个顺序,可以委有容易的判断出,循环体只执行了一次。 33 【正确答案】 D 【试题解析】 字符型数据在计算机内部是以 ASCII码存储的

26、,英文大写字母和小写字母在 ASCII码表中都是连续的。大写字母 A Z是从 65 90,小写字母a z是从 97 122。所以只要变量 c大于等于 a并且等于小于 z就能保证其的小写字母。 34 【正确答案】 D 【试题解析】 带有纯虚函数的类称为抽象类,抽象类中的纯虚函数没有具体的定义,所以不 能说明抽象类的对象。 35 【正确答案】 B 【试题解析】 友元函数的作用在于提高程序的运行效率,但是,它破坏了类的封装性和隐藏性,使得非成员函数可以访问类的私有成员。只有在类中声明了某个函数是自己的友元函数之后,该友元函数才能够访问本类的私有成员,而不是任何类的任何成员都可以访问。 36 【正确答

27、案】 256.36。 【试题解析】 str表示把数值转化为字符串。字符串函数大都以类型说明符 “$”结尾,表明函数的返回值为字符串,但是在 Visual Basic 6.0中,函数尾部的 “$”也可以省略,功能相同。因此本题的结果为 256.36。 37 【正确答案】 物理独立性。 【试题解析】 数据独立性包括数据的物理独立性和数据的逻辑独立性。物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的,即数据在磁盘上怎样存储由 DBMS管理,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构。因此,当数据的物理存储改变了,基于逻辑结构的应用程序不用改变。逻辑独立性是指用户的应用

28、程序与数据库的逻辑结构是相互独立的,即当数据的逻辑结构改变时,用户程序也可以不变。 38 【正 确答案】 0。 【试题解析】 根据冒泡排序算法的思想:若待排序的初始序列为正序序列,则只需进行一趟排序,在排序过程中进行 n-1次关键宇间的比较,且不移动和交换记录,这种情况是冒泡排序的最好情况,故冒泡排序算法在最好的情况下的元素交换次数为 0次。 39 【正确答案】 继承。 【试题解析】 在面向对象方法中,一个类可以从直接或间接的祖先中继承所有属性和方法,它提高了软件的可重用性,是类之间的共享属性和操作的机制。 40 【正确答案】 错误。 【试题解析】 数据库关系系统中具有把数 据库从错误状态恢复到某一已知的正确状态 (亦称为一致状态或完整状态 )的功能,就是数据库的恢复。 41 【正确答案】 编译器 42 【正确答案】 16 43 【正确答案】 base class derivel class derive2 class 44 【正确答案】 内联 45 【正确答案】 二义性 46 【正确答案】 public 47 【正确答案】 12函数模板 13源代码 14数据类型 48 【正确答案】 有格式

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

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

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