【计算机类职业资格】计算机二级(C++)22及答案解析.doc

上传人:outsidejudge265 文档编号:1337797 上传时间:2019-10-17 格式:DOC 页数:14 大小:78.50KB
下载 相关 举报
【计算机类职业资格】计算机二级(C++)22及答案解析.doc_第1页
第1页 / 共14页
【计算机类职业资格】计算机二级(C++)22及答案解析.doc_第2页
第2页 / 共14页
【计算机类职业资格】计算机二级(C++)22及答案解析.doc_第3页
第3页 / 共14页
【计算机类职业资格】计算机二级(C++)22及答案解析.doc_第4页
第4页 / 共14页
【计算机类职业资格】计算机二级(C++)22及答案解析.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、计算机二级(C+)22 及答案解析(总分:1765.00,做题时间:90 分钟)一、选择题(每小题 2分,共 70分) 下列各(总题数:25,分数:1750.00)1.若二维数组 a有 m列,则计算任一元素 a i j 在数组中相对位置的公式为( )。 (假设 a0)0位于数组的第一个位置上)(分数:70.00)A.0B.1C.2D.32.与语句 coutendl;不等价的是( )。(分数:70.00)A.cout =D.private cout printf13.下面程序的运行结果为( )。 # include iostreamh void main( ) for(int a = 0,x =

2、0;! xa = 10;a+) a+; cout a endl; (分数:70.00)A.10B.11C.12D.014.下面程序的运行结果是( )。 # include iostreamh void main( ) int num=1; intref=num; ref=ref+2; cout num; num=num+3; cout ref endl; (分数:70.00)A.关系模型B.层次模型C.网状模型D.以上皆非15.以下关于 C+语言类的说法中正确的是( )。(分数:70.00)A.C+语言的默认访问权限是 privateB.C+语言中的类定义,用户一定要自己定义一个构造函数用于实

3、例化类C.C+语言中的成员函数的实现部分一定要写在类定义外D.C+语言中的类不能够嵌套定义16.在 C+语言中,封装是借助于什么达到的?(分数:70.00)A.结构B.类C.数组D.函数17.类的析构函数是在什么时候调用的?(分数:70.00)A.ap-aB.,*(ai)C.piD.a1018.下列程序是用来判断数组中特定元素的位置所在,则输出结果为( )。 #includeconioh #includeiostreamh int fun(in *s,int t,int *k) int i; * k=0; for(i=0;i t;i+) if(s *k si) *k=i; return S *

4、k; void main( ) int a10= 876,675,896,101,301,401,980,431,451,777 ,k; fun(a,10,中的意思是 i=i+1;它其实是个合法的赋值语句。选项 A) a= =1和选项 D) !(+ +a!=b-)都是布尔逻辑表达式,不属于赋值表达式的范畴。 18.下列程序是用来判断数组中特定元素的位置所在,则输出结果为( )。 #includeconioh #includeiostreamh int fun(in *s,int t,int *k) int i; * k=0; for(i=0;i t;i+) if(s *k si) *k=i;

5、return S *k; void main( ) int a10= 876,675,896,101,301,401,980,431,451,777 ,k; fun(a,10,& k); cout k , ak; (分数:70.00)A.7,431B.6C.980D.6,980 解析:本题中直接使用指针变量 k,但在使用时要注意对 k的指针运算,此外,一开始应认为。k 的值为数组中的某一下标值,即*k=0。19.下面关于数组的初始化正确的是( )。(分数:70.00)A.char str :a,b,c B.char str2=a,b,cC.char str23=a,b,c,d,e,fD.cha

6、r str( )=a,b,c解析:本题考查的是字符数组的初始化。选项 B)中用 3个元素初始化大小为 2的数组,越界了;选项 C)中应该是 2行 3列的数组,题中使用 3行 2列初始化;选项 D)中数组合后应用方括号。20.若定义 intk=7,x=12;,则能使值为 3的表达式是( )。(分数:70.00)A.Alt+F2B.ablC.随机出儿个数D.不发生变化 解析: 此题是有关 KeyDown事件的题目,KeyDown 是当一个键被按下时所产生的事件,而 KeyUp是松开被按的键时产生的事件,如果要判断是否按下了某个转换键,可以用逻辑运算符 And。例如:先定义了下面 3个符号常量:Co

