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

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

1、计算机二级(C+)17 及答案解析(总分:1765.00,做题时间:90 分钟)一、选择题(每小题 2 分,共 70 分) 下列各(总题数:25,分数:1750.00)1.类 A 是类 B 的友元,类 B 是类 C 的友元,则下列说法正确的是( )。(分数:70.00)A.类 B 是类 A 的友元B.类 C 是类 A 的友元C.类 A 是类 C 的友元D.以上都不对2.下面程序的结果为( )。 #includeiostream.h intC; classA private: inta; staticintb; public: A( )a=0;c=0; voidseta( )a+; voidse

2、tb( )b+; voidsetc( )c+; voiddisplay( )couta“b“c; ; intA:b=0; voidmain( ) Aa1,a2; a1.seta( ); a1.setb( );a1.setc( ); a2.seta( ); a2,setb( ); a2.setc( ); a2.display( ); (分数:70.00)A.2 3 4 3 4 5B.1 2 3 3 4 5C.1 2 3 2 4 6D.2 3 4 4 5 63.若执行下面的程序时,从键盘上输入 5 和 2,则输出结果是( )。 #includeiostreamh: void main( ) int

3、a,b,k; cin a b; k=a; if(a B) k=a%b; else k=b% a; cout k end1; (分数:70.00)A.选择B.联接C.并D.笛卡儿积4.可以用 p.a 的形式访问派生类对象 p 的基类成员 a,其中 a 是( )。(分数:70.00)A.私有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.公有继承的公有成员5.C+语言中标点符号中表示一条预处理命令开始的是( )。(分数:70.00)A.#B.;C.6.拷贝构造函数的参数一般是( )。(分数:70.00)A.“=a+b+c/3”B.“( a + b + c )/3”C.“=( a +

4、b + c )/3”D.以上表达式均错7.若已定义: inta=0,1,2,3,4,5,6,7,8,9,*p=a,i; 其中 0i9,则对 a 数组元素不正确的引用是( )。 (分数:70.00)A.ap-aB.,*(ai)C.piD.a108.有如下程序: #includeiostreamh long fib(int n) if(n 2) return(fib(n-1)+fib(n-2) ); else return(2); void main( ) cout fib(3); 该程序的输出结果是( )。 (分数:70.00)A.2B.4C.6D.89.下列程序的输出结果是( )。 #incl

5、ude iostreamh int b=2; int func(int *A) b + = *a;return(B) ; void main( ) int a=2,res=2; res + = func(1 表示控件中只有水平 滚动条;2,表示控件中只有垂直滚动条;3,同时具有水平和垂直潦动条。 16.下列关于虚基类的描述,错误的是( )。(分数:70.00)A.SELECT * FROM 订购单 WHERE 供应商号 NULLB.SELECT * FROM 订购单 WHERE 供应商号=NULLC.SELECT * FROM 订购单 WHERE 供应商号 IS NULL D.SELECT *

6、 FROM 订购单 WHERE 供应商号 IS NOT NULL解析:“价格在 30 万元60 万元之间”要使用 And 语句来表示“与”。17.有以下程序 #includeiostreamh void ss(char*s,char t) while(*s) if(*S=t)*s=t-a+A; s+; void main( ) char strl100=“abcddfefdbd“,c=d: ss(strl,c) ;coutstrl; 程序运行后的输出结果是( )。 (分数:70.00)A.ABCDDEfEBDB.abcDDfefDbD C.abcAAfefALbAD.Abcddfefdbd解析

7、:在内存中,字符数据以 ASCII 码存储,它的存储形式就与整数的存储形式相类似。C+浯言使字符型数据和整型数据之间可以通用。也可以对字符数据进行算术运算,此时相当于对它们的 ASCII 码进行算术运算,在本题中,s+相当于 s=s +1,即让 s 指向数组中的下一个元素。18.下列关于多态性的描述,错误的是( )。(分数:70.00)A.INDEXON 籍贯,学号 TO JGXHB.INDEXON 籍贯+学号 TO JGXHC.INDEXON 籍贯,STR(学号,4)TO JGXHD.INDEXON 籍贯+STR(学号,4)TO JGXH 解析:PasswordChar 属性指定文本框控件内

8、是显示用户输入的字符还是显示占位符。当为属性指定一个占位符(例如本题中的星号“*”) ,文本框中只显示占位符。由于一个汉字占两个字符位,因此本题在文本框中将显示 8 个星号。19.关于构造函数 A( )的拷贝构造函数正确的是( )。(分数:70.00)A.B.#C.!D. 解析:下面是常量类型及其类型说明符: 整型 长整型& 单精度浮点数! 双精度浮点数# 货币型 字符串型$ 字节型、布尔型、日期型、对象及变体型常量没有类型说明符。 20.C+语言类体系中,不能被派生类继承的有( )。(分数:70.00)A.转换函数B.构造函数 C.虚函数D.静态成员函数解析:派生类对象的数据结构是由基类中说

9、明的数据成员和派生类中说 明的数据成员共同构成,所以不能继承基类的构造函数,必须重新定义。21.执行下列程序段,结果是( )。 #includeiostreamh void main( ) int x=40; char y=C; int n; n=(x&0xff)&c(y B); cout n; (分数:70.00)A.在 SQL 中可以进行内部联接、左联接、右联接和全联接B.SQL 的超联接运算符“*=”代表左联接,“=*”代表右联接C.Visual FoxPro 同样支持超联接运算符“*=”和“=*” D.利用全联接,即使两个表中的记录不满足联接条件,也会在目标表或查询结果中出现,只是不满

10、足条件的记录对应部分为解析:在 Java 语言中,沙箱模型也被叫做安全模型。其基本概念就是题于中所叙述的。注意:Java 平台中的安全管理器负责对 Applet 实施控制,确定 Applet 能够访问的资源。22.C+语言对 C 语言做了很多改进,C+语言相对于 C 语言的最根本的变化是( )。(分数:70.00)A.增加了一些新的运算符B.允许函数重载,并允许设置缺省参数C.规定函数说明符必须用原型D.引进了类和对象的概念 解析:C+语言最重要的特点是其为一种面向对象的程序设计语言,但是 C+语 言也包含了全部的 c 语言的特征。23.下面关于数组的初始化正确的是( )。(分数:70.00)

11、A.0 B.22C.12D.10解析:本题考查对于运算符“&”和“ * ”的运用。“&”是求址运算符,“ * ”是指针变量的说明符,说明该变量只能存放所定义类型变量的地址。本题中选项 D)中的第一和第三项所表达的是同样的意思。注意:选项 A)中 a 是一个整型变量。选项 B)中& * a 等价于 a,* point 是指针变量所指的内容。选项 C)中也是同理。24.下面程序段的运行结果是( )。 voidmain( ) ihtt,a,b,C; a=1;b=2;C=2; while(abc) t=a;a=b;b=t;c-; couta“,“b“,“C; (分数:70.00)A.1,2,0 B.2

12、,1,0C.1,2,1D.2,1,1解析:本题中(abc)的运算次序是先算 ab,返回 1,再运算 1c,返回 1,所以表达式 abc 的值为 1。 25.若变量已正确定义并赋值,以下符合 C+语言语法的表达式是( )。(分数:70.00)A.a:=b+1B.a=b=c+2 C.int 185%3D.a=a+7=c+b解析:本题考查 C+语言的正确赋值方法。a=b=c+2 实际上相当于 a=(b=c+2),进而可分解为两个表达式:b =c+2 和 a=b。注意:选项 A)中包含一个不合法的运算符“:=”;选项 C)应改为(int)185 3;选项D)可理解为两个表达式:a+7=c+b 和 a=

13、a+7,其中第一个是错的,因为 C+语言规定赋值号的左边只能是单个变量,不能是表达式或常量等。26.树是结点的集合,它的根结点数目是( )。(分数:-1.00)A.有且只有 1 个 B.1 或多于 1 个C.0 或 1 个D.至少 2 个解析:树是一个或多个结点组成的有限集合,其中一个特定的结点称为根,其余结点分为若干个不相交的集 合。每个集合同时又是一棵树。树有且只有 1 个根结点。27.非空的循环单链表 head 的尾结点(由 p 所指向),满足( )。(分数:-1.00)A.pnext=NULLB.p=NULLC.pnext=head D.p=head解析:循环链表就是将链表的最后一个结

14、点指向链表头结点(或第一个结点),即 Pnext=head。28.下列工具中为需求分析常用工具的是( )。(分数:-1.00)A.PADB.PFDC.N-SD.DFD 解析:需求分析中的常用工具有 PAD、PFD 及 N-S 等,而 DFD(数据流图)为结构化分析工具。29.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段 其中数据独立性最高的阶段是 ( )。(分数:-1.00)A.数据库系统 B.文件系统C.人工管理D.数据项管理解析:人工管理阶段是在 20 世纪 50 年代中期以前出现的,数据不独立, 完全依赖于程序;文件系统是数据库系统发展的初级阶段,数据独立

15、性差;数据库系统具 有高度的物理独立性和一定的逻辑独立性。30.下列不属于软件调试技术的是( )。(分数:-1.00)A.强行排错法B.集成测试法 C.回溯法D.原因排除法解析:调试的关键在于推断程序内部的错误位置及原因。主要的调试方法有强行排错法、回溯法和原因排除法。31.结构化程序设计主要强调的是( )。(分数:-1.00)A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序易读性 解析:结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、模块化及限制使用 goto 语句,总的来说可使程序结构良好、易读、易理解、易维护。32.链表不具有的特点是( )。(分数:-1.00)A.

16、不必事先估计存储空间B.可随机访问任一元素 C.插入删除不需要移动元素D.所需空间与线性表长度成正比解析:链表采用的是链式存储结构,它克服了顺序存储结构的缺点:它的结点空间可以动态申请和释放;它的数据元素的逻辑次序靠结点的指针来指示,不需要移动数据元素。但是链式存储结构也有不足之处:每个结点中的指针域需额外占用存储空间;链式存储结构是一种非随机存储结构。33.在待排序的元素序列基本有序的前提下,效率最高的排序方法是( )。(分数:-1.00)A.冒泡排序 B.选择排序C.快速排序D.归并排序解析:从平均时间性能而言,快速排序最佳,其所需时间最少,但快速排序在最坏情况下的时间性能不如堆排序和归并

17、排序。当序列中的记录基本有序或元素个数较少时,冒泡排序和简单选择排序为最佳排序方法,故本题答案应该为选项 A)。34.已知二叉树后序遍历序列是 dabec,中序遍历序列是 debac,它的前序遍历序列是( )。(分数:-1.00)A.acbedB.decabC.deabcD.cedba 解析:依据后序遍历序列可确定根结点为 c;再依据中序遍历序列可知其左子树由 deba 构成,右子树为空;又由左子树的后序遍历序列可知其根结点为 e,由中序遍历序列可知其左子树为 d,右子树由 ba 构成,如图 9-14 所示。求得该二叉树的前序遍历序列为选项 D)。35.在单链表中,增加头结点的目的是( )。(

18、分数:-1.00)A.方便运算的实现 B.使单链表至少有一个结点C.标识表结点中首结点的位置D.说明单链表是线性表的链式存储实现解析:头结点不仅标识了表中首结点的位置,而且根据单链表(包含头结点)的结构,只要掌握了表头,就能够访问整个链表,因此增加头结点的目的是为了便于运算的实现。三、填空题(每空 2 分,共 30 分)(总题数:10,分数:30.00)36.以下程序的结果为 1。 #include”iostreamh” templatetypename T T total(T * data) T s=0; while( * data) s+= * data +; return s; int

