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

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

1、国家二级( C+)笔试模拟试卷 8及答案与解析 1 单个用户使用的数据视图的描述称为 ( )。 ( A)外模式 ( B)概念模式 ( C)内模式 ( D)存储模式 2 在线性表的下列运算中,不改变数据元素之间结构关系的运算是 ( )。 ( A)插入 ( B)排序 ( C)删除 ( D)定位 3 在任意一棵二叉树的前序序列和后序序列中,各叶子之间的相对次序关系 ( )。 ( A)不一定相同 ( B)都不相同 ( C)互为逆序 ( D)都相同 4 在各种不同的软件需求中,功能需求描述了 用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,而从各个角度对系统的约束和限制,反映了应用对软

2、件系统质量和特性的额外要求的是指 ( )。 ( A)用户需求 ( B)非功能需求 ( C)业务需求 ( D)功能要求 5 在软件生存周期中,不属于软件定义阶段的是 ( )。 ( A)问题定义 ( B)系统设计 ( C)可行性研究 ( D)需求分析 6 软件调试的目的是 ( )。 ( A)暴露错误 ( B)开发软件的潜能 ( C)提高软件的性能 ( D)改正错误 7 人们已经 提出了许多种类型的数据依赖,其中最重要的是函数依赖和 ( )。 ( A)数据依赖 ( B)多值依赖 ( C)单值依赖 ( D)数值依赖 8 数据的逻辑独立性是指 ( )。 ( A)存储结构与物理结构的逻辑独立性 ( B)数

3、据与存储结构的逻辑独立性 ( C)数据与程序的逻辑独立性 ( D)数据元素之间的逻辑独立性 9 在数据库模型中,通常把网状模型和 ( )称为非关系模型。 ( A)层次模型 ( B)关系模型 ( C)树状模型 ( D)顺序模型 10 从数据库中获取数据称为 ( )。 ( A)创建数据 ( B)查询数据 ( C)读出数据 ( D)修改数据 11 按照标识符的要求,开头的符号不能是 ( )。 ( A)大写字母 ( B)小写字母 ( C)数字字符 ( D)下划线 12 在 32位计算机中,一个 int型数据所占用的内存长度为 ( )字节。 ( A) 4 ( B) 2 ( C) 6 ( D) 8 13

4、语句 int i=2.8*6; 中整型常量 i定义后赋初值的结果是 ( )。 ( A) 12 ( B) 16 ( C) 17 ( D) 18 14 下列声明语句中没 有起到定义作用的是 ( )。 ( A) int count; ( B) const double pi=3.14159; ( C) extern long index; ( D) int max(int a,int b)return a b? a:b; 15 下列关于 dowhile 语句的叙述中正确的是 ( )。 ( A) dowhile 语句所构成的循环不能用其他语句构成的循环来代替 ( B) dowhile 语句所构成的循环

5、只能用 break语句跳出 ( C) dowhile 语句所构成的循环只有在 while后面的表达式非零时才结束 ( D) dowhile 语句所构成的循环只有在 while后面的表达式为零时才结束 16 以下程序的输出结果是 ( )。 #include iostream using namespace std; int main() int a=1,b; switch(a) case 1:b=30; case 2:b=20; case 3:b=10; default:b=0; cout b endl; return 0; ( A) 30 ( B) 20 ( C) 10 ( D) 0 17 执

6、行下面程序后输出的结果是 ( )。 #include iostream using namespace std; int main() int a44=1,2,3,-4,7,-12,-13,8,-21,9,0,-24,-31,10,-33,11; int i,j,s=0; for(i=0;i 4;i+) for(j=0;j4;j+) if(aij =0)continue; s+=aij; coat s endl; return 0; ( A) 141 ( B) -138 ( C) -1 ( D) 75 18 有以下语句: int a10=0,1,2,3,4,5,6,7,8,9, *p=a;。下

