一、填空题
1.将代数式
______________ 换成程序设计中的表达式为 【1】。
╱ X*X+Y*Y
Z= ╱ ----------
╲╱ a+b
【参考答案】
【1】SORT(x^2+y^2)/(a+b)
2.【2】是数据库设计的核心。
【参考答案】
【2】数据模型
3.测试的目的是暴露错误,评价程序的可靠性;而【3】的目的是发现错误的位置并改正错误。
【参考答案】
【3】调试
4.在面向对象的设计中,用来请求对象执行某一处理或回答某些信息的要求称为【4】。
【参考答案】
【4】消息
5.常用的黑箱测试有等价分类法、【5】、因果图法和错误推测法4种。
【参考答案】
【5】边值分析法
6.【6】是C++语言程序的入口。
【参考答案】
【6】main()函数
7.C++语言的基本控制结构为顺序结构、选择结构和【7】。
【参考答案】
【7】循环结构
8.函数重载要求重载的函数必须有和原函数一样的【8】。
【参考答案】
【8】函数名
9.设置虚基类的目的是【9】,通过【10】表示虚基类。
【参考答案】
【9】解决二义性问题
【10】用关键字virtual
11. 语句cout<<′\n′还可表示为【11】。
【参考答案】
【11】cout<< p>
12.若已知a=10,b=20,则表达式!a< p>
【参考答案】
【12】1
13.友元类的所有成员函数都是另一个类的【13】。
【参考答案】
【13】友元函数
14.表达式x.operator++()还可写成【14】。
【参考答案】
【14】++x
15.若要在C盘根目录下作为二进制文件打开文件test.dat,则应该用的语句是:
【参考答案】
【15】ifstream fin(″C:\test.dat″,ios_binary);或ifstream fin;fin.open(c:\test.dat″,ios_bin
上机部分
二、改错题
使用VC6打开考生文件夹下的工程kt2_1,此工程包含一个源程序文件kt2_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:
Vehiclemessage
Carmessage
Vehiclemessage
源程序文件kt2_1.cpp清单如下:
#include
classvehicle
{
intwheels;
floatweight;
public:
voidmessage(void){cout<<"Vehiclemessage\n";}
};
classcar:publicvehicle
{
intpassenger_load;
public:
voidmessage(void){cout>>"Carmessage\n";}
};
classtruck:publicvehicle
{
intpassenger_load;
floatpayload;
public:
intpassengers(void){returnpassenger_load;}
};
voidmain()
{
vehicle*unicycle;
unicycle=newvehicle;
unicycle.message();
deleteunicycle;
unicycle=newcar;
unicycle->message();
deleteunicycle;
unicycle=newtruck;
unicycle->message();
deleteunicycle;
}
【参考答案】
(1)将void message(void){ cout<<"Vehicle message\n";}
改为:virtual void message(void){ cout<<"Vehicle message\n";}
(2)将void message (void){cout>>"Car message\n";}
改为:void message (void){cout<<"Car message\n";}
(3)将unicycle.message();
改为:unicycle->message();
【试题解析】
(1)主要考查对虚函数使用规则的掌握,要实现对函数message的动态联编应该使用虚函数,否则产生的是静态联编,调用的函数输出结果就与要求不符;
(2)主要考查对流输出操作的掌握,该处错误的使用了流输入操作;
(3)主要考查对象和对象指针的概念,对象指针使用"->"调用成员函数,而对象使用"."调用成员函数。
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |