- 相关推荐
3月计算机二级C++真题及答案(word版)(精选4套)
在日常学习和工作中,我们都可能会接触到考试真题,考试真题是用于考试的题目,要求按照标准回答。一份什么样的考试真题才能称之为好考试真题呢?以下是小编整理的3月计算机二级C++真题及答案(word版),仅供参考,希望能够帮助到大家。
3月计算机二级C++真题及答案word版 1
1.软件生命周期中的活动不包括( )。
A.市场调研
B.需求分析
C.软件测试
D.软件维护
2.下列叙述中正确的是( )。
A.一个逻辑数据结构只能有一种存储结构
B.逻辑结构属于线性结构,存储结构属于非线性结构
C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率
D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率
3.下列叙述中正确的是( )。
A.一个算法的空间复杂度大,则其时间复杂度必定大
B.一个算法的空间复杂度大,则其时间复杂度必定小
C.一个算法的时间复杂度大,则其空间复杂度必定小
3、下列关于线性链表的叙述中,正确的是( )。
A.各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致
B.各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续
C.进行插入与删除时,不需要移动表中的元素
D.以上说法均不正确
4、对于一个类定义,下列叙述中错误的是( )。
A.如果没有定义拷贝构造函数,编译器将生成一个拷贝构造函数
B.如果没有定义缺省的构造函数,编译器一定将生成一个缺省的构造函数
C.如果没有定义构造函数,编译器将生成一个缺省的构造函数和一个拷贝构造函数
D.如果已经定义了构造函数和拷贝构造函数,编译器不会生成任何构造函数
9,在对象方法中,一个对象请求另一个对象为其服务的方式是通过发送( )来实现。 A.调用语句 B.命令 C.中令 D.消息
4.下列叙述中错误的是( )。
A.一种数据的逻辑结构可以有多种存储结构
B.数据的存储结构与数据的处理效率无关
C.数据的`存储结构与数据的处理效率密切相关
D.数据的存储结构在计算机中所占的空间不一定是连续的
5.下列叙述中正确的是( )。
A.在模块化程序设计中,一个模块应该尽量多地包括与其他模块联系的信息
B.在自顶向下、逐步细化的设计过程中,首先应设计解决问题的第一个细节
C.在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则
D.在程序设计过程中,不能同时采用结构化程序设计方法与模块化程序设计方法
二、基本操作题(18分)
41、请使用VC6或使用【答题】菜单打开考生文件夹projl下的工程projl,此工程中含有一个源程碍文件 projl.epp。其中位于每个注释“//ERROR ****found****”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为:
ConstruCtor Called. The value is 10
Copy ConstruCtor Called. The value is 10
DestruCtor Called. DestruCtor Called. 注意:只修改注释“//ERROR ****found****”的下一行语句,不要改动程序中的其他内容。
//pwjl.Cpp
#inClude ’using namespaCe std; Class MyClass{
publiC:
//ERROR**********found**********
MyClass(int i)
{value=i;Cout<<”ConstruCtor Called.” < //ERROR**********found********** MyClass(eonst MyClass P)
{
value = P.value;
eout<<”Copy ConstruCtor Called.”< }
void Print()
{Cout<<”The value is” < //ERROR**********found********* void-MyClass()
{Cout<<”DestruCtor Called.”< private:
int value;
}; int main()
{ MyChas objl
owl.Print();
MyClmss obj2(owl); obj2.Print();
retum 0;
三、简单应用题(24分)
42、请使用VC6或使用【答题】菜单打开考生文件夹pr092下的工程pros2。此工程中包含一个程序文件main.cpp,其中有“部门”类 Department和“职工”类Staff的定义,还有主函数main的定义。在主函数中定义了两个“职工”对象,他们属于同一部门。程序展示,当该部门改换办公室后,这两个人的办公室也同时得到改变。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:
改换办公室前:
职工号:0789姓名:张三部门:人事处办公室:521
职工号:0513姓名:李四部门:人事处办公室:521
改换办公室后:
职工号:0789姓名:张三部门:人事处办公室:311
职工号:0513姓名:李四部门:人事处办公室:311
注意:只在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
#include
using namespace std;
class Department{ //“部门”类
public:
Department(const char*name,const char*office){
strcpy(this一>name,nanle);
//**********found**********
}
const char*getName()const{return name;}//返回部门名称
//**********found**********
const char*getOffice()const{________} //返回办公室房号
void changeOfficeTo(const char*office){ //改换为指定房号的另一个办公室
strcpy(this一>office,office);
}
private:
char name[20];//部门名称
char office[20];//部门所在办公室房号
};
class staff{//“职工”类
public:
//**********found**********
Staff(const char*my—id,const char木my_name,Department&my_dept):——{
strcpy(this一>staff id,my_id);
strcpy(this一>name,my_name);
}
const char*getlD()const{return staff_id;}
const char*getName()consl{return name;}
Department getDepartment()const{return dept;} char staff=id[10];//职工号
char name[20];//姓名
Department&dept;//所在部门
}; void showStaff(Staff&staff){
cout<<”职工号:”< cout<<”姓名:”< cout<<”部门:”< cout<<”办公室:”< int main(){
Department dept(”人事处”,”521”);
Staff Zhang(”0789”,”张三”,dept),Li(”0513”,”李四”,dept);
cout<<”改换办公室前:”< showStaff(Zhang); showStaff(Li);
//人事处办公室由521搬到311 //**********found********** ———————————————————————一
cout<<”改换办公室后:”< showStaff(Zhang); showStaff(Li);
return 0; }
34、 有如下程序:
#inClude using namespaCe std; Class Sample{
friend long fun(Sample S); publiC:
Sample(10ng A.{x=a;} private:
long X;
}; long fun(Sample S){
if(S.x<2)return l;
return S.X*fun(Sample(s.x-1)); }
int main( ) {
int sum=0;
for(int i=0;i<6;i++) {sum+=fun(Sample(i));}
Cout< }
执行这个程序的输出结果是( )。
A.120
B.16
C.154
D.34
三、简单应用题(24分)
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中包含一个程序文件 main.cpp,其中有类 CPolygon(“多边形”)、CRectangle(“矩形”)、CTriangle(“三角形”)的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义。该程序的正确输出结果应为: 注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动 “//****found****”。 #include
{tout<<——< int area(void){return(width *height);}
class CTriangle:public CPolygon{
int length;//三角形一边长 int height;//该边上的高
public:
CTriangle(int l,int h):length(1),height(h){}
//*********found*********
int area(void){return(——)/2;}
};
int main(){
CRectangle rect(4,5); CTriangle trgl(4,5);
//*********found********* ______ *ppolyl,* ppoly2; ppolyl=▭
ppoly2=&trgl;
ppolyl->printarea(); ppoly2->printarea(); retun 0;
四、综合应用题(18分)
43、请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明的DataList类,是一个用于表示数据表的类。s0rt成员函数的功能是将当前数据表中的元素升序排列。请编写这个sort函数。程序的正确输出应为: .
排序前:7,1,3,11,6,9,12,10,8,4,5,2 排序后:l,2,3,4,5,6,7,8,9,10,11,12
要求:
补充编制的内容写在“//********33********”与“//********666********”两行之问。不得修
改程序的其他部分。
注意:程序最后将结果输出到文件。ut.dat中。输出函数writeToFile已经编译为。obj文件,并且在本程序
调用。
//DataList.h
#inClude using namespaCe std; Class DataList{//数据表类
int len;
double*d: publiC:
DataList(int len,double data[]=NULL);。DataList(){[]d;}
int length(Constt retum len;}//数据表长度(即数据元素的个数) double getElement(int i)Const{return d[i];}
void sort();//数据表排序
void show()Const;//显示数据表}.
void writeToFile(Char*,Const DataList&).//main.Cpp
#inClude”DataList.h”
DataList:DataList(int len,double data[]):len(1en){ d=new double[1en];
for(int i_0;i d[i]=(data==NULL?0.0:data[i]);
}
void DataList:sort(){//数据表排序//********333********
//********666********}
void DataList:show()Const{//显示数据表
for(int i=0;i }
int main(){
double S[]={7,1,3,11,6,9,12,10,8,4,5,2}; DataList list(12,S);
Cout<<”排序前:”; list.show();
list.sort();
Cout< writeToFile(””,list); return 0;
3月计算机二级C++真题及答案word版 2
1. 以下程序执行后sum 的值是
main()
{ int i , sum;
for(i=1;i<6;i++) sum+=i;
printf("%d ",sum);
}
A)15
B)14
C) 不确定
D)0
你所选择的答案是:C,正确答案是:C √
2. 当调用函数时,实参是一个数组名,则向函数传送的是
A) 数组的长度
B) 数组的首地址
C) 数组每一个元素的地址
D) 数组每个元素中的值
你所选择的.答案是:B,正确答案是:B √
3. 以下只有在使用时才为该类型变量分配√
4. 以下程序的输出结果是
main()
{ int i, x[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++) printf("%d,",x[i][2-i]);
}
A) 1,5,9
B) 1,4,7
C) 3,5,7
D)3,6,9
你所选择的答 案是:C,正确答案是:C √
5. 以下程序的输出结果是
#define SQR(X) X*X
main()
{ int a=16, k=2, m=1;
a/=SQR(k+m)/SQR(k+m);
printf("d ",a);
}
A) 16
B) 2
C) 9
3月计算机二级C++真题及答案word版 3
1.C语言编译程序的功能是()。
A.执行一个C语言编写的源程序
B.把C源程序翻译成ASCII码
C.把C源程序翻译成机器代码
D.把C源程序与系统提供的库函数组合成一个二进制执行文件
【答案】C
【解析】编译程序的功能是将“高级语言”翻译为“机器语言”。每条C语言语句,经过编译最终都将转换成二进制的机器指令。答案选择C选项。
2.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是()。
A. C语言程序仅可以编译执行
B. C语言程序仅可以解释执行
C. C语言程序既可以编译执行,又可以解释执行;
D.以上说法都不对
【答案】A
【解析】编译执行是指程序执行前需要一个专门的编译过程把程序编译成机器语言的文件,再次运行时不需要重新翻译,执行效率高;解释执行是指每个语句都是执行的时候才翻译,执行效率低。用C语言编写的程序必须经过编译器编译后,转换为二进制的机器指令来运行。答案选择A选项。
3.以下叙述中错误的是()。
A. C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令
B. C程序经过编译、链接步骤之后才能形成一个真正可执行的二进制机器指令文件
C.用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中
D. C语言源程序经编译后生成后缀为的目标程序
【答案】A
【解析】A项错误,注释语句不会被翻译成二进制的机器指令。C源程序经过C编译程序编译之后生成后缀为的二进制文件(称为目标文件),然后由“链接程序”(Link)的软件把文件与各种库函数连接起来生成一个后缀为的可执行文件。答案选择A选项。
4.以下叙述中错误的是()
A.C语言的可执行程序是由一系列机器指令构成的
B.用C语言编写的源程序不能直接在计算机上运行
C.通过编译得到的二进制目标程序需要连接才可以运行
D.在没有安装C语言集成开发环境的机器上不能运行C源程序生成的exe文件
【答案】D
【解析】A项正确,C语言的可执行程序是由一系列机器指令组成的;BC项正确,用C语言编写的源程序必须经过编译,生成二进制目标代码,再经过连接才能运行;D项错误,C语言经过编译链接后的二进制目标代码可以脱离C语言集成开发环境独立运行。答案选择D选项。
5.以下叙述正确的是()。
A. C编译程序把文件后缀为.c的源程序文件编译成文件后缀为的二进制文件
B. C编译程序把文件后缀为.c的源程序文件编译成文件后缀为的可执行文件
C. C编译程序把文件后缀为的'二进制文件编译成文件后缀为的可执行文件
D.链接程序把文件后缀为.c的源程序文件链接成文件后缀为的可执行文件
【答案】A
【解析】C编译程序把文件后缀为C的源程序文件编译成文件后缀为的二进制文件,链接将一个或多个目标文件与程序用到的库文件连接起来,形成一个可以在操作系统直接运行的执行程序,故排除B、C、D项,答案选择A选项。
6.以下叙述中正确的是(A.在C语言程序中,main函数必须放在其他函数的最前面
B.每个后缀为.c的C语言源程序都可以单独进行编译
C.在C语言程序中,只有main函数才可以单独进行编译
D.每个后缀为.c的C语言源程序都应该包含一个main函数
【答案】B
【解析】main函数可以在程序的任何位置。每一个可执行的C程序都必须有一个且只能有一个主函数。后缀名为.c的C语言源程序都可以单独进行编译。main函数只是让执行程序的系统知道该从哪里开始执行程序(从主函数处执行),其他有关这个程序的子函数是通过函数调用来实现其功能(不需main函数)。答案选择B选项。
7.以下叙述中错误的是()。
A. C语言编写的函数源程序,其文件名后缀可以是.c
B. C语言编写的函数都可以作为一个独立的源程序文件
C. C语言编写的每个函数都可以进行独立的编译并执行;
D.一个C语言程序只能有一个主函数
【答案】C
【解析】C源程序经过C编译程序编译之后生成一个后缀为的二进制文件(称为目标文件),然后由称为“连接程序”(Link)的软件,把此文件与C语言提供的各种库函数连接起来生成一个后缀为的可执行文件。只有含有main函数的经过编译链接才能执行。答案选择C选项。
8.以下叙述中错误的是(A.一个C程序可以包含多个不同名的函数
B.一个C程序只能有一个主函数
C. C程序在书写时,有严格的缩进要求,否则不能编译通过
D. C程序的主函数必须用main作为函数名
【答案】C
【解析】一个C程序有且只有一个主函数main。一个C程序可以包含多个不同名字的子函数。C程序在书写时没有严格的缩进要求。答案选择C选项。
9.以下叙述中正确的是()。
A. C语言规定必须用main作为主函数名,程序将从此开始执行
B.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行
C. C语言程序将从源程序中第一个函数开始执行;
D. main的各种大小写拼写形式都可以作为主函数名,如:MAIN,Main等
【答案】A
【解析】用户不能指定某函数为主函数,C语言规定,程序从main函数开始执行,从main函数退出,C语言函数名区别大小写。答案选择A选项。
10.下列叙述中错误的是()。
A. C程序可以由一个或多个函数组成
B. C程序可以由多个程序文件组成
C.一个C语言程序只能实现一种算法
D.一个C函数可以单独作为一个C程序文件存在
【答案】C
【解析】一个C程序可以有一个或多个程序文件,也可以有一个或多个函数,所以一个C语言程序可以实现多种算法,答案选择C选项。
3月计算机二级C++真题及答案word版 4
1.下面对软件特点描述不正确的是()。
A.软件是一种逻辑实体,具有抽象性
B.软件开发、运行对计算机系统具有依赖性
C.软件开发涉及软件知识产权、法律及心理等社会因素
D.软件运行存在磨损和老化问题
【答案】D
【解析】软件具有以下特点:①软件具有抽象性,是一种逻辑实体;②软件没有明显的制作过程;③软件在使用期间不存在磨损、老化问题,④对硬件和环境具有依赖性;⑤软件复杂性高,成本昂贵;⑥软件开发涉及诸多的社会因素。D项描述是硬件存在的问题。答案选择D选项。
2.下面描述不属于软件特点的是()。
A.软件是一种逻辑实体,具有抽象性
B.软件在使用中不存在磨损、老化问题
C.软件复杂性高
D.软件使用不涉及知识产权
【答案】D
【解析】软件具有以下特点:①软件是一种逻辑实体,具有抽象性;②软件没有明显的制作过程,③软件在使用期间不存在磨损、老化问题;④软件对硬件和环境具有依赖性;⑤软件复杂性高,成本昂贵,⑥软件开发涉及诸多的社会因素,如知识产权等。答案选择D选项。
3.下面对软件特点描述错误的是()
A.软件没有明显的制作过程
B.软件是一种逻辑实体,不是物理实体,具有抽象性
C.软件的开发、运行对计算机系统具有依赖性
D.软件在使用中存在磨损、老化问题
【答案】D
【解析】软件的特点有:①具有抽象性,是逻辑实体;②没有明显的制作过程;③在使用期间不存在磨损、老化问题;④对硬件和环境具有依赖性;⑤复杂性高,成本昂贵;⑥开发涉及诸多的社会因素。答案选择D选项。
4.软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于系统软件的是()。
A.编辑软件
B.操作系统
C.教务管理系统
D.浏览器
【答案】B
【解析】系统软件是控制和协调计算机及外部设备,支持应用软件开发和运行的软件,操作系统是系统软件;支撑软件是支撑各种软件的开发与维护的软件,又称为软件开发环境,浏览器属于支撑软件;应用软件是用户可以使用的各种程序设计语言,以及用各种程序设计语言编制的应用程序的集合,编辑软件、教务管理软件属于应用软件。答案选择B选项。
5.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件),下面属于应用软件的是()。
A.学生成绩管理系统
B. C语言编译程序
C. UNIX操作系统
D.数据库管理系统
【答案】A
【解析】应用软件是为解决特定领域的'应用而开发的软件,如事务处理软件,工程与科学计算软件,学生成绩管理系统、教务管理系统、浏览器、编辑软件等应用性质不同的各种软件。系统软件是计算机管理自身资源,提高计算机使用效率并服务于其他程序的软件,如操作系统,编译程序,汇编程序,数据库管理系统等。支撑软件是介于系统软件和应用软件之间,协助用户开发软件的工具性软件,包括辅助和支持开发和维护应用软件的工具软件,如需求分析工具软件,设计工具软件,编码工具软件,测试工具软件,维护工具软件等。答案选择A选项。
6.数据库管理系统是()。
A.操作系统的一部分
B.在操作系统支持下的系统软件
C.一种编译系统
D.一种操作系统
【答案】B
【解析】系统软件主要包括:①操作系统软件;②各种语言的解释程序和编译程序;③各种服务性程序;④各种数据库管理系统。数据库管理系统是一种系统软件,负责数据库中的数据组织、数组操纵、数据维护、控制和保护以及数据服务等。答案选择B选项。
7.数据库管理系统是()。
A.操作系统的一部分
B.在操作系统支持下的系统软件
C.一种编译系统
D.一种通信软件系统
【答案】B
【解析】系统软件主要包括:①操作系统软件;②各种语言的解释程序和编译程序;③各种服务性程序;④各种数据库管理系统。数据库管理系统是一种系统软件,负责数据库中的数据组织、数组操纵、数据维护、控制和保护以及数据服务等。答案选择B选项。
8.下列选项中,不属于数据管理员(DBA)职责的是()。
A.数据库维护
B.数据库设计
C.改善系统性能,提高系统效率
D.数据类型转换
【答案】D
【解析】数据库管理员对数据库进行规划、设计、维护、监视等,其主要工作有:①数据库设计,主要是对数据模式进行设计,②数据库维护,对数据库中的数据安全性、完整性、并发控制及系统恢复、数据定期转储等进行实施与维护;③改善系统性能,不断调整内部结构,提高系统效率。答案选择D选项。
9.数据库系统的核心是()。
A.数据模型
B.软件开发
C.数据库设计
D.数据库管理系统
【答案】D
【解析】数据库系统包括四个部分:数据库、数据库管理系统、数据库应用程序、数据库管理员。其中DBMS是为数据库的建立、使用和维护而配置的软件,是数据库系统的核心。答案选择D选项。
10.下列叙述中正确的是()。
A.数据库系统是一个独立的系统,不需要操作系统的支持
B.数据库技术的根本目标是要解决数据的共享问题
C.数据库管理系统就是数据库系统
D.数据库系统由数据库应用系统、数据库和数据库管理系统组成。
【答案】B
【解析】A项错误,数据库需要调用操作系统的接口,需要操作系统的支持;C项错误,数据库管理系统(DBMS)是数据库系统的核心,负责数据库中的数据组织、数据操作、数据维护、控制及保护和数据服务等;D项错误,数据库应用系统是数据库系统再加上应用软件及应用界面这三者所组成,具体包括:数据库、数据库管理系统、数据库管理员、硬件平台、软件平台、应用软件、应用界面。答案选择B选项。
【3月计算机二级C++真题及答案word版】相关文章:
3月计算机二级Access真题及答案(word版)06-28
考研英语真题及答案(word版)10-27
考研英语一真题及答案(word版)(3)09-02
职称英语理工A真题及答案(word版)08-19
湖北高考语文真题及答案word版08-19
考研英语一真题及答案(word版)10-07
考研英语二真题与答案(word版)05-28