全国计算机等级考试二级C++笔试试题Word文档格式.docx
- 文档编号:22457189
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:14
- 大小:20.40KB
全国计算机等级考试二级C++笔试试题Word文档格式.docx
《全国计算机等级考试二级C++笔试试题Word文档格式.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级C++笔试试题Word文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
charname[10];
staticintcount;
};
intToy:
:
count=0;
intmail(){
Toyt1(“Snoopy”),t2(“Mickey”),t3(“Barbie”);
cout<
<
t1.getcount()<
endl;
return0;
运行时的输出结果是
A)1
B)2
C)3
D)运行时出错<
/t1.getcount()<
(28)有如下程序
classA{
A(inti):
rl(i){}
voidprint(){cout<
’e’<
r1<
’-‘;
voidprint()const{cout<
’C’<
rl*rl<
intrl;
intmain(){
Aal
(2);
constAa2(4);
Al.print();
a2.print();
Return0;
A)运行时出错
B)E2-C16-
C)C4-C16-
D)E2-E4-<
/rl*rl<
/r1<
(11)已知函数FA调用FB,若要把这两个函数定义在同一个文件中,则
A)FA必须定义在FB之前
B)FB必须定义在FA之前
C)若FA定义在FB之后,则FA的原型必须出现在FB的定义之前
D)若FB定义在FA之后,则FB的原型必须出现在FA的定义之前
(12)有如下两个类定义
classAA{};
classBB{
AAv1,*v2;
BBv3;
Int*v4;
其中有一个成员变量的定义是错误的,这个变量是
A)v1
B)v2
C)v3
D)v4
(13)有如下类定义:
classXX{
intxdata;
XX(intn=0):
xdata(n){}
classYY:
publicXX{
intydata;
YY(intm=0,intn=0):
XX(m),ydata(n){}
YY类的对象包含的数据成员的个数是
D)4
(14)下列有关运算符函数的描述中,错误的是
A)运算符函数的名称总是以operator为前缀
B)运算符函数的参数可以是对象
C)运算符函数只能定义为类的成员函数
D)在表达式中使用重载的运算符相当于调用运算符重载函数
(15)下列关于模板形参的描述中,错误的是
A)模板形参表必须在关键字template之后
B)模板形参表必须用括弧()括起来
C)可以用class修饰模板形参
D)可以用typename修饰模板形参
(16)在下列枚举符号中,用来表示“相对于当前位置”文件定位方式的是
A)ios_base:
cur
B)ios_base:
beg
C)ios_base:
out
D)ios_base:
end
(17)下列字符串可以用作C++标识符的是
A)2009var
B)goto
C)test-2009
D)_123
(18)下列枚举类型的定义中,包含枚举值3的是
A)enumtest{RED,YELLOW,BLUE,BLACK};
B)enumtest{RED,YELLOW=4,BLUE,BLACK};
C)enumtest{RED=-1,YELLOW,BLUE,BLACK};
D)enumtest{RED,YELLOW=6,BLUE,BLACK};
(19)有如下程序段:
inti=1;
while
(1){
i++;
if(i==10)
break;
if(i%2==0)
cout<
‘*’;
执行这个程序段输出字符*的个数是
A)10
B)3
C)4
D)5
(20)已知数组arr的定义如下:
intarr[5]={1,2,3,4,5};
下列语句中输出结果不是2的是
A)cout<
*arr+1<
B)cout<
*(arr+1)<
C)cout<
arr[1]<
D)cout<
*arr<
p="
"
>
/endl;
(21)计算斐波那契数列第n项的函数定义如下:
Intfib(intn){
if(n==0)
return1;
elseif(n==1)
return2;
else
returnfib(n-1)+fib(n-2);
若执行函数调用表达式fib
(2),函数fib被调用的次数是
(22)Sample是一个类,执行下面语句后,调用Sample类的构造函数的次数是
Samplea[2],*p=newSample;
A)0
B)1
C)2
D)3
(23)下列关于虚基类的描述中,错误的是
A)使用虚基类可以消除由多继承产生的二义性
B)构造派生类对象时,虚基类的构造函数只被调用一次
C)声明“classB:
virtualpublicA”说明类B为虚基类
D)建立派生类对象时,首先调用虚基类的构造函数
(24)将运算符重载为类成员函数时,其参数表中没有参数,说明该运算是
A)不合法的运算符
B)一元运算符
C)无操作数的运算符
D)二元运算符
(25)有如下模板声明:
template
classA;
下列声明中,与上述声明不等价的是
A)template
B)template
C)template
D)template
(26)下列关于C++流的描述中,错误的是
A)cout>
’A’表达式可输出字符A
B)eof()函数可以检测是否到达文件尾
C)对磁盘文件进行流操作时,必须包含头文件fstream
D)以ios_base:
out模式打开的文件不存在时,将自动建立一个新文件
(29)有如下程序:
#include
className{
charname[20];
Name(){
strcpy(name,””);
cout<
’?
’;
Name(char*fname)){
strcpy(name,fname);
Namenames[3]={Name(“张三”),Name(“李四”)};
运行此程序输出符号?
的个数是
(30)有如下程序:
AA(){cout<
’1’;
classBB:
publicAA{
intk;
BB():
k(0){cout<
’2’;
BB(intn):
k(n){cout<
’3’;
BBb(4),c;
A)1312
D)132
C)32
D)1412
(31)有如下程序:
classC1{
~C1(){cout<
1;
ClassC2:
publicc1{
~c2(){cout<
2;
C2cb2;
C1*cb1;
A)121
B)21
C)211
D)12
(32)有如下程序
classPublication{//出版物类
charname[30];
Publication(char*name=”未知名称”){
strcpy(this->
name,name);
constchar*getName()const{returnname;
virtualconstchar*getType()const{return“未知类型”;
classBook:
publicPublication{//书类
Book(char*name):
Publication(name){}
virtualconstchar*getType()const{return“书“;
voidshowPublication(Publication&
p){
”<
p.getname()<
Bookbook(“精彩人生”);
showPublication(book);
A)未知类型:
未知名称
B)未知类型:
精彩人生
C)书:
D)书:
精彩人生<
/p.getname()<
(33)下列关于运算符重载的描述中,错误的是
A):
运算符不能重载
B)类型转换运算符只能作为成员函数重载
C)将运算符作为非成员函数重载时必须定义为友元
D)重载[]运算符应完成“下标访问”操作
(34)有如下程序:
Usingnamespacestd;
ints[]={123,234};
right<
setfill(‘*’)<
setw(6);
for(inti=0;
i<
i++){cout<
s[i]<
A)123
234
B)***123
C)***123
***234
D)***123
234***<
/s[i]<
/right<
(35)有如下类定义
char*a;
A():
a(0){}
A(char*aa){
//把aa所指字符串拷贝到a所指向的存储空间
a=
;
strcpy(a,aa);
~A(){delete[]a;
横线处应填写的表达式是
A)neschar[strlen(aa)+1]
B)char[strlen(aa)+1]
C)char[strlen(aa)]
D)newchar[sizeof(aa)-1]
二、填空题(每题2分,共30分)
(1)某二叉树有5个度为2的结点以及3个度为1的结点,则该二叉树中共有
【1】个结点。
(2)程序流程图中的菱形框表示的是【2】。
(3)软件开发过程主要分为需求分析、设计、编码与测试四个阶段,其中【3】产生“软件需求规格说明书”。
(4)在数据库技术中,实体集之间的联系可以是一对一或一对多或多对多的,那么“学生”和“可选课程”的联系为【4】。
(5)人员基本信息一般包括:
身份证号,姓名,性别,年龄等。
其中可以作为主关键字的是【5】。
(6)若表达式(x+(y-z)*(m/n))+3中的变量均为double型,则表达式值的类型为【6】。
(7)有如下循环语句:
For(inti=50;
i>
20;
i-=2)
i<
’,’;
运行时循环体的执行次数是【7】。
/i<
(8)利用表达式a[i]可以访问int型数组a中下标为i的元素。
在执行了语句int*p=a;
后,利用指针p也可访问该元素,相应的表达式是【8】。
(9)下面是一个递归函数,其功能是使数组中的元素反序排列。
请将函数补充完整。
voidreverse(int*a,intsize){
if(size<
2)return;
intk=a[0];
a[0]=a[size-1];
a[size-1]=k;
reverse(a+1,
【9】);
(10)类Sample的构造函数将形参data赋值给数据成员data。
请将类定义补充完整。
classSample{
Sample(intdata=0);
Private:
Intdata;
Sample:
Sample(intdata){
【10】
(11)有如下类定义:
Sample();
~Sample();
Staticintdate;
将静态数据成员data初始化为0的语句是【11】。
(12)“图形”类Shape中定义了纯虚函数CalArea(),“三角形”类Triangle继承了类Shape,请将Triangle类中的CalArea函数补充完整。
classShape{
virtualintCalArea()=0;
classTriangle:
publicShape{
Triangle{ints,inth}:
side(s),height(h){}
【12】{returnside*height/2;
intside;
intheight;
(13)有如下程序:
classGrandChild{
GrandChild(){strcpy(name,”Unknown”);
constchar*getName()const{returnname;
virtualchar*getAddress()const=0;
classGrandSon:
publicGrandChild{
GrandSon{char*name}{}
Char*getAddress()const{return“Shanghai”;
GrandChild*gs=newGrandSon(“Feifei”);
getName()<
”住在”<
getAddress()<
deletegs;
运行时的输出结果是【13】。
(14)如下程序定义了“单词”类word,类中重载了<
运算符,用于比较“单词”的大小,返回相应的逻辑值。
程序的输出结果为:
AfterSorting:
HappyWelcome,请将程序补充完整。
classWord{
Word(strings):
str(s){}
stringgetStr(){returnstr;
【14】const{return(str
friendostream&
operator<
(ostream&
output,constWord&
w)
{output<
stringstr;
Intmain(){
Wordw1(“Happy”),w2(“Welcome”);
Cout<
”Aftersorting:
“;
if(w1<
w2;
elsecout<
w2<
w1;
}<
/w2<
(15)请将下列模板类Data补充完整。
classData{
voidput(Tv){val=v;
【15】get()
//返回数据成员val的值,返回类型不加转换
{returnval;
Tval;
2009年9月全国计算机等级考试二级C++笔试参考答案
一、选择题
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
D
(12)
C
(13)
B
(14)
(15)
(16)
A
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)
(30)
(31)
(32)
(33)
(34)
(35)
*本答案仅供参考
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国 计算机等级考试 二级 C+ 笔试 试题
![提示](https://static.bdocx.com/images/bang_tan.gif)