【计算机类职业资格】二级C++笔试-279及答案解析.doc
《【计算机类职业资格】二级C++笔试-279及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-279及答案解析.doc(22页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-279 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.关于 const 修饰符的说法中,错误的是(分数:2.00)A.const 既可以修饰成员函数,也可以修饰数据成员,还可以修饰对象B.若 const 修饰了一个对象,则该对象中的所有数据成员都无法被更新C.常对象无法调用一般成员函数D.常成员函数只能被常对象调用,不能被一般对象调用2.下述说法错误的是(分数:2.00)A.对象之间不可以相互赋值B.对象可以用作函数参数C.对象可以用作数组的元素D.对象可以用作另一对象的成员3.下面各项中不属于软件生存期中开发阶段的是(分
2、数:2.00)A.需求分析B.程序设计C.概要设计D.软件测试4.用树形结构来表示实体之间联系的模型称为(分数:2.00)A.关系模型B.层次模型C.网状模型D.数据模型5.已知语句 int m=10;则下列引用的表示中正确的是(分数:2.00)A.intB.intC.intD.float6.下列能对对象进行初始化的是(分数:2.00)A.构造函数B.析构函数C.友元函数D.静态成员函数7.假定 a 为一个整型数组名,则元素 a4的字节地址为(分数:2.00)A.a+4B.a+8C.a+16D.a+328.以下的 for 循环for(x=0,y=0;(y!=123)x+);(分数:2.00)A
3、.是无限循环B.循环次数不定C.最多执行 4 次D.最多执行 3 次9.以下不能作为输出流对象的是(分数:2.00)A.文件B.内存C.键盘D.显示器10.已知 int a,b; 用语句 scanf(“%d%d“, 输入 a,b 的值时,不能作为输入数据分隔符的是(分数:2.00)A.,B.空格C.回车D.Tab 键11.当使用 fstrearn 流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为(分数:2.00)A.ios:inB.ios:outC.ios:int|ios:outD.没有12.与所使用的计算机无关的是数据的(分数:2.00)A.物理结构B.逻辑结构C.存储结构D.逻
4、辑和物理结构13.以下有关类与结构体关系的叙述不正确的是(分数:2.00)A.结构体中只包含数据;类中封装了数据和操作B.结构体的成员对外界通常是开放的;类的成员可以被隐蔽C.用 struct 不能声明一个类型名;而 class 可以声明一个类名D.结构体成员默认为 public;类成员默认为 private14.以下不属于构造函数特征的是(分数:2.00)A.构造函数名与类名相同B.构造函数可以重载C.构造函数可以设置默认参数D.构造函数必须指定函数类型15.下述各描述中不属于白盒测试法概念的是(分数:2.00)A.至少执行一次模块中的所有独立路径B.执行边界条件下的所有循环C.所有判断的每
5、一分支至少执行一次D.执行边界条件下的所有接口16.下列数组的定义中,会产生错误的是(分数:2.00)A.int a=0,1,2,3,4,5,6);B.int a10=0,1,2,3,4,5,6;C.char a5=“hello“;D.char a5=h,e,r,l,o;17.重载函数在调用时选择的依据中,错误的是(分数:2.00)A.函数的参数名称B.参数的类型C.函数的名字D.函数的类型18.设有如图所示的二叉树(分数:2.00)A.FCADBEGB.ACBDFGEC.ABDCGEFD.ACBDFEG19.以下叙述正确的是(分数:2.00)A.派生类中不可以定义与基类中同名的成员变量B.派
6、生类中不可以重载成员函数C.派生类中不能调用基类中的同名函数D.以上三项均不正确20.设 A 为 test 类的对象且赋有初值,赋值符号已经重载,则语句 test B=A;表示(分数:2.00)A.语法错B.为对象 A 定义一个别名C.将对象 A 复制给对象 BD.仅说明 B 和 A 属于同一个类21.下面描述中属于软件测试目的的是(分数:2.00)A.改正程序中的错误B.发现程序中的错误C.表明程序没有错误D.验证程序的可靠性22.下列叙述中错误的是(分数:2.00)A.软件不是自然界的有形物体,是一种逻辑实体B.软件是程序、数据及相关文档的集合C.软件在运行、使用期间不存在磨损、老化问题D
7、.软件的运行仅对计算机硬件具有依赖性23.如果一个类含有一个以上的纯虚函数,则称该类为(分数:2.00)A.虚基类B.抽象类C.派生类D.以上都不对24.语句 cout(a=2)const A ptr*=new A;则下列语句错误的是(分数:2.00)A.ptr-a=100;B.ptr=C.ptr+;D.obj2=*ptr;26.设有定义 char str80;以下不能将输入数据 first/nsecond/n 读取到数组 str中的语句是(分数:2.00)A.ein.get(str,strlen(str);B.cin.getline(str,strlen(str);C.cinstr;D.ci
8、n.read(str,strlen(str);27.以下选项中与 k=n+;完全等价的表达式是(分数:2.00)A.k=n,n=n+1;B.n=n+1,k=n;C.k=+n;D.k+=n+1;28.一个人有一个身份证号码,一个身份证号码对应一个人。实体“人”和实体“身份证号码”存在的联系是(分数:2.00)A.一对一B.一对多C.多对多D.无定义29.执行 coutsetw(5)123setfill(*)16;的输出为(分数:2.00)A.*12316B.123*16C.12316D.12316*30.在多继承中,公用派生和私有派生对于基类成员在派生类中的可访问性与单继承规则(分数:2.00)
9、A.完全相同B.完全不同C.部分相同,部分不同D.以上都不对31.将 6 个数据进行冒泡排序,在最坏情况下需要比较的次数是(分数:2.00)A.15B.5C.6D.3032.下列说法正确的是(分数:2.00)A.一个关系可以有多个候选键(码)B.一个关系只有一个候选键(码)C.一个关系所有属性是候选键(码)D.一个关系所有属性都不是候选键(码)33.对于常数据成员,下面描述正确的是(分数:2.00)A.常数据成员可以不初始化,并且不能更新B.常数据成员必须被初始化,并且不能更新C.常数据成员可以不初始化,并且可以被更新D.常数据成员必须被初始化,并且可以被更新34.设有以下类的定义:class
10、 Exint x;public:void setx(int t=0);若在类外定义成员函数 setx( ),以下定义形式中正确的是(分数:2.00)A.void setx(int t)B.void Ex:setx(int t)C.Ex:void setx(int t)D.void Ex:setx( )35.下列各类函数中,不是类的成员函数的是(分数:2.00)A.构造函数B.析构函数C.友元函数D.拷贝构造函数二、填空题(总题数:15,分数:30.00)36.设二叉树根结点的层次为 0,对含有 100 个结点的二叉树,可能的最大树深和最小树深分别是 1。(分数:2.00)填空项 1:_37.对
11、象根据所接受的消息而做出动作,同样的消息被不同的对象所接受时可能导致完全不同的行为,这种现象称为 1。(分数:2.00)填空项 1:_38.数据流图采用 4 种符号表示 1、数据源点和终点、数据流向和数据加工。(分数:2.00)填空项 1:_39.类通过 1 与外界发生关系。(分数:2.00)填空项 1:_40.一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的联系属于 1 的联系。(分数:2.00)填空项 1:_41.执行”coutchar(A+2)endl;”语句后得到的输出结果为 1。(分数:2.00)填空项 1:_42.下列函数的功能是_。#inc
12、ludeiostream.hint Func(int a,int b)if(aB)return 1;else if(a= =B)return 0;else return -1;(分数:2.00)填空项 1:_43.根据三角形的基本定理完成填空,则表达式应为_。#includeiostream.h#includemath.hvoid main( )double a,b,e,s,area;cout“请输入三角形三边 a,b,e,“endl;cinabc;if(_)s=(a+b+c)/2;area=sqrt(s*(s- a)*(s- b)*(s- c);cout“三角形的面积为:“area;else
13、cout“不能构成三角形!“endl;(分数:2.00)填空项 1:_44.下列程序的运行结果为_。#includeiostream.hvoid main( )int i;for(i=1;i6;i+)if(i=3)break;cout“i=“iendl;(分数:2.00)填空项 1:_45.下列程序编译错误,因为 add 函数返回值是一个引用,故对 return 返回值的要求是_。#includeiostream.hintvoid main( )int i=3,j=19;cout(add(i,j)+=20)endl;(分数:2.00)填空项 1:_46.在下面的类定义中,this 指针的用途是
14、_。#includeiostream.hclass Sampleint x,y;public:Sample(int i,int j)x=i;y=j;void assign(Sample sa);void Sample:assign(Sample p)if(this!=y=p.y;(分数:2.00)填空项 1:_47.参照函数模板的写法,完成非模板函数的定义,语句为_。#includeiostream.h#includestring.htemplateclass TT min(T a,T b)return(ab? a:b);char*rain(char*a,char*b)_void main(
15、)double a=1.23,b=3.45;char s1=“abed“,s2=“efg“;coutmin(a,b)min(s1,s2)endl;(分数:2.00)填空项 1:_48.下列程序的输出结果是_。#includeiostreamusing namespace std;templatetypename TT fun(T a,T b)return(a=b)? a:b;int main( )coutfun(3,6),fun(3.14F,6.28F)endl;return 0;(分数:2.00)填空项 1:_49.下列程序的运行结果为_。#includeiostream.hclass my
16、classprivate:int a,b,c;public:void fun( )int a;a=10;this-a=5;b=6;this-c=7;cout“a=“a“, this-a=“this-aendl;void main( )myclass objl;obj1.fun( );(分数:2.00)填空项 1:_50.下列程序的运行结果是_。#includeiostream.hclass Sampleint a;public:Sample(int aa=0)a=aa;Sample( )cout“Sample=“a;class Derived:public Sampleint b;public
17、:Derived(int aa=0,int bb=0):Sample(aa)(b=bb;Derived( )cout“Derived=“b“;void main( )Derived d1(9);(分数:2.00)填空项 1:_二级 C+笔试-279 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.关于 const 修饰符的说法中,错误的是(分数:2.00)A.const 既可以修饰成员函数,也可以修饰数据成员,还可以修饰对象B.若 const 修饰了一个对象,则该对象中的所有数据成员都无法被更新C.常对象无法调用一般成员函数D.常成员函数只能
18、被常对象调用,不能被一般对象调用 解析:解析 本题考察 const 修饰符的含义及其修饰不同对象的规则。常成员函数既能被常对象调用,也能被一般对象调用,一旦 const 修饰了一个对象,则对象的所有数据成员都无法更新。2.下述说法错误的是(分数:2.00)A.对象之间不可以相互赋值 B.对象可以用作函数参数C.对象可以用作数组的元素D.对象可以用作另一对象的成员解析:解析 如果重载了赋值运算符后,对象之间是可以赋值的,对象和 C+中其他内置的数据类型一样,可以作为函数参数、数组元素,其他对象的成员存在。3.下面各项中不属于软件生存期中开发阶段的是(分数:2.00)A.需求分析 B.程序设计C.
19、概要设计D.软件测试解析:解析 在软件开发阶段中,包括系统设计(也称概要设计)、详细设计、编码和测试。系统设计的任务是划分出构成系统的各物理元素(如程序、文件、数据库、人工过程与文档等)以及设计出软件的结构(如确定模块及模块间的关系)。详细设计的任务是对系统作出精确的描述,以便在编码阶段可直接将这一描述用程序设计语言编制成程序。除了应该保证程序的可靠性外,此阶段最重要的目标是要保证将来的程序易读、易理解、易测试、易修改和易维护。因此,结构程序设计技术就成为实现上述目标的基本保证,并且也是详细设计的逻辑基础。编码是将系统设计与详细设计阶段中的结果翻译成用某种程序设计语言书写的程序。由上所述,需求
20、分析不属于开发阶段的任务。4.用树形结构来表示实体之间联系的模型称为(分数:2.00)A.关系模型B.层次模型 C.网状模型D.数据模型解析:解析 用树形结构来表示实体之间联系的模型称为层次模型。5.已知语句 int m=10;则下列引用的表示中正确的是(分数:2.00)A.int B.intC.intD.float解析:解析 本题考察引用的定义既使用。引用是 C+中新引入的概念,其使用方法同变量,而其本质同指针,具有指针的灵活性。引用必须用变量进行赋值,不能用常量或常数。6.下列能对对象进行初始化的是(分数:2.00)A.构造函数 B.析构函数C.友元函数D.静态成员函数解析:解析 类的构造
21、函数的作用就是初始化对象。此时,析构函数和静态成员函数都还没有建立,而友元函数是类外部的函数,根本无法完成类的实例化工作。7.假定 a 为一个整型数组名,则元素 a4的字节地址为(分数:2.00)A.a+4B.a+8C.a+16 D.a+32解析:解析 注意:VC 编译器分配给整数的内存是 4 字节。8.以下的 for 循环for(x=0,y=0;(y!=123)x+);(分数:2.00)A.是无限循环B.循环次数不定C.最多执行 4 次 D.最多执行 3 次解析:解析 本题考察 for 循环的三个表达式的用法及其执行顺序,本题中 for 循环的第三个表达式完成变量自增,以控制 for 循环的
22、执行次数。9.以下不能作为输出流对象的是(分数:2.00)A.文件B.内存C.键盘 D.显示器解析:解析 输出流对象包括基本的输出设备,如显示器,内存和文件,而输入流对象则包括键盘,文件以及其他输入设备。10.已知 int a,b; 用语句 scanf(“%d%d“, 输入 a,b 的值时,不能作为输入数据分隔符的是(分数:2.00)A., B.空格C.回车D.Tab 键解析:解析 C+语言规定在使用 scanf 输入时可以用作数据分隔符的有空格,回车和 Tab 键。用户如果要从键盘输入空格字符,则需要使用其他的输入方式。11.当使用 fstrearn 流类定义一个流对象并打开一个磁盘文件时,
23、文件的隐含打开方式为(分数:2.00)A.ios:inB.ios:outC.ios:int|ios:outD.没有 解析:解析 C+中没有规定文件打开时的隐含打开方式,因此考生在写程序是必须指定打开方式,否则将出现错误。12.与所使用的计算机无关的是数据的(分数:2.00)A.物理结构B.逻辑结构 C.存储结构D.逻辑和物理结构解析:解析 数据的存储结构(即物理结构)是逻辑结构在计算机中的表示,因此,数据的存储结构(即物理结构)与所使用的计算机无关。而数据的逻辑结构与计算机无关,是客观存在的。13.以下有关类与结构体关系的叙述不正确的是(分数:2.00)A.结构体中只包含数据;类中封装了数据和
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 279 答案 解析 DOC
