欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年2022年计算机二级笔试 2.pdf

    • 资源ID:39714255       资源大小:126.69KB        全文页数:17页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年2022年计算机二级笔试 2.pdf

    1 模拟 计算机二级(C+)笔试 240 一、选择题(每小题 2 分,共 70 分)下列各题 A、B、C、D 四个选项中,只有一个选项是正确的。第 1 题:一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是A.123456ABCDE B.EDCBA54321 C.ABCDEl2345 D.54321EDCBA 参考答案:B 答案解析:栈的特点是先进后出,所以全部入栈后再全部出栈所得的序列顺序必然与入栈序列的顺序相反。第 2 题:下列叙述中正确的是A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定的参考答案:D 答案解析:循环队列是线性表的一种,所以选项 A错误。循环队列的入队和出队需要由队尾指针和队头指针完成,所以选项B和 c 错误。第 3 题:在长度为 n 的有序线性表中进行二分查找,最坏情况下需要比较的次数是A.0(n)B.O(n2)C.D(10g2n)D.O(nlog2n)参考答案:答案解析:第 4 题:下列叙述中正确的是名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 17 页 -2 A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C.顺序存储结构能存储有序表,链式存储结构不能存储有序表D.链式存储结构比顺序存储结构节省存储空间参考答案:A 答案解析:顺序存储方式是把逻辑上相邻的结点存储在物理上相邻的存储单元里,结点之间的关系由存储单元的邻接关系来体现,其优点是占用的存储空间最少,所以选项D错误。顺序存储结构可以存储如二叉树这样的非线性结构,所以选项B 错误。链式存储结构也可以存储线性表,所以选项C错误。第 5 题:数据流图中带有箭头的线段表示的是A.控制流B.事件驱动C.模块调用D.数据流参考答案:D 答案解析:在数据流图中,矩形表示数据的外部实体,圆角矩形表示变换数据的处理逻辑,双横线表示数据的存储,箭头表示数据流。第 6 题:在软件开发中,需求分析阶段可以使用的工具是A.N-S 图B.DFD图C.PAD图D.程序流程图参考答案:B 答案解析:数据流图简称 DFD,它采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。所以DFD图可以用于需求分析阶段。第 7 题:在面向对象方法中,不属于“对象”基本特点的是A.一致性B.分类性C.多态性D.标识唯一性名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 17 页 -3 参考答案:A 答案解析:对象是面向对象方法中最基本的概念,它的基本特点有标识唯一性、分类性、多态性、封装性和模块独立性。故本题答案为A。第 8 题:一问宿舍可住多个学生,则实体宿舍和学生之间的联系是A.一对一B.一对多C.多对一D.多对多参考答案:B 答案解析:一个实体宿舍可以对应多个学生,而一个学生只能对应一个宿舍,所以宿舍和学生之间是一对多关系。第 9 题:在数据管理技术发展的3 个阶段中,数据共享最好的是A.人工管理阶段B.文件系统阶段C.数据库系统阶段D.3 个阶段相同参考答案:C 答案解析:人工管理阶段是在计算机出现的初期,主要用于科学计算,没有大容量的存储设备。处理方式只能是批处理,数据不共享,不同程序问不能交换数据。文件系统阶段把有关的数据组织成一种文件,这种数据文件可以脱离程序而独立存在,由一个专门的文件管理系统实施统一管理;但是,数据文件仍高度依赖于其对应的程序,不能被多个程序所通用。数据库系统阶段对所有的数据实行统一规划管理,形成了一个数据中心,构成了一个数据仓库;数据库中的数据能够满足所有用户的不同要求,供不同用户共享;数据共享性显著增强。第 10 题:名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 17 页 -4 A.笛卡儿积B.交C.并D.自然连接参考答案:D 答案解析:自然连接是一种特殊的等值连接。当关系 R和 S有相同的属性组,且该属性组的值相等时,这样的连接称为自然连接。第 11 题:在下列原型所示的C+函数中,按“传值”方式传递参数的是A.void f1(int x);B.void f2(int*x);C.void f3(const int*x);D.void f4(intx);参考答案:A 答案解析:函数参数传递分为两类:一是“传地址调用”,形参为指针或变量引用两类;二是“传值调用”,形参为普通变量。第 12 题:在 C+中,编译系统自动为一个类生成默认构造函数的条件是A.该类没有定义任何有参构造函数B.该类没有定义任何无参构造函数C.该类没有定义任何构造函数D.该类没有定义任何成员函数参考答案:C 名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 17 页 -5 答案解析:在 C+中,若类没有显式定义构造函数,则系统会自动生成一个默认的构造函数。第 13 题:在一个派生类的成员函数中,试图调用其基类的成员函数“void f();”,但无法通过编译,这说明A.f()是基类的私有成员B.f()是基类的保护成员C.派生类的继承方式为私有D.派生类的继承方式为保护参考答案:C 答案解析:当派生类的继承方式为私有继承方式时,派生类成员函数不能访问任何基类成员和成员函数。第 14 题:下列关于运算符重载的叙述中,错误的是A.有的运算符可以作为非成员函数重载B.所有的运算符都可以通过重载而被赋予新的含义C.不得为重载的运算符函数的参数设置默认值D.有的运算符只能作为成员函数重载参考答案:B 答案解析:进行运算符重载时,不得给重载函数参数赋默认值。运算符重载是针对新数据类型的需要对原有运算符进行适当的改造,而不是创建新的运算符,也不能给运算符赋予新的含义。有的运算符只能重载为成员函数如:=、()、-。第 15 题:下列关于模板的叙述中,错误的是A.调用模板函数时,在一定条件下可以省略模板实参B.可以用 int、double 这样的类型修饰符来声明模板参数C.模板声明中的关键字class 都可以用关键字 typename替代D.模板的形参表中可以有多个参数参考答案:C 答案解析:在有 typename 的地方可以用 class 来代替,但是在有class 的地方不一定能用typename代替,如:Templaeclass 类型参数 class 类名 后面的那个 class 是不能用 typename 代替的。第 16 题:要利用 C+流进行文件操作,必须在程序中包含的头文件是名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 17 页 -6 A.iostream B.fstream C.strstream D.iomanip 参考答案:D 答案解析:头文件 iomapip 用于输入/输出的格式控制,头文件 iostrearn包含了对输入/输出流进行操作所需的基本信息。第 17 题:下列字符串中不能作为C+标识符使用的是A.WHILE B.user C._lvar D.9stars 参考答案:D 答案解析:在 C+中,变量标识符必须以大小写字母或下划线开始,由数字或者字母以及下画线等组成的一个字符串,其中 C+关键字不能作为标识符,不能包含-、+、-、*、/等运算符号。C+变量区分大小写,不能以数字开头。第 18 题:下列语句中错误的是A.const int a;B.const int a=10;C.const int*point=0;D.const int*point=new int(10);参考答案:A 答案解析:用 const 定义一个常量,一旦定义好则在程序的任何地方都不能更改,所以必须在定义时赋初值。第 19 题:如下程序的输出结果是#include iostream using namespace std:int main()int sum:for(inti=O;i 6;i+=3)sunl=i:for(intj=i;j 6;j+)suitL+=j;cout sum endl:retuIn 0:A.3 B.10 C.12 D.15 名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 17 页 -7 参考答案:D 答案解析:每次在外循环 i 中,sum都被程序赋初值,因此,只有最后一次循环的sum起作用。最后一次循环i=3,sum=3,内循环 j=3,4,5,所以 sum=3+3+4+5=15。第 20 题:下列语句中正确的是A.char*myString=Hello-World!;B.char myString=Hello-World!;C.char myString11=”Hello-World!”;D.char nlyString12=Hello-World!;参考答案:A 答案解析:选项 C、D的数组下标超界;对于选项 B,不能将字符串赋值给字符,可以将一个字符串赋值给字符指针,指针指向字符数组的首地址。第 21 题:若已经声明了函数原型“void fun(int a,double b=0.0);”,则下列重载函数声明中正确的是A.void fun(int a=90,double b=0.0);B.int fun(int a,double B.;C.void fun(double a,intB);D.bool fun(int a,double b=0.0);参考答案:C 答案解析:进行函数重载时,要求函数名相同,而函数的参数不同,函数的返回值类型不在参数匹配检查之列。因此,若两个函数的参数个数和类型都相同,而只有返回值类型不同,则不允许重载。第 22 题:执行如下程序,输出星号(*)的个数为#include iostream using namespaee std;class Sample public:Sample()Sample()cout*;int main()Sample temp2,*pTemp2;return 0;A.1 B.2 C.3 D.4 参考答案:B 答案解析:名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 17 页 -8 类在创建对象时调用构造函数,在撤销对象时调用析构函数,而在定义类指针时则不调用构造函数和析构函数。sampie temp2 定义了一个2 个元素的对象数组,因此调用两次析构函数,打印2 个*。第 23 题:下列选项中,与实现运行时多态性无关的是A.重载函数B.虚函数C.指针D.引用参考答案:A 答案解析:动态联编是指在程序运行时才将源程序经过编译连接成为可执行文件的过程。动态联编所支持的多态性被称为运行时多态性,简称为动态多态性。所有的编译都是在运行时完成的,只有重载函数不是,重载函数属于静态联编。第 24 题:下列运算符函数中,肯定不属于类Value 的成员函数的是A.Value operator+(Value);B.Value operator-(Value,Value);C.Value operator*(int);D.Value operator/(Value);参考答案:B 答案解析:双目运算符重载为成员函数时,只需要一个形参,另外一个形参为当前对象本身。第 25 题:下列模板声明中有语法错误的是A.template typename TT fun(T x)return x;B.template typename TT fun(T x,int n)return x术 n;C.template class T T fun(T*P)return*P;D.template 参考答案:C 答案解析:函数的返回值为 T 对象,而在模板函数中返回的是指针。第 26 题:在语句“eoutA;”中,eout 是A.类名B.对象名C.函数名名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 17 页 -9 D.C+的关键字参考答案:B 答案解析:cout 是 ostream 的派生类 ostream-withassign的对象,cin 是 jstream 的派生类 istream_withhassign的派生类对象。第 27 题:如下程序的输出结果是#include iostream using namespace std;class MyClass public:MyClass(int i=0)cout1;MyClass(const MyClass x)cout 2;int main()MyClass objl(1),obj2(2),ohj3(objl);return 0;A.112 B.111 C.121 D.113 参考答案:A 答案解析:MyClass objl(1),ohj2(2),obj3(objl);创建 objl和 obj2 对象时调用第一个构造函数,打印 1,创建 obj3 对象时调用第二个构造函数,打印2。第 28 题:有如下程序:#include iostreanlusing namespace std;class MyClass public:MyClass(int x):val(x)void Set(int x)val=x;void Print()eonsteoutval=val t;private:int val;int main()eonst MyClass objl(10);MyClass obj2(20);objl.Print();/语句 1 obj2.Print();/语句 2 objl.Set(20);/语句 3 obj2.Set(30);/语句 4 return 0;其主函数中错误的语句是A.语句 1 B.语句 2 C.语句 3 D.语句 4 参考答案:C 答案解析:常对象只能调用常成员函数,不能调用非常成员函数,所以C错误。第 29 题:在类声明中,紧跟在“public:”后声明的成员的访问权限是A.私有名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 17 页 -10 B.公有C.保护D.默认参考答案:B 答案解析:public用于声明公有成员,private用于声明私有成员,procteced 用于声明保护成员。第 30 题:对于通过公有继承定义的派生类,若其成员函数可以直接访问基类的某个成员,说明该基类成员的访问权限是A.公有或私有B.私有C.保护或私有D.公有或保护参考答案:D 答案解析:派生类公有继承基类时,派生类成员函数可以访问基类的公有成员或者保护成员。第 31 题:定义派生类时,若不使用关键字显式地规定采用何种继承方式,则默认方式为A.私有继承B.非私有继承C.保护继承D.公有继承参考答案:A 答案解析:定义派生类时,若不使用关键字显式地规定采用何种继承方式,则默认方式为私有继承方式。第 32 题:建立一个有成员对象的派生类对象时,各构造函数体的执行次序为A.派生类、成员对象类、基类B.成员对象类、基类、派生类C.基类、成员对象类、派生类D.基类、派生类、成员对象类参考答案:C 答案解析:在生成派生类对象时,如果派生类中含有对象成员,则先执行基类的构造函数,然后执行对象成员的构造函数,最后执行派生类的构造函数。析构函数的调用顺名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 17 页 -11 序与构造函数的顺序则相反。第 33 题:如果表达式 a=b 中的“=”是作为非成员函数重载的运算符,则可以等效地表示为A.aoperator=(B)B.boperatotr=(A)C.operator=(a,B)D.operator=(b,A)参考答案:A 答案解析:双 目运 算符 进 行 友元 函数 重 载 时,在程序 中的 调 用 方法 有:aabb或 者operator(aa,bB.,这两种方法等价;或者显式调用为:aa operator(bB.。第 34 题:当使用 ofstream 流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为A.ios base:in B.ios_base:binary C.ios_base:inIios_base:out D.ios_base:out 参考答案:D 答案解析:对所有的类 ifstream,文件的打开方式默认值为:ios:in;而对于类 ofstream,文件打开方式的默认值为ios:out。第 35 题:在一个抽象类中,一定包含A.虚函数B.纯虚函数C.模板函数D.重载函数参考答案:B 答案解析:一个含有纯虚函数的类被称为抽象类,所以一个抽象类至少含有一个以上的纯虚函数。二、填空题(每空 2 分,共 30 分)第 36 题:名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 17 页 -12 参考答案:DBXEAYFZC 详细解答:二叉树中序遍历的顺序为先遍历左子树,然后访问根结点,最后遍历右子树。由此可知,该二叉树中序遍历的结果为DBXEAYFZC。第 37 题:按照软件测试的一般步骤,集成测试应在_测试之后进行。参考答案:单元详细解答:软件测试过程按 4 个步骤进行,即单元测试、集成测试、确认测试和系统测试。第 38 题:软件工程三要素包括方法、工具和过程,其中,_支持软件开发的各个环节的控制和管理。参考答案:过程详细解答:软件工程包括 3 个要素:方法、工具和过程。软件工程方法为软件开发提供了“如何做”的技术;工具支持软件的开发、管理、文档生成;过程支持软件开发的各个环节的控制和管理。名师资料总结-精品资料欢迎下载-名师精心整理-第 12 页,共 17 页 -13 第 39 题:数据库设计包括概念设计、_和物理设计。参考答案:逻辑设计详细解答:数据库的设计过程大致分为3 个步骤:概念设计、逻辑设计和物理设计。第 40 题:在二维表中,元组的 _不能再分成更小的数据项。参考答案:分量详细解答:一张二维表对应一个关系,代表一个实体集,表中的一行称为一个元组。一个元组又由许多个分量组成,每个元组分量是表框架中每个属性的投影值。第 41 题:当使用关键字 _作为函数返回类型时,该函数不返回任何值。参考答案:void 详细解答:vold 表示返回值为空类型,即没有返回值。第 42 题:已知数组 a 中有 n 个元素,下列语句将数组a 中从下标 x1 开始的 k 个元素移动到从下标 x2 开始的 k 个元素中,其中 0=x1x2n,x2+kn,请将下列语句补充完整。for(inti=xl+k一 1;i=xl;i-)a_=ai;参考答案:x2+i 详细解答:将 x1 为下标的 k 个元素移动到 x2 为下标的 k 个元素中,只需将数组的下标改变即可。第 43 题:如下程序的输出结果是 _。#includeiostream 名师资料总结-精品资料欢迎下载-名师精心整理-第 13 页,共 17 页 -14 using namespace std;int funl(int x)return+x;int fun2(intx)return+x;int main()int x:1,y=2;Y=funl(fun2(x);cout x,y;return 0;参考答案:2,3 详细解答:intfun2(intx)函数的形参是变量引用,即传址调用,如果在函数内改变形参的值将会影响到主调函数的实参的值。因此执行y=funl(fun2(x);语句后,x 的值被改变为 2,fun2(x)=2,所以 y=funl(fun(x)=3,故打印 2,3。第 44 题:如下程序的输出结果是 _。#includeiostream using namespace std;class pumpkin public:pumpkin()+count;pumpkin()-eount;static void total_count()coutcount pumpkin(s)endl;private:static int count;int pumpkin:count=0;int main()pumpkin pl10;pumpkin:total_count();return 0;参考答案:10pumpkin(s)详细解答:在主函数中 pumpkin pl10;定义了一个有 10 个元素的对象数组,所以调名师资料总结-精品资料欢迎下载-名师精心整理-第 14 页,共 17 页 -15 用 了10次 构 造 函 数,静 态 数 据 成 员court累 加 了10次,pumpkin:total_count();显式调用类成员函数,直接调用静态成员函数:total_count(),打印 pumpkin(s)。第 45 题:有如下递归函数:int Fun(int n)if(n=1)return 1;_ 请补充完整,使得函数Fun 能够正确计算形参 n 的阶乘。参考答案:n*Fun(n-1)详细解答:n=1 时,1!=1,n!=n*(n-1)*(n-2)*2*1=n*(n-1)!=n*(n-1)*(n-2)!,利用递归来实现阶乘;当 n=1时,fun(n)=n*fun(n-1);当 n=1时,fun(1)=1。第 46 题:请在下列程序中的空格处填写正确的语句:class Sample public:Sample()Sample()void SetData(int datA)/将 Sample类成员变量 data 设置成形参的值 _ private:int data;参考答案:this data=data;详细解答:在对象的数据成员同形参变量同名时,可以通过this指针(指向本对象)指向本类的数据成员。第 47 题:有如下类定义,请将Sample类的复制构造函数补充完整。class Sample public:Sample()Sample()if(P)delete P;)Sample(const Sample&s)_ 名师资料总结-精品资料欢迎下载-名师精心整理-第 15 页,共 17 页 -16 void SetData(int datA)P=new int(datA);private:int*P:;参考答案:*this=s;详细解答:复制构造函数,将传递进来的对象为新建对象赋值。第 48 题:重载加法运算符“+”,其函数名是 _。参考答案:+详细解答:运算符重载,其函数名不变,只有其参数,返回值发生改变。第 49 题:如下程序的输出结果是 _。#includeiostream using namespace std;class Wages /“工资”类 double base;/基本工资 double bonus;/奖金 double tax;/税金 public:Wages(double CBase,double CBonus,doable CTax):base(CBase),bonus(CBonus),tax(CTax)double getPay()const;/返回应付工资额 Wages operator+(Wages w)cons;/重载加法 ;double Wages:getPay()consreturn base+bonus-tax;Wages Wages:operator+(Wages w)constreturn Wages(base+wbase,bonus+w bonus,tax+wtax);int main()Wages wl(2000,500,100),w2(5000,1000,300);eout(wl+w2)getPay()endl;return 0;名师资料总结-精品资料欢迎下载-名师精心整理-第 16 页,共 17 页 -17 参考答案:8100 详细解答:首先 Wages类成员函数重载了+运算符,得到的是两个Wages对象的 base、bouns、tax 各自之和。在主函数中,首先生成w1、w2两个对象,然后调用重载后的加法运算符得到base、bouns、tax 各自之和,然后调用常成员函数getPay(),打印求和后的 base+bonus-tax,所以答案为 8100。第 50 题:如下程序的输出结果是 _。#includeiostream using namespace std;class Pet char name10;public:Pet(char*nanle)strcpy(this-name,name);const char*getName()constreturn name;virtual void call()eonst=0;class Dog:public Pet public:Dog(char*name):Pet(name)void call()eonstcout 汪汪叫;class Cat:public Pet public:Cat(char*name):Pet(name)void call()consteout 喵喵叫;int main()Pet*petl=new Dog(哈克),*pet2=new Cat(吉米);eout petl-getName();petl-call();eout endl;cout pet2-getName();pet2-call();eout endl;return 0;参考答案:哈克汪汪叫吉米喵喵叫详细解答:petl、pet2 首先调用继承自基类的常成员函数getName(),分别打印传人的字符实参;然后调用各自派生类的常成员函数call(),打印出“汪汪叫”和“喵喵叫”。名师资料总结-精品资料欢迎下载-名师精心整理-第 17 页,共 17 页 -

    注意事项

    本文(2022年2022年计算机二级笔试 2.pdf)为本站会员(C****o)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开