19、main2 int x = 2,4,6,8,0,12,14,16,18 ; cout total(x); return 0; cout end1; (分数:3.00)填空项 1:_ (正确答案:20)解析:本题考查模板函数的运用。要理解 * data 的含意。 37.表达式 xoperator+(yoperator+(0)还可以写成 1。(分数:3.00)填空项 1:_ (正确答案:x+y+或 x+(y+))解析:因为 yoperator+(0)是对成员 y 重载运算符,所以是成员重载,在参数表中又有一个参数,所以是重载后缀+,所以是 x+(y+)。38.C+语言的参数传递机制包括传值和传地址

20、两种,如果调用函数时,需要改变实参或者返回多个值,应该采取 1 方式。(分数:3.00)填空项 1:_ (正确答案:传地址)解析:本题考查的是传值调用和传址调用的区别-传值调用只是进行值的简单复制,返回之后不会改变原来的值;而传址调用是把参数的地址传入,会改变原来的值。 39.类模板不同于函数模板,类模板只可用 1 型参数。(分数:3.00)填空项 1:_ (正确答案:类)解析:本题考查的是类模板的定义,C+语言中模板分为两种:类模板和函数模板, 类模板只能用于类型参数,函数模板可以重载。 40.类模板不同于函数模板,类模板只可用 1 型参数。(分数:3.00)填空项 1:_ (正确答案:类)

21、解析:本题考查的是类模板的定义,C+语言中模板分为两种:类模板和函数模板, 类模板只能用于类型参数,函数模板可以重载。 41.如果类中的一个成员函数的定义实现在类内,则该函数系统自动默认为该类的 1 函数。(分数:3.00)填空项 1:_ (正确答案:内联)解析:本题考查内联函数与宏定义的区别。C+中的成员函数如果它的实现写在了类中,那么该函数就是一个内联函数。42.为解决在多重继承环境中因公共基类带来的 1 问题,C+语言提供了虚基类机制。(分数:3.00)填空项 1:_ (正确答案:二义性)解析:本题考查关于 C+中虚基类的作用。C+中产生虚基类的作用就是为了解决继承中的二义性问题,通过虚

22、基类继承可以把父基类中相同的函数只编译一次。 43.C+语言程序的注释可以出现在程序中的任何地方,一个注释以 1 作为开始和结束的标记。(分数:3.00)填空项 1:_ (正确答案:/ * * /)解析:C+语言程序的注释可以出现在程序中的任何地方,一个注释以“/ *,”开始, 以“* /”为结束。44.设 i,j,k 均为 int 型变量,则执行完 for(i=0,j=10;i=j;i+,j-)k=i+j;语句后,k 的值为 1。(分数:3.00)填空项 1:_ (正确答案:10)解析:该 for 语句以 i 为 0、j 为 10 初始化,循环条件是 i=j,每次循环后 i 增 1、j 减

23、1,循环体是将i 与 j 的和赋给 k。这样变量 k 将保存的是最后一次赋给它的值。一次循环后 i 为 1、j 为 9,二次循环后i 为 2、j 为 8,五次循环后 i 为 5、j 为 5,继续第六次循环,将 i 与 j 的和 10 存于 k 后,i 为6、j 为 4,结束循环。所以循环执行后 k 为 10。 45.C+语言支持的两种多态性分别是编译时的多态性和 1 的多态性。(分数:3.00)填空项 1:_ (正确答案:运行时)解析:本题考查的是多态的概念,多态性主要是指发出同样的消息而被不同类型的 对象接收时导致完全不同的行为,它一般分为编译时的多态性和运行时的多态性,比如 函数重载和虚函

24、数。 46.在算法正确的前提下,评价一个算法的两个标准是 1。(分数:-1.00)填空项 1:_ (正确答案:时间复杂度和空间复杂度)解析:47.数据库系统阶段的数据具有较高独立性,数据独立性包括物理独立性和 1 两个含义。(分数:-1.00)填空项 1:_ (正确答案:逻辑独立性)解析:数据独立性是数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依赖于应用程序。数据独立性一般分为物理独立性与逻辑独立性两个含义。48.类是一个支持集成的抽象数据类型,而对象是类的 1。(分数:-1.00)填空项 1:_ (正确答案:实例)解析:将属性、操作相似的对象归为类,也就是说,类是具有共同属性、共同方法的对象的集合。所以,类是对象的抽象,对象则是其对应类的一个实例。49.算法的工作量大小和实现算法所需的存储单元多少分别称为算法的 1。(分数:-1.00)填空项 1:_ (正确答案:时间复杂度和空间复杂度)解析:算法的复杂性是指对一个在有限步骤内终止算法和所需存储空间大小 的估计。算法的计算量是算法的时间复杂性,算法所需存储空间大小是算法的空间复 杂性。50.数据结构包括数据的逻辑结构、数据的 1 以及对数据的操作运算。(分数:-1.00)填空项 1:_ (正确答案:存储结构)解析:数据结构包括 3 个方面,即数据的逻辑结构、数据的存储结构及对数据的操作运算。

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

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

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