7、nst Shift=1,Const Ctrl=2,Const Alt=4;然后用下面的语句判断是否按下Shift、Ctrl、Alt 键; 如果 Shift And Shift 0,则按下了 Shift键; 如果 Shift And Ctrl 0,则按下了 Ctrl键; 如果 Shift And Alt 0,则按下了 Alt键; 这里的 Shift时 KeyDown的第二个参数;此事件过程中的 If后的条件语句如果为真, 则是按下了 Alt+F2,而本题目中是按下了 Shift+F2,所以不执行 Then语句,即文本框的内容无变化。 21.存在定义 int a10,x,*pa;,若 pa:&a0

8、,下列的哪个选项和其他 3个选项不是等价的? (分数:70.00)A.x=* pa; B.x=* (a+1);C.x=* (pa+1);D.x=a1;解析:本题考查的是数组和指向数组的指针之间的关系,选项 A)中 x是 被数组 a的第一个元素赋值,其余的都是被数组 a的第二个元素赋值。22.C+语言类体系中,不能被派生类继承的有( )。(分数:70.00)A.转换函数B.构造函数 C.虚函数D.静态成员函数解析:派生类对象的数据结构是由基类中说明的数据成员和派生类中说 明的数据成员共同构成,所以不能继承基类的构造函数,必须重新定义。23.函数模板:template T add(T x,T y)

9、 return x+y; 下列对 add函数的调用不正确的是( )。 (分数:70.00)A.add(1,2)B.add(1,2)C.add(10,2) D.add(10,20)解析:对于 template Tadd(T x,T y) return x + y; 调用时町以省略模板实参的声明,但是要求x和 y的数据类型必须是一样的。 24.以下叙述正确的是( )。(分数:70.00)A.函数可以嵌套定义但不能嵌套调用B.函数既可以嵌套调用也可以嵌套定义C.函数既不可以嵌套定义也不可以嵌套调用D.函数可以嵌套调用但不可以嵌套定义 解析:在 C+语言中,所有的函数都是平行的,即在定义函数时是互相独

10、立的,一个函数并不从属于男一个函数,即函数不能嵌套定义,但可以互相调用。但是不能调用 main( )函数。25.如果表达式-X+y 中,-是作为成员函数重载的,+是作为成员函数重载的,则该表达式还可为( )。(分数:70.00)A.将继承这个类的所有行为B.子类将自动成为监听器C.不必实现任何不需要的 WindowListener方法 D.为了层次清楚,美观大方解析:数据封装就是数据抽象,即信息隐藏;而继承是实现程序复用的基础。26.数据处理的最小单位是( )。(分数:-1.00)A.数据B.数据元素C.数据项 D.数据结构解析:数据处理的最小单位是数据项;由若干数据项组成数据元素;而数据是指

11、能够被计算机识别、存储和加工处理的信息载体;数据结构是指数据之间的相互关系和数据运算。故正确答案为选项 C)。 27.下列不属于软件工程的 3个要素的是( )。(分数:-1.00)A.工具B.过程C.方法D.环境 解析:软件工程包括 3个要素,即方法、工具和过程。方法是完成软件工程项目的技术手段;工具支持软件的 开发、管理、文档生成;过程支持软件开发的各个环节的控制、管理。28.下列 SQL语句中,用于修改表结构的是( )。(分数:-1.00)A.ALTER B.CREATEC.UPDATED.INSERT解析:SQL 语句中凡创建都用 CREATE,删除都用 DROP,改变用 ALTER,再

