计算机二级C真题及答案全.docx
《计算机二级C真题及答案全.docx》由会员分享,可在线阅读,更多相关《计算机二级C真题及答案全.docx(56页珍藏版)》请在冰豆网上搜索。
计算机二级C真题及答案全
20XX年4至20XX年3月计算机二级C++真题及答案全
20XX年4月计算机等级考试C考试及答案
一选择题每小题2分共70分
下列各题ABCD四个选项中只有一个选项是正确的请将正确选项涂写在答题卡相应位置上答在试卷上不得分
1下列叙述中正确的是
A算法的效率只与问题的规模有关而与数据的存储结构无关
B算法的时间复杂度是指执行算法所需要的计算工作量
C数据的逻辑结构与存储结构是一一对应的
D算法的时间复杂度与空间复杂度一定相关
2在结构化程序设计中模块划分的原则是
A各模块应包括尽量多的功能
B各模块的规模应尽量大
C各模块之间的联系应尽量紧密
D模块内具有高内聚度模块间具有低耦合度
3下列叙述中正确的是
A软件测试的主要目的是发现程序中的错误
B软件测试的主要目的是确定程序中错误的位置
C为了提高软件测试的效率最好由程序编制者自己来完成软件测试的工作
D软件测试是证明软件没有错误
4下面选项中不属于面向对象程序设计特征的是
A继承性B多态性C类比性D封装性
5下列对列的叙述正确的是
A队列属于非线性表
B队列按先进后出的原则组织数据
C队列在队尾删除数据
D队列按先进先出原则组织数据
6对下列二叉树
ADYBEAFCZXBYDEBFZXCACABDYECFXZDABCDEFXYZ
7某二叉树中有n个度为2的结点则该二叉树中的叶子结点数为
An1Bn-1C2nDn2
8在下列关系运算中不改变关系表中的属性个数但能减少元组个数的是
A井B交C投影D笛卡儿乘积
9在E-R图中用来表示实体之间是联系的图形是
A矩形B椭圆形C菱形D平行四边形
10下列叙述中错误的是
A在数据库系统中数据的物理结构必须与逻辑结构一致
B数据库技术的根本目标是要解决数据的共享问题
C数据库设计是指在已有数据库管理系统的基础上建立数据库
D数据库系统需要操作系统的支持
11为了取代C中带参数的宏在C中使用
A重载函数B内联函数C递归函数D友元函数
12下列关于类定义的说法中正确的是
A类定义中包括数据成员和函数成员的声明
B类成员的缺省访问权限是保护的
C数据成员必须被声明为私有的
D成员函数只能在类体外进行定义
13下列关于派生类构造函数和析构函数的说法中错误的是
A派生类的构造函数会隐含调用基类的构造函数
B如果基类中没有缺省构造函数那么派生类必须定义构造函数
C在建立派生类对象时先调用基类的构造函数再调用派生类的构造函数
D在销毁派生类对象时先调用基类的析构函数再调用派生类的析构函数
14通过运算符重载可以改变运算符原有的
A操作数类型B操作数个数C优先级D结合性
15有如下函数模板
templateTsouareTxretumxx
基中T是
A函数形参B函数实参C模板形参D模板实参
16使用输入输出操作符setw可以控制
A输出精度B输出宽度C对齐方式D填充字符
17下列字符串中不可以用作C标识符的是
Ay_2006B____TEST__HCRetumDswitch
18字面常量424242L的数据类型分别是
AlongdoubleintBlongfloatint
CintdoublelongDintfloatlong
19执行下列语句段后输出字符的个数是
forinti50I1icout
A48B49C50D51
20有如下程序段
inti0j1
int&ri①
rj②
intp&i③
p&r④
基中会产生编译错误的语句是
A④B③C②D①
21有如下函数定义
voidfuncintaint&bab
若执行代码段
intx0y1
funcxy
则变量x和y值分别是
A0和1B1和1C0和2D1和2
22有如下程序
include
usingnamespacestd
classA
public
staticinta
voidinita1
Ainta2inita
intAa0
Aobj
Intmain
coutobja
retum0
运行时输出的结果是
A0B1C2D3
23下列有关继承和派生的叙述中正确的是
A派生类不能访问基类的保护成员
B作为虚基类的类不能被实例化
C派生类应当向基类的构造函数传递参数
D虚函数必须在派生类中重新实现
24下列运算符中不能被重载的是
A&&BCD
25下列函数模板的定义中合法的是
AtemplateTabsTxreturnx0–xx
BtemplateclassTabsTxretumx0-xx
CtemplateTabsTxretumx0-xx
DtemplateTabsTxreturmx0-xx
26在语句cindata中cin是
AC的关键字B类名
C对象名D函数名
27有如下程序
include
usingnamespacestd
classtest
private
inta
public
testcoutconstructorendl
testintacoutaendl
testconsttest&_test
a_testa
coutcopyconstructorendl
testcoutdestructorendl
intmain
testA3
return0
运行时输出的结果是
A3
Bconstructor
destruclor
Ccopyconstructor
D3
dstructordestruclor
28若有如下类声明
classMyClass
public
MyClasscout1
执行下列语句
MyClassab[2]P[2]
以后程序的输出结果是
A11B111C1111D11111
29有如下程序
include
usingnamespacestd
classpoint
public
staticintnumber
public
pointnumber
~pointnumber-
imtpointnumber0
voidmain
pointptr
printAB
pointptr_pointnewpoint3
ptrptr_point
pointC
coutpointnumberendl
delete[]ptr
运行时输出的结果是
A3B4C6D7
30如果不使用多态机制那么通过基类的指针虽然可以指向派生类对象但是只能访问从基类继承的成员有如下程序没有使用多态机制
include
usingnamespacestd
classBase
intab
public
Baceintxintyaxby
Voidshowcoutabendl
clsaaDerivedpublicBase
intcd
public
DerivedintxintyintzintmBasexyczdm
Voidshowcoutcdendl
intmain
BaseB15050pb
DerivedDI10203040
Pb&D1
Pb-show
Return0
运行时输出的结果是
A1020B3040C2030D5050
31有如下程序
include
usingnamespacestd
classA
public
Aintixi
Voidsispacoutx
Private
intx
classBpublicA
public
BintiAi10xi
vouddispbdispacoutxendl
Private
Intx
intmain
Bb2
bdispb
retum0
运行时输出的结果是
A102B1210C122D22
32虚函数支持多态调用一个基类的指针可以指向派生类的对象而且通过这样的指针调用虚函数时被调用的是指针所指的实际对象的虚函数而非虚函数不支持多态调用有如下程序
include
usingnamespacestd
classBase
public
virtualvoidfcoutf0
voidgcoutg0
classDerivedpublicBase
public
voidfcoutf
voidgcoutg
intmain
Derivedd
Basep&d
p-fp-g
return0
运行时输出的结果是
AfgBf0gCfg0Df0g0
33下面程序中对一维坐标点类Point进行运算符重载
include
usingnamespacestd
classpoint
public
pointintvaIxval
point&operatorxretumthis
printoperatorintpointoldthisthisretumold
intGetXconstretumx
private
intx
intmain
pointa10
coutaGetX
coutaGetX
retum
编译和运行情况是
A运行时输出1011
B运行时输出1111
C运行时输出1112
D编译有错
34有如下程序
include
usingnamespacestd
intmain
charstr[100]p
coutpleaseinputastring
cinstr
pstr
forinti0p\0pi
coutiendl
retum0
运行这个程序时若输入字符串为
abcdefgabcd
则输出结果是
A7B12C13D100
35有如下程序
include
usingnamespacestd
classSample
friendlongfunSamples
public
Samplelongaxa
Private
longx
longfunSamples
ifsx2retum1
retumsxfunSamplesx-a
intmain
intsum0
forinti0i6isumfunSamplei
coutsum
retum0
运行时输出的结果是
A120B16C154D34
二填空题每空2分共30分
请将每一个空的正确答案写在答题卡1~15序号的横线上答在试卷上不得分
1在深度为7的满二叉树中度为2的结点个数为1
2软件测试分为白箱盒测试和黑箱盒测试等价类划分法属于2测试
3在数据库系统中实现各种数据管理体制功能的核心软件称为3
4软件生命周期可分为多个阶段一般分为定义阶段开发和维护阶段编码和测试属于4阶段
5在结构化分析使用的数据流图DFD中利用5对其中的图形元素进行确切解释
6C中只有两个逻辑常量true和6
7若要访问指针变量p所指向的数据应使用表达式7
8已知一个函数的原型是
intfndoublex
若要以527为实参调用该函数应使用表达式8
9有如下定义
classMA
intvalue
public
MAintn0valutn
MAtatb
其中MA类的对象名标识符是9
10如下类定义中包含了构造函数和拷贝数的原型声明请在横线处写正确的内容使拷贝构造函数的声明完整
ClassmyClass
Private
Intdata
Public
MyClassintvalue构造函数
MyClassconst10anotherObject拷贝构造函数
11用来派生新类的称为11而派生出的新类称为它的子类或派生类
12有如下程序
include
usingnamespacestd
clsaaCA
public
CADcoutA
classCBprivateCA
public
CBcoutB
intmaincoutB
intmain
CAa
CBb
retum0
这个程序的输出结果是12
13若将一个二元运算符重载为类的成员函数其形参个数应该是13个
14有如下程序
include
usingnamespacestd
classDA
intk
public
DAintx1kx
~DAcoutk
intmain
DAd[]DA3DA3DA3
DApnewDA[2]
delete[]p
return0
这个程序的输出结果是14
15C语言中的多态性分为编译时的多态性和15时的多态性
参考答案
选择题
1-5BDACD6-10CABCA11-15BADAC
16-20BCDBA21-25CCCCA26-30CDBDA
30-35CBBBC
填空
1632黑盒3DBMS4开发5数据字典
6false7P8fn5279tb10myclass
11基类12AAB131个141133315运行
20XX年9月计算机等级考试二级C语言程序设计
考试时间90分钟满分100分
一选择题每小题2分共70分
下列个体ABCD四个选项重只有一个选项是正确的请将正确选项涂写在答题卡相应位置上答在试卷上不得分
1软件是指
A程序B程序和文档
C算法加数据结构D程序数据与相关文档的完整集合
2软件调试的目的是
A发现错误B改正错误
C改善软件的性能D验证软件的正确性
3在面对对象方法中实现信息隐蔽是依靠
A对象的继承B对象的多态
C对象的封装D对象的分类
4下列叙述重不符合良好程序设计风格要求是
A程序的效率第一清晰第二B程序的可读性好
C程序中要有必要的注释D输入数据前要有提示信息
5下列叙述中正确的是
A程序执行的效率与数据的存储结构密切相关
B程序执行的效率只取决于程序的控制结构
C程序执行的效率之取决于所处理的数据量
D以上三种说法都不对
6下列叙述中正确的是
A数据的输入结构与存储结构必定是对应的
B计算机存储空间是向量式的存储结构因此数据的存储结构一定是线性结构
C程序设计语言中的数组一般是顺序存储结构因此利用数组只能处理线性结构
D以上三种说法都不对
冒泡排序在最坏的情况下的比较次数是
Ann12Bnlog2nCnn-12Dn2
8一棵二叉树中共有70个叶子结点于80个度为1的结点则该二叉树重的总结点数为
A219B221C229D221
9下列叙述重正确的是
A数据库系统是一个独立的系统它需要操作系统的支持
B数据库技术的根本目标是要解决数据的共享问题
C数据库管理系统是数据库系统
D以上说法都不正确
10下列叙述中正确的是
A为了建立一个关系首先是要构造数据的逻辑关系
B表示关系的二维表中各各组的每一个分量还可以分成若干数据项
C一个关系的属性名称为关系模式
D一个关系可以包括多个二维表
11在函数中可以用autoextemregister和static这四个关键字中的一个来说明变量的存储类型如果不说明存储类型则默认的存储类型是
AautoBextemCregisterDstatic
12对于一个类定义下列叙述中错误的是
A如果没有定义拷贝构造函数编译器将生成一个拷贝构造函数
B如果没有定义缺省的构造函数编译器将一定生成一个缺省的构造函数
C如果没有定义构造函数编译器将生成一个缺省的构造函数和一个拷贝构造函数
D如果已经定义了构造函数和拷贝构造函数编译器不会生成任何构造函数
13如果派生类以public方式继承基类则原基类的protected成员和public成员在派生类中的访问类型分别是
Apublic和publicBpublic和protected
Cprotected和publicDprotected和protected
14下列运算符函数中肯定不属于类FunNumber的成员函数的是
Aintoperator-FunNumber
BFunNumberoperator-
CFunNumberoperator-int
Dintoperator–FunNumber
15C中的模板包括
A对象模板和函数模板B对象模板和类模板
C函数模板和类模板D变量模板和对象模板
16如果调用C流进行输入输出下面的叙述中正确的是
A只能借助于流对象进行输入输出
B只能进行格式化输入输出
C只能借助于cin和cout进行输入输出
D只能使用运算符》和《进行输入输出
17下列富豪中不属于C关键字的是
AfriendBnamespaceCcontinueDbyte
18下列各组的量申明中含义相同的一组是
Aunsignedlongint和longBsignedshortint和short
Bunsignedshort和shortDshortint和int
19必须用一对打括号括起来的程序段是
Aswitch语句中的case标号语句
Bif语句的分支
C循环语句的循环体
D函数的函数体
20语句的intpk定义于指针P于这个语句等效的语句序列是
AintppkBintppk
CintppkDintppk
21关于函数重载下列叙述中错误的是
A重载函数的函数名必须相同
B重载函数必须在函数个数或类型上有所不同
C重载函数的返回值类型必须相同
D重载函数的函数体可以有所不同
22有如下头文件
Intf1
Staticintf2
ClassMA
Public
Intf3
Staticintf4
在所描述的函数中具有隐含的this指针的是
Af1Bf2Cf3Df4
23派生类的成员函数不能访问基类的
A共有成员和保护成员B共有成员
C私有成员D保护成员
24下列关于运算符重载的描述中正确的是
A运算符重载为成员函数时若参数表中五参数重载的是一元运算符
B一元运算符只能作为成员函数重载
C二元运算符重载为非成员函数时参数表中有一个参数
DC中可以重载所有的运算符
25下列关于类模板的模板参数的叙述中错误的是
A模板参数可以作为数据成员的类型
B模板参数可以作为成员函数的返回类型
C模板参数可以作为成员函数的参数类型
D模板函数不能作为成员函数的局部变量的类型
26已知一程序运行后执行的第一个输出操作是
Coutsetw10setfill1234
则此操作的输出结构是
A1234B1234
C1234D1234
27有如下程序
include
Usingnamespacestd
Classmyclass
Public
MyClasscount
MyClass--count
Staticintgetcountreturncount
Private
Staticintcount
IntMyClasscount0
Intmain
Myclassobj
CoutobjgetCount
MyClassptrnewMyClass
CoutMyClassgetcount
Deleteptr
CoutMyClassgercount
Return
程序的输出结果是
A121B232C221D122
有如下程序
include
Usingnamespacestd
ClassMyclass
Public
Myclassconstxvalx
Voidprintconstcountconstval\t
Voidprintconstcoutval\t
Private
Intval
Intmaint
Constmyclassobj110
Myclassobj220
Obj1print
Obj2print
Return
程序的输出结果是
Aval10constval20
Bconstval10constval20
Cconstval10val20
Dval10val20
29有如下程序
include
Usingnamespacestd
Classpart
Public
Partintx\valxcoutval
-partcoutval
Private
Intval
Classwhole
Public
Wholeintxintyintz0p2xp1yvalzcoutval
Wholecountval
Private
Partp1p2
Intval
Intmaint
Wholeobj123
Resturn
程序输出的结果是
A123321B213312C213
30有如下程序
include
Usingnamespacestd
Classbase
Public
Baseintx0coutx
Classderivedpublicbase
Public
Derivedrinxycoutx
Priblic
Baseval
Intmain
Derivedd
Return
程序的输出结果是
A0B1C01D001