2013年计算机二级考试C++模拟试题六及答案
一、填空题
1.用树结构表示实体类型及实体间联系的数据模型称为【1】。
【参考答案】
【1】层次模型
2.数据流图的类型有【2】和事务型。
【参考答案】
【2】变换型
3.在最坏情况下,堆排序需要比较的次数为【3】。
【参考答案】
【3】O(nlog2n)
4.软件开发环境是全面支持软件开发全过程的【4】集合。
【参考答案】
【4】软件工具
5.冒泡排序算法在最好的情况下的元素交换次数为【5】。
【参考答案】
【5】0
6.C++语言标识符是以字母或【6】开头的,由字母,数字和下划线组成的字符串。
【参考答案】
【6】下划线
7.mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回,请填空。
int mystrlen(char *str)
{ int i;
for(i=0;【7】!=′\0′;i++);
return(i);}
【参考答案】
【7】*(str+i)或str[i]
8.如果一个类中定义了成员对象,则该类的对象和成员对象先被初始化的是【8】。
【参考答案】
【8】类的成员对象
9.C++在重载运算符中,如用成员函数重载一元运算符参数表中需要【9】个参数,如用友元函数重载一元运算符参数表中需要【10】个参数。
【参考答案】
【9】0 【10】1
10. 假设int a=1,b=2;,则表达式(++a/b)*b--的值为【11】。
【参考答案】
【11】2
11.C++语句const char *const p=″hello″;,所定义的指针p和它所指的内容都不能被【12】。
【参考答案】
【12】改变
12.对于下面定义的类MyClass,请在函数f()中添加对象成员把n的值修改为50。
class MyClass
{
public:
MyClass(int x){n=x;}
void SetNum(int nl){n=nl;}
private:
int n;
};
int f()
{
MyClass *ptr=new MyClass(45);
【13】
}
【参考答案】
【13】ptr->SetNum(50);
13.表达式operator+(x,y)还可以表示为【14】。
【参考答案】
【14】x+y
14.通过使用new和delete两个运算符进行的分配为【15】存储分配。
【参考答案】
【15】动态
冲刺专题:2013年3月计算机二级考试冲刺专题
推荐新闻:计算机二级C++章节练习在线测试※计算机二级C++全真模拟试题及答案汇总
热点关注:2013年3月计算机等级考试试题答案首发通知※悬赏征集计算机等考真题及答案
更多练习>>参与233网校“计算机二级C++模拟估分”助您考试顺利通关!
上机部分一、改错题
使用VC6打开考生文件夹下的工程kt4_1,此工程包含一个源程序文件kt4_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:
1:
weight:5
age:0
2:
weight:7
age:9
源程序文件kt4_1.cpp清单如下:
#include
classanimal
{
public:
/****************found*******************/
friendvoidsetvalue(animal&,int);
/****************found*******************/
viodprint();
protected:
intitsweight;
intitsage;
};
voidanimal::print()
{
cout<<"weight:"<
cout<<"age:"<
}
voidsetvalue(animal&ta,inttw)
{
ta.itsweight=tw; www.Examda.CoM
ta.itsage=0;
}
voidsetvalue(animal&ta,inttw,inttn)
{
ta.itsweight=tw;
ta.itsage=tn;
}
voidmain()
{/****************found*******************/
animalpeppy
setvalue(peppy,5);
cout<<"1:"<
peppy.print();
setvalue(peppy,7,9);
cout<<"2:"<
peppy.print();}
【参考答案】
(1)添加友元函数的声明
friend void setvalue(animal&,int,int);
(2)将viod print();改为:void print();
(3)将animal peppy改为:animal peppy;
【试题解析】
(1)主要考查对成员函数定义规则的掌握,成员函数必须先声明再使用,即使是友元函数也不例外;
(2)主要考查对关键字的掌握,空类型应用void;
(3)主要考查对变量定义的掌握,该处缺少“;”。
冲刺专题:2013年3月计算机二级考试冲刺专题
推荐新闻:计算机二级C++章节练习在线测试※计算机二级C++全真模拟试题及答案汇总
热点关注:2013年3月计算机等级考试试题答案首发通知※悬赏征集计算机等考真题及答案
更多练习>>参与233网校“计算机二级C++模拟估分”助您考试顺利通关!
二、简单应用题请编写一个函数intSeqSearch(intlist[],intstart,intn,intkey),该函数从start开始,在大小为n的数组list中查找key值,返回最先找到的key值的位置,如果没有找到则返回-1。请使用for循环实现。
注意:部分源程序已存在文件kt4_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数SeqSearch的花括号中填写若干语句。
文件kt4_2.cpp的内容如下:
#include
intSeqSearch(intlist[],intstart,intn,intkey)
{
}
voidmain()
{
intA[10];
intkey,count=0,pos;
cout<<"Enteralistof10integers:";
for(pos=0;pos<10;pos++)
{
cin>>A[pos];
}
cout<<"Enterakey:";
cin>>key;
pos=0;
while((pos=SeqSearch(A,pos,10,key))!=-1)
{
count++;
pos++;
}
cout<
}
【参考答案】
int SeqSearch(int list[], int start, int n, int key)
{
for(int i=start;i
{
if(list[i]==key)
{
return i;
}
}
return -1;
}
【试题解析】
本题考查的是考生使用for和if等基本控制结构的综合水平,查找一个数组中的指定元素并返回序号是一个基本操作,注意一维数组的实参格式。
冲刺专题:2013年3月计算机二级考试冲刺专题
推荐新闻:计算机二级C++章节练习在线测试※计算机二级C++全真模拟试题及答案汇总
热点关注:2013年3月计算机等级考试试题答案首发通知※悬赏征集计算机等考真题及答案
更多练习>>参与233网校“计算机二级C++模拟估分”助您考试顺利通关!
三、综合应用题使用VC6打开考生文件夹下的工程kt4_3,此工程包含一个源程序文件kt4_3.cpp,其中定义了用于表示向量的类vector,但类vector的定义并不完整。请按要求完成下列操作,将类vector的定义补充完整。
(1)补充类vector的构造函数,该函数有参数x和y,它们都是int型的数据,默认值都为0。请使用参数列表的形式分别将类的数据成员a和b分别初始化为参数x和y的值。请在注释“//**1**”之后添加适当的语句。
(2)完成类vector的成员函数input(intx,inty)的定义,将int型的参数x和y分别赋值给数据成员a和b,请在注释“//**2**”之后添加适当的语句。
(3)完成类vector的友元函数frienddoubleMultiply(vector&x,vector&y)的定义,先定义double型的临时变量c,然后将参数对象x和对象y的数据成员a与b分别相乘再相加后赋值给c,最后返回c的值,将请在注释“//**3**”之后添加适当的语句。输出结果如下:
(10,20)
(2,3)
80
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
源程序如下:
#include
classvector
{
inta;
intb;
public: 来源:考试大网
//**1**
voidinput(intx,inty)
{//**2**}
voidoutput()
{cout<<'('<
frienddoubleMultiply(vector&x,vector&y);
};
doubleMultiply(vector&x,vector&y)
{
//**3**
c=x.a*y.a+x.b*y.b;
returnc;
}
voidmain()
{
vectorx(10,20),y;
doubled;
y.input(2,3);
d=Multiply(x,y);
x.output();
y.output();
cout<
}
【参考答案】
(1)vector (int x=0,int y=0):a(x),b(y){}
(2)a=x; b=y;
(3)double c;
【试题解析】
本题主要考查类的定义和友元函数定义,其中(1)中的参数列表形式和(3)中对象访问成员使用“.”操作符。
冲刺专题:2013年3月计算机二级考试冲刺专题
推荐新闻:计算机二级C++章节练习在线测试※计算机二级C++全真模拟试题及答案汇总
热点关注:2013年3月计算机等级考试试题答案首发通知※悬赏征集计算机等考真题及答案
更多练习>>参与233网校“计算机二级C++模拟估分”助您考试顺利通关!