12、跟类型和名字附加子句。29.下列有关数据库的描述,正确的是( )。(分数:-1.00)A.数据库是一个 DBF文件B.数据库是一个关系C.数据库是一个结构化的数据集合 D.数据库是一组文件解析:数据库(Database,简称 DB)是数据的集合,它具有统一的结构形式并存放 统一的存储介质内,是多种应用数据的集成,并可被各个应用程序所共享。数据库中的数据具有“集成”、“共享”的特点。30.在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有( )。(分数:-1.00)A.特定的数据模型 B.数据无冗余C.数据可共享D.专门的数据管理软件解析:在文件系统中,相互独立的记录其内部

13、结构的最简单形式是等长同格式记录的集合,易造成存储空间大量浪费,不方便使用。而在数据库系统中,数据是结构化的,这种结构化要求在描述数据时不仅描述数据本身,还要描述数据间的关系,这正是通过采用特定的数据模型来实现的。31.下列不属于软件工程的 3个要素的是( )。(分数:-1.00)A.工具B.过程C.方法D.环境 解析:软件工程包括 3个要素,即方法、工具和过程。方法是完成软件工程项目的技术手段;工具支持软件的 开发、管理、文档生成;过程支持软件开发的各个环节的控制、管理。32.下列数据模型中,具有坚实理论基础的是( )。(分数:-1.00)A.层次模型B.网状模型C.关系模型 D.以上 3个

14、都是解析:关系模型比格式化模型(网状模型和层次模型)有以下方面的优点,即数据结构比较简单、具有很高的数据独立性、可以直接处理多对多的联系,以及有坚实的理论基础。33.程序的 3种基本控制结构是( )。(分数:-1.00)A.过程、子过程和分程序B.顺序、选择和重复 C.递归、堆栈和队列D.调用、返回和转移解析:采用结构化程序设计方法编写程序,可使程序结构良好、易读、易理解、易维护,它包括 3种基本控制结构,分别是顺序结构、选择结构和重复结构(又称循环结构)。34.下列叙述中,不属于测试的特征的是( )。(分数:-1.00)A.测试的挑剔性B.完全测试的不可能性C.测试的可靠性 D.测试的经济性

15、解析:软件测试的目标是在精心控制的环境下执行程序,以发现程序中的错误,给出程序可靠性的鉴定。它有 3个方面的重要特征,即测试的挑剔性、完全测试的不可能性及测试的经济性。其中没有测试的可靠性这一说法。35.完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是 ( )。(分数:-1.00)A.黑箱测试法 B.白箱测试法C.错误推测法D.安装测试法解析:黑箱测试方法完全不考虑程序的内部结构和内部特征,而只是根据功能导出测试月例。注意:白箱测试是根据对程序内部逻辑结构的分析来选取测试用例,白箱测试也称为逻辑覆盖测试,故选项 B)不正确;错误推测法月是黑箱测试所使用的一种具体的

16、方法,故选项 C)不正确;安装测试是测试层次中的一种,它属于高级测试,故选项 D)不正确。三、填空题(每空 2分,共 30分)(总题数:10,分数:30.00)36.语句 int * i;i=new int 10;,释放指针 i的语句是 1。(分数:3.00)填空项 1:_ (正确答案:delete i)解析:申请内存空间时用 new,释放内存空间用 delete。37.已知程序的结果为 123,请填空。 #includeiostream.h templateclassT classA public: Tx,y,z; voiddisplay( )coutx“y“z; ; voidmain( )

17、 Aintal; 1 2 3 al.display( ); (分数:3.00)填空项 1:_ (正确答案:a1.x=1;)解析:通过程序的结果知道数据类型是 int,所以调用时声明模板实参为 int的,再对 x,y,z 进行赋值。38.C+程序是从 1 函数开始执行的。(分数:3.00)填空项 1:_ (正确答案:main)解析:所有的 C+语言程序都是从 main函数刀:始执行,而普通函数的存在是为了 简化 main函数的复杂程度。 39.要采用“cin,tout”进行输入输出时,必须包含的头文件是 1。(分数:3.00)填空项 1:_ (正确答案:iostreamh)解析:iostream