7、列对 a数组元素的引用 (其中 0i 10)不正确的是 ( )。 ( A) ap-a ( B) Pi ( C) *( cout *(ptr+4) endl; ( A) 0 ( B) 69 ( C)字符 E的地址 ( D)一个空字符 20 在不同文件的函数中,对非静态全局变量的引用要加的关键字是 ( )。 ( A) auto ( B) register ( C) extern ( D) static 21 下列有关重载函数的说法中正确的是 ( )。 ( A)重载函数名可以不同 ( B)重载函数必须具有不同的形参列表 ( C)重载函数形参个数必须不同 ( D)重载函数必须具有不同的返回值类型 22

8、 对下列程序的描述正确的是 ( )。 #include iostream using namespace std; int fuc(int,int); int main() cout fuc(1,10) endl; return 0; int fuc(int x,int y) return x*x+y*y; ( A)该函数的定义和调用方式都是错误的 ( B)该函数的定义和调用方式都是正确的 ( C)该函数调用方式正确,但函数定义错误 ( D)函数定义正确,但函数调用方式错误 23 下列关于类与对象的说法 不正确的是 ( )。 ( A)对象是类的一个实例 ( B)任何一个对象只能属于一个具体的类

9、 ( C)类与对象的关系和数据类型与变量的关系相似 ( D)一个类只能有一个对象 24 类 MyClas的定义如下: class MyClas public: MyClas() MyClas(int a) value=new.int(i); int *value; ; 若要对类中的 value赋值,则下面的语句中正确的是 ( ) ( A) MyClas x;x.value=10; ( B) MyClas x; *x.value=10; ( C) MyClas x;x. *value=10; ( D) MyClas x(10); 25 假定 MyClas为一个类,则该类的拷贝构造函数的声明语句为

10、 ( )。 ( A) MyClas ( B) const MyClas ( C) MyClas(const MyClas ( D) MyClas(MyClas 26 下面关于友元函数的描述 正确的是 ( )。 ( A)友元函数不能访问类的私有成员 ( B)友元函数破坏了类的封装性和隐藏性 ( C)友元函数是类的成员函数 ( D)友元函数的实现必须在类的内部定义 27 下面关于虚函数的描述正确的是 ( )。 ( A)虚函数是一个静态成员函数 ( B)虚函数是一个非成员函数 ( C)虚函数既可以在函数说明时定义,也可以在函数实现时定义 ( D)派生类的虚函数与基类中对应的虚函数具有相同的参数个数和

11、类型 28 下列各函数的说明中,表示纯虚函数的是 ( )。 ( A) virtual int fuc(int); ( B) void fuc(int)=0; ( C) virtual void fuc()=0; ( D) virtual void fuc(int) 29 C+流中重载的运算符 “ ”是一个 ( )。 ( A)用于输出操作的非成员函数 ( B)用于输入操作的非成员函数 ( C)用于输出操作的成员函数 ( D)用于输入操作的成员函数 30 关于类模板,下列表述中不正确的是 ( )。 ( A)类模板的成员函数都是模板函数 ( B)类模板本身在编译中不会生成任何代码 ( C)类模板只能

12、有虚拟类型参数 ( D)用类模板定义一个对象时,不能省略实参 31 C+源文件中包含的输入 /输出头文件为 ( )。 ( A) stdio.h ( B) stdafx.h ( C) iostream.h ( D) stream.h 32 假定有如下程序: #include iostream using namespace std; int s =0; class example static int n; public: example(int i) n=i; static void add( ) s+=n; ; int example:n=0; int main( ) example a(2

13、),b(5); example:add(); cout s endl; return 0; 程序运行后输出结果为 ( )。 ( A) 2 ( B) 3 ( C) 7 ( D) 5 33 下列关于运算符重载的说法中,不正确的是 ( )。 ( A)重载不能改变运算符的优先级,但可以通过加括号的方式改变其计算顺序 ( B)重载不能改变运算符的结合律和操作数的个数 ( C)能够创建新的运算符,并非只有现有的运算符才能被重载 ( D)运算符重载不能改变运算符用于内部类型对象时的含义,它只能和用户自定义的类型的对象一起使用,或者用于用户自定义类型的对象和内部类型的对象混合使用时 34 下列不能作为函数返回

14、值的是 ( )。 ( A) void ( B) long ( C) new ( D) int 35 要定义数组 a,使得其中每个元素的数据依次为 3, 9, 4, 8, 0, 0, 0,错误的定义语句是 ( )。 ( A) int a=3,9,4,8,0,0,0; ( B) int a9=3,9,4,8,0,0,0; ( C) int a=3,9,4,8; ( D) int a7=3,9,4,8,0,0,0; 36 耦合和内聚是评价模块独立性的两个主要标准,其中反映了模块内各成分之间联系的是【 】。 37 一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的【 】。 38

15、 按 “先进后出 ”原则组织数据的数据结构是【 】。 39 软件是程序、数据和【 】的集合。 40 在数据库的概念结构设计中,常用的描述工具是【 】。 41 常量和变量的区别是:常量在程序运行中值不变,因此它的值在定义时便进行初始化;而尘量的值是可以改变的,【 】类型的变量存储的是变量的地址。 42 以 /*开始, */结束,在 /*和 */之间的部分即为【 】。 43 下面程序的输出结果是【 】。 #include iostream using namespace std; int d=1; fun(int p) static int d = 5; d+ =p; cout d; return

16、 (d) ; void main ( ) int a =3; cout fun ( a + fun (d) ) endl; 44 下面函数返回数组中最大元素的下标,数组中元素个数为 t,将程序补充完整。 int findmax(int s,int t) int k,p; for(p=0,k=p;p t;p+) if 【 】 k=p; return k; 45 void类型的指针是指指针指向的变量的数据类型是不固定的。对该指针进行操作时,应进行【 】。 46 在定义 类的对象时, C+程序将自动调用该对象的【 】函数初始化对象自身。 47 由于静态成员函数不属于某个具体的对象,但它属于某个【 】

17、,所以它没有this指针。 48 在派生类中使用基类的成员,可以显式地使用【 】来使用基类成员。 49 输出带引号的字符串 “hello world!”的语句是【 】。 50 将函数模板中的参数实例化后,函数模板变为【 】。 国家二级( C+)笔试模拟试卷 8答案与解析 1 【正确答案】 A 【试题解析】 单个用户使用的数据视图的描述称为外模式。 2 【正确答案】 D 【试题解析】 选项 A插入和选项 C删除因为有数据变更,因此会改变数据元素之间的结构关系,而排序则因为顺序的改变会改变数据元素之间的结构关系。 3 【正确答案】 D 【试题解析】 前序遍历序列的顺序是先根,再左子树,最后右子树;

18、后序遍历序列的顺序是先左子树,再右子树,最后根。因此各叶子之间的相对次序关系在前序序列和后序序列中是一样的。 4 【正确答案】 B 【试题解析】 在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案 脚本中予以说明,非功能需求是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。 5 【正确答案】 B 【试题解析】 软件开发共有:需求分析,总体设计,详细设计,系统实现,测试和验收等几个阶段。系统设计属于设计阶段。而问题定义、可行性研究和需求分析都属于同一个阶段,即需求分析 (或称软件定义 )阶段。 6 【正确答案】 D 【试题解析】 调试

19、的目的是定位错误、找出错误的原因并修改程序以修正错误。 7 【正确答案】 B 【试题解析】 人们已经提出了许多种类型的数 据依赖,其中最重要的是函数依赖和多值依赖。 8 【正确答案】 C 【试题解析】 数据的逻辑独立性是指数据与程序的逻辑独立性,而数据与存储结构以及存储结构和物理结构之间都是相关联的。 9 【正确答案】 A 【试题解析】 数据库模型分为层次模型、网状模型和关系模型,其中层次模型和网状模型称为非关系模型。 10 【正确答案】 B 【试题解析】 从数据库中获取数据称为查询数据。 11 【正确答案】 C 【试题解析】 C+规定,标识符由大小写字母、数字字符和下划线组成,并且以字母或下

20、划线开始。因此,本题正确答案为 C。 12 【正确答案】 A 【试题解析】 在 32位计算机上 int型数据占用 4个字节的内存长度。其取值范围为 -231 231-1内的整数。 13 【正确答案】 B 【试题解析】 C+中数据类型转换有两种类型,即隐式类型转换和显式类型转换。隐式类型转换是由编译器自动完成的类型转换;显示类型转换是由程序员显式指出的类型转换。本题中是隐式类型转换,浮点数转换为整数,是直接取浮点数的整数部分,而不是四舍五入。故答案为 B。 14 【正确答案】 C 【试题解析】 在 C+程序中,一个名称在使用之前必须先被声明。声明的目的是告诉编译器某个名称所指代的实体类型。选项

21、A是对变量的声明和定义,选项 B是常量的声明、定义和初始化,选项 D是函数的声明和定义,选项 C是对外部变量 index进行了声明,而没有进行定义。 15 【正确答案】 D 【试题解析】 for语句、 while语句以及 dowhile 语句构成的循环可以相互转换。 dowhile 循环的结束条件是 while后面的表达式为 0(即循环条件为 “假 ”)。 16 【正确答案】 D 【试题解析】 由 于在 case分支的语句后没有出现跳转语句,所以程序将一直执行到 switch语句结束。即逐步给变量 b赋值 30、 20、 10和 0,最后 b的值为 0。 17 【正确答案】 B 【试题解析】

22、在内层循环中,遇到大于等于 0的数,继续执行下次循环,否则执行 s+=aij,即把其值累加并保存在变量 s中。所以本题双重循环的功能是:计算数组中所有负数的累加和。 18 【正确答案】 D 【试题解析】 选项 A中, p为指针,数组名 a代表数组的首地址,所以 p-a就是指针到数组首地址的偏移量。选项 B中, pi等 价于 ai。选项 C中, 。 29 【正确答案】 B 【试题解析】 C+流的输入运算符 “ ”和输出运算符 “ ”只能作为非成员函数重载,所以选项 B是正确的。 30 【正确答案】 C 【试题解析】 C+中可以为类模板的参数设置默认值,所以选项是 C不正确的。 31 【正确答案】

23、 C 【试题解析】 C+中使用流类库进行输入输出操作时,要包含 iostream.h头文件。而 C语言中进行输入输出操作时要包含 stdio.h文件。 32 【正确答案】 D 【试题解析】 程序中定义一个类 example,它包括一个静态数据成员 n和一 个静态成员函数 add(),并在类的构造函数中给类的私有静态数据成员 n赋值。在主函数 main()中,定义对象 a (2)时,通过构造函数使静态数据成员 n的值变为 2;在定义对象 b(5)时,通过构造函数使静态数据成员 n=5,再执行 example:add()使全局变量 s=5。 33 【正确答案】 C 【试题解析】 只有该选项不正确,

24、其他都正确,只能对现有的运算符重载。 34 【正确答案】 C 【试题解析】 在 C+中, new是运算符,因此不能作为函数的返回值类型参与函数的定义。 35 【正 确答案】 C 【试题解析】 选项 C的定义方式中, a数组只包含 4个元素,因此选项 C不符合题意要求。而其他 3个选项中的定义方式都可以实现题目的要求。 36 【正确答案】 内聚 【试题解析】 模块之间的耦合表明两个模块之间互相独立的程度;模块内部之间的关系是否紧密,称为内聚,反映模块内各成分之间的联系。 37 【正确答案】 可重用性 【试题解析】 本题考查继承的优点:相似的对象可以共享程序代码和数据结构,从而大大减少了程序中的冗

25、余,提高软件的可重用性。 38 【正确答案】 栈 【试题解析】 栈是按照 “先进后出 ”的原则组织的数据结构。 39 【正确答案】 相关文档 【试题解析】 计算机软件是计算机系统中与硬件相互依存的另一部分,是包括程序、数据及相关文档的完整集合。 40 【正确答案】 E-R图 【试题解析】 概念结构设计要借助于某种方便又直观的描述工具, E-R图是设计概念模型的有力工具。 41 【正确答案】 指针 【试题解析】 指针类型的变量存储的是变量的地址。 42 【正确答案】 注释部分 【试题解析】 使用 /*/注释必须要匹配。 43 【正确答案】 61515 【试题解析】 先调用 fun(d),d=1执

26、行,局部静态变量 d的值为 6,输出 6,返回值为 6;再调用 fun(a+fun(d),即 fun(9)执行,静态局部变量的值为 15,输出15,返回值为 15;最后再执行 main方法中的输出语句,输出 fun(a+fun(d)的值15。所以程序输出结果为 61515。 44 【正确答案】 (sp sk) 【试题解析】 分析程序其他部分, k存放最大元素的下标。 45 【正确答案】 强制类型转换 【试题解析 】 void类型的指针是指指针指向的变量的数据类型是不固定的,使用时需进行强制类型转换。 46 【正确答案】 构造 【试题解析】 构造函数用于对对象的初始化,构造函数与类同名,无返回值

27、。 47 【正确答案】 类 【试题解析】 使用 static关键字声明的函数成员是静态的,静态成员函数属于整个类,由同一个类的所有对象共同维护,为这些对象所共享。 48 【正确答案】 成员名限定符 【试题解析】 程序要求显式调用某个类的成员时,必须使用成员名限定符。其一般格式:类名 :成员名 或 类名 :成员名 (参数表 ) 49 【正确答案】 cout “hello world!”“; 【试题解析】 使用转义字符 “”“输出引号。 50 【正确答案】 模板函数 【试题解析】 函数模板的数据类型参数标识符实际上是一个类型形参,在使用函数模板时,要将这个形参实例化为确定的数据类型。将类型形参实例化的参数称为模板实参,用模板实参实例化的函数称为模板函数。模板函数的生成就是将函数模板的类型形参实例化的过程。

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

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

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