2022年2022年计算机二级C+++笔试 .pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2022年2022年计算机二级C+++笔试 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年计算机二级C+++笔试 .pdf(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机二级 C+笔试(总分:83.00,做题时间:90 分钟)一、选择题(总题数:35,分数:56.00)1.不能重载的运算符是A)new B)sizeof C).*D)+(分数:1.00)A.B.C.D.解析:解析 运算符重载的概念考查。解题要点 C+语言规定.*运算符是不能被重载的。考点链接 还有.,-*,:,?:这几个运算符不能重载。2.设 a=1;b=2;,则(a+)+b 和 a+b 这两个表达式的值分别为()。A3,3 B 3,4 C 4,3 D 4,4(分数:2.00)A.B.C.D.解析:3.设有以下说明和定义:#include iostream.hVoid main()type
2、def union long i;int k5;char c;DATE;struct date int cat;DATE cow;double dog;too;DATE max;cout (sizeof(struct date)+sizeof(max)end1;A.26 B.52 C.18 D.8(分数:2.00)A.B.C.D.解析:名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 16 页 -4.下列关于多态性的描述,错误的是()。A)C+语言的多态性分为编译时的多态性和运行时的多态性B)编译时的多态性可通过函数重载实现C)运行时的多态性可通过模板和虚函数实现D)实现运行时多态
3、性的机制称为动态绑定(分数:2.00)A.B.C.D.解析:解析 C+中的多态性分为两类:编译时的多态性和运行时的多态性。编译时的多态性是通过函数重载和模板体现的,其实现机制称为静态绑定;运行时的多态性是通过虚函数体现的,其实现机制称为动态绑定。5.t为 int类型,进入下面的循环之前,t 的值为 0。while(t=1)则以下叙述中,正确的是()。A)循环控制表达式的值为0 B)循环控制表达式的值为1 C)循环控制表达式不合法 D)以上说法都不对(分数:1.00)A.B.C.D.解析:解析 本题考核对 while循环及逻辑表达式的理解。循环控制表达式为赋值表达式“t=1”,永远为 1(为真)
4、。6.下列描述中,()是抽象类的特性。A可以说明虚函数 B 可以进行构造函数重载C可以定义友元函数 D不能说明其对象(分数:1.00)A.B.C.D.解析:7.有如下程序:#include lostreanlusing namespace std;elass MyClass public:MyClass()+count;MyClass()-count;static int getCount()return count;private:名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 16 页 -static int count;int MyClass:count=0;int mai
5、n()MyClass obj;cout obj getCount();MyClass*ptr=new MyClass;cout MyClass:getCount();delete ptr;cout MyCiass:getCount();return 0;程序的输出结果是A)121 B)232 C)221 D)122(分数:2.00)A.B.C.D.解析:解析 类的对象在创建时调用构造函数,在撤销时调用析构函数,静态成员为类的不同对象所共享。8.在下面的运算符重载函数的原型中,错误的是()。A)Volume operator-(double,double);B)double Volume:ope
6、rator-(double);C)Volume Volume:operator-(Volume);D)Volume operator-(Volume);(分数:2.00)A.B.C.D.解析:解析 C+把重载的运算符视为特殊的函数,称为运算符函数,函数名就是在运算符前面保留字operator。运算符重载的定义格式:返回类型 operator 运算符号(参数说明);运算符”-”是二元运算符,A选项中重载函数的形参列表都是double,而重载函数的返回类型为类Volume,显然是错误的。9.下列有关继承和派生的叙述中,正确的是A)派生类不能访问基类的保护成员B)作为虚基类的类不能被实例化C)派生类
7、应当向基类的构造函数传递参数D)虚函数必须在派生类中重新实现(分数:2.00)A.B.C.D.名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 16 页 -解析:解析 本题考查的知识点是:继承和派生。无论使用哪种继承方式,派生类中的成员都不能访问基类中的私有成员,而可以访问基类中的公有成员和保护成员,因此选项A)不正确。在 C+中,只有抽象类不能被实例化,而虚基类不一定非得是抽象类,所以选项B)不正确。在派生类中可以重新定义从基类继承下来的虚函数,也可以不重新定义,因此选项D)不正确。故本题应该选择C。10.下列关于 getline()函数的描述,不正确的是_。A)getline(
8、)函数是用来从输入流中读取字符串的B)getline()函数读取字符串的长度是受到限制的C)getline()函数读取字符串时,遇到终止符时就停止D)getline()函数中所使用的终止符只能是换行符(分数:2.00)A.B.C.D.解析:解析 getline()函数从输入流中读取多个字符,并且允许指定输入终止符,其原型为:getline(char*line,int size,char=/n)其中,第 3 个参数为自定义输入终止符。11.有如下程序:#include iostream using namespace std;class Music public:void setTitle(ch
9、ar*str)strcpy(title,str);protected:char type10;private:char title20;class Jazz:public Music public:void set(char*str)strcpy(type,Jazz);/strcpy(title,str);/;下列叙述中正确的是()。A程序编译正确 B 程序编译时语句出错C程序编译时语句出错 D程序编译时语句和都出错(分数:2.00)A.B.C.D.名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 16 页 -解析:12.软件工程的出现是由于A)程序设计方法学的影响 B)软件产业化
10、的需要C)软件危机的出现 D)计算机的发展,(分数:1.00)A.B.C.D.解析:解析 软件工程概念的出现源自于软件危机。为了消除软件危机,通过认真研究解决软件危机的方法,认识到软件工程是使计算机软件走向工程科学的途径,逐步形成了软件工程的概念。13.假定 a 为一个整型数组名,则元素a4 的字节地址为A)a+4 B)a+8 C)a+16 D)a+32(分数:2.00)A.B.C.D.解析:解析 注意:VC编译器分配给整数的内存是4 字节。14.如果表达式y*x+中,“*”是作为成员函数重载的运算符,“+”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为A)x.oper
11、ator+(0).operator*(y);B)operator*(x.operator+(0),y);C)y.operator*(operator+(x,0)D)operator*(operator+(x,0),y)(分数:2.00)A.B.C.D.解析:解析 本题考核运算符的重载。假定已经作为某个类的成员函数重载了二元运算符+,且 c1,c2 都是该类的对象,则c1.operator+(c2)与 c1+c2 含义相同。如果+作为该类的非成员函数重载,则operator+(c1,c2)与 c1+c2 含义相同。同理,运算符*作为成员函数重载,则y*(x+)与 y.operator*(x+)含
12、义相同,后缀+作为友元函数重载,那么x+与 operator+(x,0)含义相同,所以选项 C 是正确的。15.复审应该把重点放在系统的总体结构、模块划分、内外接口等方面。A)详细设计 B)系统设计C)正式 D)非正式(分数:2.00)A.B.C.D.解析:名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 16 页 -16.继承机制的作用是A)信息隐藏 B)数据封装 C)定义新类 D)数据抽象(分数:1.00)A.B.C.D.解析:解析 数据封装就是数据抽象,即信息隐藏;而继承是实现程序复用的基础。17.下面的哪个选项不能作为函数的返回类型?A)void B)int C)new D
13、)long(分数:1.00)A.B.C.D.解析:解析 new 是动态申请内存空间时使用的关键宇,不能作为函数的返回类型,选项A)为无返回值,选项 B)为返回整型,选项D)为返回长整型。18.在下面的引用定义中,正确的是 _。A)int x,&y;y=x;B)int x,&y=x;C)int&y=x,x;D)float z;int x,y=&z;(分数:2.00)A.B.C.D.解析:19.下列关于 new运算符的描述中错误的是A)使用运算符new创建对象数组时必须定义初始值B)使用运算符new创建对象时,会调用类的构造函数C)运算符 new可以用来动态创建对象和对象数组D)使用 new运算符
14、创建的对象可以使用运算符delete删除(分数:1.00)A.B.C.D.名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 16 页 -解析:解析 本题考核运算符new。先来了解运算符new:运算符 new返回指定类型的一个指针,如果分配失败(如没有足够的内存空间),则返回 0。它与 delete运算符一起使用,以达到直接进行动态内存分配和释放的目的。对于A)选项,使用运算符new创建对象数组时只能指定分配内存的大小,不能为该数组指定初始值,其初始值为缺省值,因此类中必须定义缺省构造函数。所以A)选项的描述是错误的。B)、C)和 D)选项的描述都是正确的。20.已知一个类Sampl
15、e,()是定义指向类Sample 成员函数的指针,假设类有三个公有成员:voidf1(int),void f2(int)和 int a。ASample*p BInt Samale:*pc=&Sample:a CVoid(Sample:*Pa)()DSample*P10(分数:1.00)A.B.C.D.解析:21.下列不属于软件工程3 个要素的是()。A)工具 B)过程C)方法 D)环境(分数:2.00)A.B.C.D.解析:解析 软件工程包括3 个要素,即方法、工具和过程。方法是完成软件工程项目的技术手段;工具支持软件的开发、管理和文档生成;过程支持软件开发的各个环节的控制、管理。22.有以下
16、程序段:int k0;while(k1)k+;while 循环执行的次数是()。A无限次 B 有语法错,不能执行C一次也不执行 D执行 1 次(分数:2.00)A.B.C.D.解析:解析 本来 while 中的表达式应为k 1,而本题却为k=1,是赋值表达式而不是逻辑表达式。因此,编译器将其值一直认为是1,因此表达式一直为真,陷入无限次的循环。23.下面关于 C+的特点中描述不正确的是()。A)C+是 C语言的超集,大多数 C 程序在不用修改的情况下就可以在C+的集成环境中运行或调试B)C+是面向对象的程序设计语言名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 16 页 -C)C
17、+中没有结构化编程的语句D)C+的执行效率很高(分数:2.00)A.B.C.D.解析:解析 C+是基于 C 语言发展起来的一种面向对象的高级语言,具有了面向对象程序设计语言的特征,同时具有结构化编程的思想。24.下列叙述中错误的是()。A在数据库设计的过程中,需求分析阶段必须考虑具体的计算机系统B在数据库设计的过程中,概念结构设计与具体的数据库管理系统有关C在数据库设计的过程中,逻辑结构设计与具体的数据库管理系统有关D在数据库设计的过程中,物理结构设计依赖于具体的计算机系统(分数:2.00)A.B.C.D.解析:25.对于拷贝初始化构造函数,正确的描述是()。A在 C+语言中,如果不自定义类的
18、拷贝初始化构造函数,则每个类都有默认的拷贝初始化构造函数B必须为每个类定义拷贝初始化构造函数C如果要使用拷贝初始化构造函数,则必须在类中先定义D当定义了类的构造函数时,如果要使用拷贝初始化构造函数,则必须定义拷贝初始化构造函数(分数:1.00)A.B.C.D.解析:26.下列程序的运行结果是()。#include iostream.hclassA int a;public:A()a=0;A()int aa a=aa;cout a+;名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 16 页 -;void main()A x,y(2),z(3);cout endl;A00 B23 C
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年2022年计算机二级C+笔试 2022 计算机 二级 笔试
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内