18、h 是与输入输出有关的类文件。 40.程序 #include“ iostreamh“ void main1 int i=10; jnt j=5; cout j+i+ end1; 的结果为 2 (分数:3.00)填空项 1:_ (正确答案:15)解析:i+为先做与 i有关的运算后,i 自加 1,而+i 是先给 i加 1再进行与 i有关的操作41.请定义一个函数名为 A,返回值为 int,没有参数的纯虚函数的定义是 1。(分数:3.00)填空项 1:_ (正确答案:virtual int A-|_|-=0;)解析:C+语言中的纯虚函数是一种特殊的函数,它没有自己的定义,只有声明,纯虚函数与虚函数声

19、明的不同就在于在函数后面加上了“=0”。42.程序 #include“ iostreamh“ void main1 int i=10; jnt j=5; cout j+i+ end1; 的结果为 2 (分数:3.00)填空项 1:_ (正确答案:15)解析:i+为先做与 i有关的运算后,i 自加 1,而+i 是先给 i加 1再进行与 i有关的操作43.下面程序的输出结果是 1。 #includeiostream.h void main2 int a6=1,2,3,4,5,6; for(int i=0;i填空项 1:_ (正确答案:1 2 3 4 5)解析:本题考查的是考生使用简单循环输出数组元

20、素的能力,因为结束条件是 i44.下列程序在构造函数和析构函数中申请和释放类的数据成员 int*a,申请时使用形参 b初始化 a,请填空。 classA public: A(intb); A( ); private: int*a; ; A:A(intb) 1; A:A( ) 2; (分数:3.00)填空项 1:_ (正确答案:a=new)填空项 1:_ (正确答案:int(b))解析:C+中 new和 delete的使用有如下几种:a=new int;delete a;a=new int(10);deletea;a=new int10;deletea;。 45.以下程序的结果为 1。 #inc

21、lude”iostreamh” templatetypename T T total(T * data) T s=0; while( * data) s+= * data +; return s; int main2 int x = 2,4,6,8,0,12,14,16,18 ; cout total(x); return 0; cout end1; (分数:3.00)填空项 1:_ (正确答案:20)解析:本题考查模板函数的运用。要理解 * data 的含意。 46.冒泡排序算法在最好的情况下的元素交换次数为 1。(分数:-1.00)填空项 1:_ (正确答案:0)解析:根据冒泡排序算法思想

22、可知,若待排序的初始序列为“正序”序列,则只需进行一趟排序,在排序过程中进行 n-1次关键字间的比较,且不移动和交换记录,这种情况是冒泡排序的最好情况,故冒泡排序算法在最好的情况下的元素交换次数为 0。47. 1是从二维表列的方向进行的运算。(分数:-1.00)填空项 1:_ (正确答案:关系运算)解析:本题考查了关系运算的基本知识。在关系模型的数据语言中,一般除了运用常规的集合运算,(并、交、差、笛卡尔积等)外,还定义了一些专门的关系运算,如投影、选择、连接等。前者是将关系 (即二维表)看成是元组的集合,这些运算主要是从二维表的行的方向来进行的;后者主要是从二维表的列的方向来进行的运算。两者

23、统称为关系代数。 48.单元测试又称模块测试,一般采用 1 测试。(分数:-1.00)填空项 1:_ (正确答案:白盒法)解析:软件测试过程一般按 4个步骤进行,即单元测试、集成测试、验收测试和系统测试。单元测试的技术可以采用静态分析和动态测试。对动态测试多采用白盒动态测试为主,辅之以黑盒测试。 49.实体之间的联系可以归结为一对一联系、一对多(或多对多)的联系与多对多联系。如果一个学校有许多教师,而一个教师只归属于一个学校,则实体集学校与实体集教师之间的联系属于 1 的联系。(分数:-1.00)填空项 1:_ (正确答案:一对多(或 1:N))解析:50.当线性表采用顺序存储结构实现存储时,其主要特点是 1。(分数:-1.00)填空项 1:_ (正确答案:逻辑结构中相邻的结点在存储结构中仍相邻)解析:顺序存储结构的主要特点是数据元素按线性表的逻辑次序,依次存放在一组地址连续的存储单元中。在存储单元中各元素的物理位置和逻辑结构中各结点间的相邻关系是一致的。

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

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

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