考卷及解析Word文档格式.docx
《考卷及解析Word文档格式.docx》由会员分享,可在线阅读,更多相关《考卷及解析Word文档格式.docx(21页珍藏版)》请在冰豆网上搜索。
C)非持久性
D)冗余性
(10)需求分析阶段的任务是确定
A)软件开发方法
B)软件开发工具
C)软件开发费用
D)软件系统功能
(11)以下哪个特征不是面向对象思想中的主要特征?
A)多态
B)继承
C)封装
D)垃圾回收
(12)以下哪个不是C++语言中的有效标识符?
A)34a
B)_AB
C)A_B
D)A25
(13)C++中运算符优先级由高到低排列正确的是
A):
:
+++||
B)<
*||,
C)sizeof%+:
D),&
&
newsizeof
(14)下面程序的运行结果是
#include"
iostream.h"
#definesum(a,b)a*b
voidmain()
{intx;
x=sum(1+2,3);
cout<
}
A)0
B)9
C)7
D)5
(15)以下for语句中不是死循环的是
A)for(inti=0;
i<
1;
++i);
B)for(inti=0;
;
C)for(inti=1;
i>
0;
D)for(;
;
);
(16)关于continue语句叙述不正确的是
A)continue语句用于循环体中,结束循环
B)continue语句用于循环体中,它使执行流跳出循环体中尚未执行的语句,并进行下一循环判断
C)continue可以用于if语句中
D)continue语句不能代替break语句
(17)以下定义数组中错误的是
A)inta[10];
B)inta[2][20];
C)inta[20][];
D)inta[];
(18)下面程序的执行结果是
{int*p,r;
p=newint;
*p=20;
r=sizeof(*p);
<
R<
deletep;
<
/R<
A)程序错误
B)内存为20地址的大小
C)20
D)4
(19)下面程序错误的语句是
#include"
①voidmain()
②{
③intA=0;
④int&
B;
⑤B=A;
⑥cout<
⑦cout<
A;
⑧}
A)②
B)③
C)④
D)⑥
(20)下列程序的输出结果是
iostream"
usingnamespacestd;
intMax(inta,intb)
{
if(a>
b)
returna;
else
returnb;
intm,n;
m=10,n=5;
intmax=Max(m,n);
cout<
max<
endl;
A)10
B)程序有误
C)1
D)0
(21)函数inttest(inta,intb=1,intc=0),下列调用不合法的个数是
test(0);
test(0,0);
test();
test(0,0,0);
B)1
C)2
D)3
(22)C++语言中类定义中默认的访问权限是
A)public
B)protected
C)private
D)default
(23)C++语言中关于构造函数的说法正确的是
A)构造函数的函数名不必和类名相同
B)构造函数只能每一个
C)每个类必定有构造函数
D)构造函数必有返回值
(24)关于构造函数A()的拷贝构造函数正确的是
A)A(A*B);
B)A(AB);
C)A(A&
B);
D)A(A);
(25)下面程序的执行结果为
classA
inta;
public:
voidSeta(intx){a=x;
}
voidDisplay_a(){cout<
a<
}
};
classB
intb;
voidSetb(intx){b=x;
voidDispaly_b(){cout<
b<
classC:
publicA,privateB
private:
intc;
voidSetc(intx,inty,intz)
{c=z;
Seta(x);
Setb(y);
voidDisplay_c(){cout<
c<
③Ccc;
④cc.Seta
(1);
⑤cc.Display_a();
⑥cc.Setc(2,2,3);
⑦cc.Dispaly_b();
⑧cc.Display_c();
A)输出为223
B)有错误在第5行
C)输出为123
D)有错误在第7行
(26)虚函数必须是类的
A)成员函数
B)友元函数
C)构造函数
D)析构函数
(27)多态性指的是
A)以任何方式调用一个虚函数
B)以任何方式调用一个纯虚函数
C)借助于指向对象的基类指针或引用调用一个虚函数
D)借助于指向对象的基类指针或引用调用一个纯虚函数
(28)不能重载的运算符是
A)new
B)sizeof
C).*
D)++
(29)只能作为成员函数重载的是
A)=
B)++
C)*
D)new
(30)关于模板下列说法不正确的是
A)用类模板定义一个对象时,不能省略实参
B)类模板只能有虚拟类型参数
C)类模板本身在编译中不会生成任何代码
D)类模板的成员函数都是模板函数
(31)语句cout<
setprecision
(2)<
1024.4567;
的输出结果为
A)1024.4567
B)1024
C)1024.45
D)1e+003
(32)下面程序的结果为
voidchange(inta,intb)
inttemp;
temp=a;
a=b;
b=temp;
m=8;
n=9;
change(m,n);
m<
"
n<
A)89
B)98
C)程序有错误
D)99
(33)下面程序的结果是
char*str;
str="
test!
"
str[5];
B)!
C)′\0′
D)为空字符
(34)下面程序输出的结果为
A(){cout<
CLASSA"
~A(){}
classB:
publicA
B(){cout<
CLASSB"
~B(){}
A*p;
p=newB;
B*q;
q=newB;
A)CLASSA
CLASSB
B)CLASSA
C)CLASSA
CLASSA
D)CLASSA
(35)C++语言函数中不能由系统自动生成的是
A)析构函数
B)构造函数
C)内联函数
D)拷贝构造函数
二、填空题
请将每一个空的正确答案写在答题卡序号的横线上,答在试卷上不给分。
(1)栈和队列通常采用的存储结构是1。
(2)在程序设计阶段应该采取2和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,进而用某种程序设计语言写成程序。
(3)软件结构是以3为基础而组成的一种控制层次结构。
(4)数据库系统阶段的数据具有较高独立性,数据独立性包括物理独立性和4两个含义。
(5)数据库保护分为安全性控制、5、并发性控制和数据的恢复。
(6)6是C++语言程序的入口。
(7)程序
inti=10;
intj=5;
j+i++<
的结果为7。
(8)C++语言的基本控制结构为顺序结构、选择结构和8。
(9)语句int*i;
i=newint[10];
,释放指针i的语句是9。
(10)函数重载要求重载的函数必须有和原函数一样的10。
(11)在C++语言中每个类都有一个11指针,该指针指向正在调用成员函数的对象。
(12)设置虚基类的目的是12,通过13表示虚基类。
(13)程序的结果为14。
template
Ttotal(T*data)
{Ts=0;
while(*data)
s+=*data++;
returns;
intmain()
{intx[]={2,4,6,8,0,12,14,16,18};
total(x);
return0;
(14)语句cout<
′\n′还可表示为15。
参考答案及分析
(1)D
【命题目的】让考生加深对各种排序方法特点的了解。
【解题要点】冒泡排序是一种最简单的交换类排序方法,它是通过相邻数据元素的交换逐步将线性表变成有序。
【错解分析】交换排序方法有冒泡排序和快速排序,显然选项B)和选项C)错误,冒泡排序比较简单,其算法也容易理解,但快速排序本身较为复杂,且采用了递归调用,其算法理解也稍难。
【考点链接】插入排序、选择排序、归并排序、基数排序等排序方法的特点。
(2)A
【命题目的】考查栈的存储结构的基本知识。
【解题要点】和线性表类似,栈也有两种存储方法,一是顺序栈,二是链式栈。
栈的顺序存储结构是利用一组地址连续的存储单元一次存储自栈底到栈顶的数据元素,同时附设指针top指示栈顶元素的位置,由于栈的操作是线性表操作的特例,相对而言,链式栈的操作更易于实现。
【考点链接】这3种运算方法在各种存储结构中的应用。
(3)B
【命题目的】考查有关线性表存储结构的基本知识。
【解题要点】顺序存储结构中,数据元素存放在一组地址连续的存储单元中,每个数据元素地址可通过公式LOC(ai)=LOC(a1)+(i-1)L计算得到,从而实现了随机存取。
对于链式存储结构,要对某结点进行存取,都得从链的头指针指向的结点开始,这是一种顺序存取的存储结构。
【考点链接】顺序存储结构和链式存储结构的定义和性质,两种存储结构的操作方法。
(4)A
【命题目的】让考生熟练掌握常用的测试方法及其概念。
【解题要点】黑箱测试方法完全不考虑程序的内部结构和内部特征,而只是根据功能导出测试用例。
【错解分析】白箱测试是根据对程序内部逻辑结构的分析来选取测试用例,白箱测试也称为逻辑覆盖测试,故选项B)不正确;
错误推测法只是黑箱测试所使用的一种具体的方法,故选项C)不正确;
安装测试是测试层次中的一种,它属于高级测试,故选项D)不正确。
【考点链接】常用的黑箱测试方法及其定义,白箱测试用例的准则。
(5)A
【命题目的】让考生对常用的软件结构设计工具要有较深入的了解。
【解题要点】常用的软件结构设计工具是结构图(SC-StructureChart),也称程序结构图。
其中,矩形内用于注明模块的功能和名字;
箭头表示模块间的调用关系,带实心圆的箭头表示传递的是控制信息,带空心圆的箭头表示传递的是数据。
【考点链接】根据结构图设计思想,了解结构图构成的基本形式。
(6)C
【命题目的】本题主要考查了模块间耦合的类型。
【解题要点】模块之间的耦合程度反映了模块的独立性,也反映了系统分解后的复杂程度。
按照耦合程度从弱到强,可以将其分成5级,分别是:
数据耦合、同构耦合、控制耦合、公用耦合和内容耦合。
选项C),没有这种耦合方式。
【考点链接】评价模块独立性的主要标准,以及对它们的定义和分类。
(7)C
【命题目的】使学生加深对关系模型数据库基础知识的记忆。
【解题要点】在关系模型数据库中,基本结构是二维表,这种二维表称为关系。
关系的列称为属性,一个具有N个属性的关系称为N元关系。
【考点链接】各种关系查询语言与过程性语言和非过程性语言的关系,过程性语言的特点。
(8)C
【命题目的】考查考生对数据库基本知识的了解。
【解题要点】DBMS提供数据操纵语言(DML)实现对数据库中数据的操作,数据操纵语言(DML)是用户(包括应用程序)与数据库系统的接口。
数据操纵语言通常包括检索和更新功能。
【考点链接】程序模块中语言处理部分的分类,各子类的定义及其功能。
(9)D
【命题目的】让考生了解文件系统和数据库系统的区别。
【解题要点】文件系统所管理的数据文件基本上是分散的、相互独立的,因此相对于数据库系统,以此为基础的数据处理存在3个缺点,数据冗余大、数据的不一致性、程序与数据的相互依赖(简称为数据依赖)。
【考点链接】文件系统和数据库系统各自的特点,人工管理阶段及数据库系统三代的特点。
(10)D
【命题目的】考查考生对需求分析的内容的了解。
【解题要点】需求分析是软件定义时期的最后一个阶段,它的基本任务就是详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。
。
【错解分析】选项A)软件开发方法是在总体设计阶段完成的任务;
选项B)软件开发工具是在实现阶段需完成的任务;
选项C)软件开发费用是在可行性研究阶段需完成的任务。
【考点链接】需求分析的任务和它的6种方法。
(11)D
【命题目的】考查面向对象语言的基本思想。
【解题要点】面向对象语言的基本特性是封装,继承和多态。
【错解分析】垃圾回收是Java的主要特点。
【考点链接】要掌握面向对象的优点。
(12)A
【命题目的】考查C++语言标识符规则。
【解题要点】在C++语言中,标识符只能由数字,字母,下划线组成,并且第一个字符不能是数字。
【错解分析】选项A)是以数字开始的。
【考点链接】关键字不能用作标识符。
(13)A
【命题目的】考查C++运算符的优先级。
【解题要点】运算符的优先级是:
:
最高,其次是[],(),等,然后是++,--,再低还有->
*,*,+,<
,>
>
,=。
【考点链接】逗号的优先级最低。
(14)C
【命题目的】考查宏定义的简单运用。
【解题要点】理解宏定义,sum(a,b)a*b中a为1+2,b为3,故sum(1+2,3)=1+2*3,即宏定义的替换过程是原样替换。
【错解分析】选项B)的计算方法是(1+2)*3=9是错误的,注意,不要随意的加括号。
【考点链接】宏定义与函数的区别。
(15)A
【命题目的】考查循环语句for的使用。
【解题要点】for循环的一般格式为for(初始化部分;
终止条件判断部分;
迭代部分){循环体;
说明如下:
for循环开始时,首先执行初始化操作,然后判断终止条件是否满足,如果满足,则执行循环体中的语句,最后执行迭代部分。
完成一次循环后,重新判断终止条件。
【错解分析】在for语句中,如果省略了终止条件判断部分,并且在语句中没有break,或者是终止条件判断部分始终没有终止,都将出现死循环。
【考点链接】for循环语句可由while循环语句来代替。
(16)A
【命题目的】考查continue语句的运用。
【解题要点】continue是跳出了本次循环中尚未执行的语句,重新执行循环,但没有终止循环。
【考点链接】注意break,continue和goto语句的用法和区别。
(17)C
【命题目的】考查数组的定义方法。
【解题要点】二维数面的二维不能省略。
【考点链接】数组的下标是从零开始的。
(18)D
【命题目的】考查指针和运算符sizeof的运用。
【解题要点】理解sizeof的用法,它可以运算出各种数据类型所占内存空间的多少。
【错解分析】选项C)中是指针p所指向的内存地址中内容是20。
【考点链接】在用完申请后的内存应立刻释放。
(19)C
【命题目的】考查引用的用法。
【解题要点】引用必须在第一时间进行赋值,int&
B没有在第一时间赋值故错误。
【考点链接】引用的方式,引用和指针应用的比较。
(20)A
【命题目的】考查return语句的用法和函数的调用。
【解题要点】本题函数Max的功能是求出两个整数中的较大者,并且通return语句返回。
【考点链接】return语句的用法,注意return的条件。
(21)C
【命题目的】考查函数含有默认参数时的调用方法。
【解题要点】如果一个函数中有多个参数,则默认参数应从右到左逐个定义。
【错解分析】选项C)没有给a传递任何的参数,所以是错误的。
【考点链接】函数含有默认参数时的调用方式。
(22)C
【命题目的】考查类的概念。
【解题要点】C++语言中类定义中默认的类的访问权限是private。
【错解分析】C++语言中没有default权限。
【考点链接】结构体默认的访问权限是public,注意它们之间的区别。
(23)C
【命题目的】考查构造函数的概念。
【解题要点】构造函数的函数名必须和类名相同;
构造函数可以有一个,也可以有多个;
构造函数没有返回值。
【考点链接】构造函数可以被重载。
(24)C
【命题目的】考查拷贝构造函数的方法。
【解题要点】固定的一种拷贝方式就是<
类名>
const<
引用对象名>
【考点链接】如果一个类中没有声明,拷贝构造函数,编译器会自动生成一个如上述形成的仅有的拷贝构造函数。
(25)D
【命题目的】考查类的继承方法。
【解题要点】private继承不能调用D