全国2006年1月高等教育自学考试面向对象程序设计试题解析
200601高等教育程序设计
全国2006年1月高等教育自学考试面向对象程序设计试题课程代码:02328一、单项选择题(本大题共10小题,每小题2分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.面向对象程序设计中的数据隐藏指的是()A.输入数据必须输入保密口令B.数据经过加密处理C.对象内部数据和代码合并在一起D.对象内部数据结构的不可访问性2.在C++中,编写一个内联函数Fun,使用int类型的参数,求其平方并返回,返回值也为int类型,下列定义正确的是()A.int Fun(int x){return x*x;}B.inline int Fun(int x){return x*x;}C.int inline Fun(int x){return x*x;}D.int Fun(int x){inline return x*x;}3.下面关于重载函数的叙述中正确的是()A.重载函数必须具有不同的返回值类型B.重载函数的形参个数必须不同C.重载函数必须有不同的形参列表D.重载函数的函数名可以不同4.若有定义“int x=17;”,则语句“cout<<oct<<x;”的输出结果是()A.11B.0x11C.21D.0215.下列关于析构函数的描述中正确的是()A.析构函数可以重载B.析构函数可以是虚函数C.析构函数名与类名相同D.析构函数的返回类型为void6.下列关于纯虚函数的描述中,正确的是()A.纯虚函数是一种特殊的虚函数,它是个空函数B.具有纯虚函数的类称为虚基类C.一个基类中说明有纯虚函数,其派生类一定要实现该纯虚函数D.具有纯虚函数的类不能创建类对象7.下列关于运算符重载的描述中,正确的是()A.可以改变运算符的目数B.可以改变运算符的优先级C.可以改变运算符的结合性D.可以改变运算符的功能8.要将类A说明是类B的虚基类,正确的描述是()A.class virtual B:public AB.class B:virtual public AC.virtual class B:public AD.class B:public A virtual9.下面关于静态成员的描述中,正确的是()A.静态数据成员是类的所有对象共享的数据B.类的每个对象都有自己的静态数据成员C.类的不同对象有不同的静态数据成员值-第1 页共12 页D.静态数据成员不能通过类的对象访问10.假设Sample是个类,则语句“Sample a[2],*p[3];”调用构造函数的次数为()A.0 B.2C.3D.5二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。
2020年1月全国自考面向对象程序设计试题及答案解析
全国2018年1月高等教育自学考试面向对象程序设计试题课程代码:02328一、单项选择题(本大题共10小题,每小题2分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.面向对象程序设计中的数据隐藏指的是()A.输入数据必须输入保密口令B.数据经过加密处理C.对象内部数据和代码合并在一起D.对象内部数据结构的不可访问性2.在C++中,编写一个内联函数Fun,使用int类型的参数,求其平方并返回,返回值也为int类型,下列定义正确的是()A.int Fun(int x){return x*x;}B.inline int Fun(int x){return x*x;}C.int inline Fun(int x){return x*x;}D.int Fun(int x){inline return x*x;}3.下面关于重载函数的叙述中正确的是()A.重载函数必须具有不同的返回值类型B.重载函数的形参个数必须不同C.重载函数必须有不同的形参列表D.重载函数的函数名可以不同4.若有定义“int x=17;”,则语句“cout<<oct<<x;”的输出结果是()A.11B.0x11C.21D.0215.下列关于析构函数的描述中正确的是()A.析构函数可以重载B.析构函数可以是虚函数C.析构函数名与类名相同D.析构函数的返回类型为void6.下列关于纯虚函数的描述中,正确的是()A.纯虚函数是一种特殊的虚函数,它是个空函数B.具有纯虚函数的类称为虚基类C.一个基类中说明有纯虚函数,其派生类一定要实现该纯虚函数D.具有纯虚函数的类不能创建类对象7.下列关于运算符重载的描述中,正确的是()A.可以改变运算符的目数B.可以改变运算符的优先级C.可以改变运算符的结合性D.可以改变运算符的功能8.要将类A说明是类B的虚基类,正确的描述是()A.class virtual B:public AB.class B:virtual public AC.virtual class B:public AD.class B:public A virtual9.下面关于静态成员的描述中,正确的是()A.静态数据成员是类的所有对象共享的数据B.类的每个对象都有自己的静态数据成员1C.类的不同对象有不同的静态数据成员值D.静态数据成员不能通过类的对象访问10.假设Sample是个类,则语句“Sample a[2],*p[3];”调用构造函数的次数为()A.0 B.2C.3D.5二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。
计算机10级面向对象程序设计 考试试卷(B卷) 参考解答
5.在VC6.0开发环境中,可以同时开发几个工程。()
6.如果在一个类的对象之间要进行数据交换,可以使用该类的静态数据成员来完成。()
7.如果一个类的所有对象都共享某一个变量,则应当将该变量定义为该类的私有成员。()
8在C++中,文件的输入输出可以通过iostream类对象来完成。()
(5)iSum
四、阅读下面的程序,写出程序运行的结果。(共26分)
1.程序1(6分)
#include <iostream>
using namespace std;
int main()
{ int a=5,b;
int &c=b;
int f(int x,int y,int z);
b=a++;
c=f(a,b,c);
一、判断题,正确的在下列表格中打√,错误的打×(每小题1分,共10分)(评分标准:每对一个得1分)
1
2
3
4
5
6
7
8
9
10
×
√
√
√
√
√
×
×
×
×
1.C++程序总是从第一个定义的函数开始执行。()
2.在MFC编程中,通过Invalidate(TRUE)可以发出重绘视图的消息。()
3.在内存中,一个字符常量或变量是以ASCII码值存储的,它可直接作为整数值参加运算。()
第1页共4页
三、填空题(每空2分,共10分)
下面是一个求数组元素之和的程序。主程序中定义并初始化了一个数组,然后计算该数组各元素的和,并输出结果。函数sum计算数组元素之和,填充程序中不完整的部分。
面向对象程序设计考前复习题及答案
简答题1、传统的结构化程序设计的优点和缺点是什么?优点:(1)这种程序设计方法力求算法描述准确。
(2)对每一子过程模块容易进行程序正确性证明。
缺点:(1)这种程序设计方法本质上是面向“过程”的,而“过程”和“操作”又是不稳定和多变的,因此不能直接反映人类求解问题的思路。
(2)程序代码可重用性差。
程序中除少数标准库函数外,每设计一个程序时,程序员几乎从零做起。
即使重用代码,通常也是通过拷贝或编辑重新生成一份。
(3)维护程序的一致性困难。
该种方法将数据与对数据进行处理的程序代码分离。
2、什么是对象?每个对象都具有属性(Attribute)和方法(Method)这两方面的特征。
对象的属性描述了对象的状态和特征,对象的方法说明了对象的行为和功能,并且对象的属性值只应由这个对象的方法来读取和修改,两者结合在一起就构成了对象的完整描述。
3、什么是消息?在面向对象的程序设计中,由于对象描述了客观实体,它们之间的联系通过对象间的联系来反映。
当一个对象需要另外一个对象提供服务时,它向对方发出一个服务请求,而收到请求的对象会响应这个请求并完成指定的服务。
这种向对象发出的服务请求就称为消息。
4、什么是多态性? 所谓多态性是指当程序中的其他部分发出同样的消息时,按照接收消息对象的不同能够自动执行类中相应的方法。
其好处是,用户不必知道某个对象所属的类就可以执行多态行为,从而为程序设计带来更大方便。
5、什么是面向对象的程序设计方法?这种方法将设计目标从模拟现实世界的行为转向了模拟现实世界中存在的对象及其各自的行为。
在OOP中,将“对象”作为系统中最基本的运行实体,整个程序即由各种不同类型的对象组成,各对象既是一个独立的实体,又可通过消息相互作用,对象中的方法决定要向哪个对象发消息、发什么消息以及收到消息时如何进行处理等。
6、面向对象方法的特点是什么?(1)OOP以“对象”或“数据”为中心。
由于对象自然地反映了应用领域的模块性,因此具有相对稳定性,可以被用作一个组件去构成更复杂的应用,又由于对象一般封装的是某一实际需求的各种成分,因此,某一对象的改变对整个系统几乎没有影响。
1月全国自考面向对象程序设计试题及答案解析
全国2018年1月高等教育自学考试面向对象程序设计试题课程代码:02328一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。
每小题2分,共38分)1.下面对于指针的描述不正确的是( )。
A.指针是地址变量B.指针不能用除0以外的常量赋值C.两个指针变量的加减法无意义D.指针指向不同基类型的变量长度不同2.下面对于析构函数的描述中不正确的是( )。
A.析构函数是内置函数B.析构函数与类名相同C.析构函数不能有参数D.析函数在对象撤销时自动执行3.下列指针用法中错误的是( )。
A. int i;int*ptr=&i;B. int i;int *ptr;i=*ptr;C. int *ptr;ptr=0;D. int i=5;int *ptr;*ptr=i;4.派生类的对象对它的基类成员中什么是可访问的( )?A.公有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.私有继承的公有成员5.在( )情况下适宜采用inline定义内联函数。
A.函数体含有循环语句B.函数体含有递归语句C.需要加快程序的执行速度D.函数代码多、不常调用6.在类中说明的成员可以使用关键字( )进行修饰。
A. publicB. externC. cpuD. register7.如果类A被说明成类B的友元,则( )。
A.类A的成员即类B的成员B.类B的成员即类A的成员C.类A的成员函数不得访问类B的成员D.类B不一定是类A的友元8.定义析构函数时,应该注意( )。
A.其名与类名完全相同B.返回类型是void类型C.无形参,也不可重载D.函数体中必须有delete语句9.在类中声明转换函数时不能指定( )。
A.参数B.访问权限C.操作D.标识符10.在派生类中重新定义虚函数时必须在( )方面与基类保持一致。
A.参数类型B.参数名字C.操作内容D.赋值111.设int a=3,b=4,c=5;表达式(a+b)>c&&b==c的值是( )。
通信06 面向对象程序设计 考试参考答案(A卷)
public:
int GetNum() { return Num;};
int GetAge() { return Age;};
Student(int Num0=1001, string Name0="张三", int Age0=20,char Sex0='1')
{
Num = Num0;
五、理解问答题(8分)
1.(3分,评分标准:前一份为1分,后一份为2分)
称为:虚函数。
作用:可以通过基类指针或引用来访问基类和派生类中的同名函数。
2.写出程序运行的结果。(3分,评分标准:正确给3分,格式不对扣1分)
25
10
3.(2分,评分标准:前一份为1分,后一份结果为1分)
程序能运行,其运行结果为:
}
int main()
{
Student s1,s2(1002,"李四",21,'1');
if (s1.GetAge()>s2.GetAge())
{
s1.display();
s2.display();
}
else
{
s2.display();
s1.display();
}
return 0;
}
2.答:三种继承的差异为:
(a)公用继承:基类的公用成员和保护成员在派生类中保持原有访问属性,其私有成员仍为基类私有。(2分)
(b)私有继承:基类的公用成员和保护成员在派生类中成了私有成员。其私有成员仍为基类私有。(3分)
(c)受保护的继承:基类的公用成员和保护成员在派生类中成了保护成员,其私有成员仍为基类私有。(3分)
2004级C++面向对象程序设计试题A参考答案
{ hitpoint-=harm; if(hitpoint<0) hitpoint=0; } int GetHP() const {return hitpoint;} int GetDemage() const {return demage;} int GetDefense() const {return defense;} protected: int hitpoint; int demage; int defense; }; bool Monster::fight(Monster & other) { while(true) { attack(other); if(other.GetHP()<=0) return true; other.attack(*this); if(hitpoint<=0) return false; } }
一、单选题(共 10 分,每题 1 分) 1. 已知 f1 和 f2 是同一类中的两个成员函数,若 f1 的实现代码体内不能调用 f2,则最可能 的情况是: (本题有点问题,D 的情况也可能出现,如 f1 是常成员函数,而 f2 不是) (A) f1 和 f2 都是静态函数 (B) f1 是静态的,f2 不是 (C) f1 不是静态的,f2 是静态的 (D) f1 和 f2 都不是静态函数 2. 一个对象所占的内存空间中可以保存下面哪类数据? (A) 静态数据成员 (B) 内联函数代码 (C) 所有成员函数的入口地址 (D) 虚函数表的入口地址 3.下面关于 new 和 delete 操作符的说法,哪个是不正确的: (A) 使用 new 操作符,可以动态分配全局堆中的内存资源。 (B) 用 new 申请的数组,必须用 delete[] 释放。 (C) 用 new 申请的空间,即使不调用 delete 释放掉,当程序结束时也会自动释放掉。 (D) 执行语句 A * p=new A[100];时,类 A 的构造函数会被调用 100 次。 4. 下列哪种函数可以是虚函数: (A) 自定义的构造函数 (B) 拷贝构造函数 (C) 静态成员函数 (D) 析构函数 5.C++的最小编译单位是: (A) 工程中每个.cpp 和.h 文件 (B) 工程中每个.cpp 文件 (C) 工程中每个.h 文件 (D) 工程中所有文件 6.下面表达式中不可能作为左值(赋值运算符左侧)的是: (A) a=b (B) *p (C) f(a,b) (D) &a 7.在实现函数 A& f(A & obj) 时,下面的哪一个表达式可以出现在 return 语句中? (A) new A( ) (B) obj (C) &obj (D) new A(obj) 8.判断类 A 的两个对象 a1 与 a2 是否是同一个对象的方法是: (A) 利用调试器,查看 a1 与 a2 各成员数据的值是否相等 (B) 重载 == 运算符,用它来判断各成员数据的值是否相等。 (C) 判断这两个对象的地址值是否相等。 (D) 比较创建时使用的构造函数的实参是否相同。 9.已知 obj 是一个对象,下面哪一个表达式是不可能出现的? (A) obj.100 (B) !obj (C) obj++ (D) obj,100
计06 面向对象程序设计 考试参考答案(A卷)
(1)写出程序运行的结果。(3分,评分标准:正确给3分)
c1<c2
(2)如果删除程序中的第11、17、18、19行,则程序编译时,在什么位置会出错?为什么?(3分,评分标准:答对前一份给2分,答对后一份给1分)
在24行会出错。
因为:if (c1>c2)中c1和c2是两个对象,要进行运算,必须重载运算符“>”。
Box(float L=1.0, float W=1.0, float H=1.0)
{
Length = L;
Width = W;
Height = H;
}
};
int main()
{
Bo b1.GetVolume();
v2 = b2.GetVolume();
if (v1>v2)
cout<<v1<<" "<<v2<<endl;
else
cout<<v2<<" "<<v1<<endl;
return 0;
}
六、编程题(18分,评分标准:写出类Box得8分,编出main()函数得10分,注意:程序的所有等价写法同样给分)
#include <iostream.h>
class Box
{
private:
float Length,Width,Height;
public:
float GetVolume() { return Length*Width*Height;};
60
25
60
25
3.程序3(10分,评分标准:前面con和后面des的输出每行0.5分,中间数字输出每行1分)
软考初级程序员考试历年真题精心整理系列之2006年全年程序员考试真题及答案分析一定要好好复习哦
2006年上半年程序员上午试题●在Word的编辑状态,若选择了表格中的一行,执行了表格菜单中的“删除列”命令,则___(1)___;若要对当前正在编辑的文件加“打开权限密码”,则应该选择___(2)___,然后按相关提示操作即可。
(1)A.整个表格被删除B.表格中一行被删除C.表格中一列被删除D.表格中没有被删除的内容(2)A.“编辑”菜单的“选项”B.“插入”菜单的“文件”C.“文件”菜单的“页面设置”D.“工具”菜单的“选项”●___(3)___是Excel工作簿的最小组成单位。
若用户需要对某个Excel 工作表的Al:G1的区域快速填充星期一、星期二、……、星期日,可以采用的方法是在A1单元格填入“星期一”并___(4)___拖动填充柄至G1单元格。
(3)A.工作表B.行C.列D.单元格(4)A.向垂直方向B.向水平方向C.按住Ctrl键向垂直方向D.按住Ctrl键向水平方向●Outlook Express是一个___(5)___处理程序。
(5)A.文字B.表格C.电子邮件D.幻灯片●与外存储器相比,内部存储器的特点是___(6)___。
(6)A.容量大、速度快、成本低B.容量大、速度慢、成本高C.容量小、速度快、成本高D.容量小、速度慢;成本低●存取速度最快的是___(7)___。
(7)A.CPU内部寄存器B.计算机的高速缓存Cache C.计算机的主存D.大容量磁盘●堆栈最常用于___(8)___。
(8)A.实现数据循环移位D.实现程序转移C.保护被中断程序的现场D.数据的输入输出缓冲存储器●在下面对USB接口特点的描述中,___(9)___是USB接口的特点。
(9)A.支持即插即用B.不支持热插拔C.提供电源容量为12V×1000mAD.由六条信号线组成,其中两条用于传送数据,两条传送控制信号,另外两条传送电源●某种部件使用在10000台计算机中,运行工作1000小时后,其中20台计算机的这种部件失效,则该部件干小时可靠度R为___(10)___。
计面向对象程序设计考试试卷(A卷)参考解答
姓名
2. 程序 2(10 分) #include <iostream.h> //Toy-car class CToy { public: CToy( ) { cout<<"Create CToy."<<endl;} CToy(char color) {cout<<"Create CToy:"<<color<<endl;} ~CToy( ) {cout<<"delete CToy."<<endl; } }; class CCar { public: CCar(int Tire=4) {cout<<"create CCar:"<<Tire<<endl;} ~CCar( ){cout<<"delete CCar."<<endl; } }; class CToy_Car:public CToy,public CCar { public: CToy_Car(int p ):member(), CCar(p ),CToy() {cout<<"create CToy_Car."<<endl;} ~CToy_Car( ){cout<<"delete CToy_Car."<<endl; private: CToy member; }; void main( ) { CToy_Car toyc(4); }
6.在定义二维数组时,语句“int Sum[][2]={{1,2},{3},{}}; ”是正确地.(
9. 在编程中,有了面向对象地程序设计方法后,就不要用面向过程地程序设计方法了. ( 10. 类中地静态成员数据为该类地所有成员所共享,在初始化后,它地值不能被修改.(
2006年(上)高等教育自学考试全国统一命题考试计算机软件基础(一)试卷及参考答案
2006年(上)高等教育自学考试全国统一命题考试计算机软件基础(一)试卷及参考答案第一部分选择题一、单项选择题(本大题共40小题。
每小题l 分,共40分)在每小题列出的四个备选项中只有一个是符合题目要求的。
请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.已知:int a=3,b=5,t ;要将a 和b 中的数值进行交换,错误的C 语言程序段是 ( )A .a=a+b ;b=a-b ;a=a-b ;B .t=a ;a=b ;b=t ;C .t=a ;b=a ;a=t ;D .t=b .b=a ;a=t ; 2.关于C 语言程序中的#include<math .h>,错误的描述是 ( ) A .#include 是C 语言的编译命令 B .在程序中该行不需要分号 C .是把math .h 包含进来的意思 D .math .h 是一个函数 3.用c 语言表示算式,表示错误的是 ( )A .2*a*d /c /bB .2*a*d /b /cC .2*a*d /b*CD .a*d /e /b*2 4.下列C 语言程序段执行后,y 的值是 ( ) double x=1,y ; y=x+3/2;A .1B .2C .2.OD .2.5 5.下列程序的运行结果是( )A .-lB .0C .1D .86.C 语言中,已知int a ;float b ;调用下列函数时,将30和5.5分别赋给变量a 和b,则正确的( )7.下列程序的运行结果是( )A .003B .012C .103D .1128.已知int x=100,y=200;则下列C 语言语句的输出结果是( ) printf(”%dft ,(x ,y));A .100B .200C .100 200D .格式符个数不够,输出不确定的值 9.C 语言中,已知int a ,b=5;给a 提供数据的错误语句是 ( )A .a='c':B .seanf(”%d”,&a);C .a=(b+6)/3;D .10+2=a ; 10.C 语言中,对于逻辑表达式a||b||C 正确的解释是 ( )A .只要a 为非零,就不再判断b 和CB .如果a 为非零,还要继续判断b 和C C .先判断b 和c 逻辑关系,再判断a 和它们的关系D .只要a 为零,就不必判断b 和C 11.C 语言中,错误的叙述是 ( )A .a>b&&c>d 等价于(a>b)&&(c>d)B .!b==C||d<a 等价于((!b)==c)||(d<a)C .a+b>c&&x+y<b 等价于((a+b)>c)&&((x+y)<b)D .a=!b>d&&j-3等价于a=!(b>d)&&j-3 12.下列C 语言程序段的输出结果是( )A .a=0B .a=0defaultC .a=0a=1defaultD .default 13.C 语言中,下列运算符优先级最低的是( ) A .<= B .!= C .< D .> 14.C 语言中,多重循环是指 ( )A .程序中有2个以上的循环语句B .循环体中有2个以上的语句C .循环体中包含了另一个循环语句D .循环次数多 15.对下列C 语言程序段中do —while 循环的正确描述是 ( ) x=-l : do{x=x*x ; )while(!x);A .循环体执行1次B .循环体执行2次C .是无限循环D .程序段中有语法错误 16.下列程序的运行结果是( )A .x=4,y=4,z=1B .x=5,y=4,z=1C .x=5,y=4,z=3D .x=5,y=5,z=1 17.已知int a ,x ,y ;有语法错误的C 语言语句是 ( ) A .while(x)y++; B .while(x+y=O)a++;C .while(x<y);D .while(y=5)printf(”%d”,x);18.已知:int a[]={1,2,3,4,5,6,7);char cl='b' ,c2='2';则结果不为2的C 语言表达式是( ) A .a[1] B .'d'-cl C .a[ '3'-c2] D .c2-019.下列程序的运行结果是( )A .16B .21C .数组元素x[3]的地址D .数组元素x[4]的地址 20.C 语言中,正确的字符串赋值语句是( )21.C 语言中,一维数组正确的定义形式是 ( )A .类型说明符数组名[常量表达式]B .类型说明符 数组名[整型表达式] c .类型说明符数组名[算术表达式] D .类型说明符数组名[整型常量表达式] 22.下列程序的运行结果是( )A .0 8.3 C .4 D .523.关于C 语言函数的调用,正确的叙述是 ( )A .C 语言源程序中至少要包含一个函数。
自学考试面向对象程序设计试题以及答案
一、选择题1、程序设计中,首先在问题域中识别出若干个()A.函数B.类C.文件D.过程2、定义类模板用关键字()A.constB.newC.deleteD.template3、运算结果类型相同的()A. 9.0/2.0 9.0/2B. 9/2.0 9/2C. 9.0/2 9/2D. 9/2 9.0/2.04、已知f1 f2同一类两个成员函数,但f1不能调用f2,说明()a.f1 f2都是静态函数b.f1是静态,f2不是c.f1不是,f2是静态d.f1 f2都不是静态函数5、调用一成员函数时,使用动态联编的情况是()A.通过对象调用一虚函数B.通过指针或引用调用一虚函数C.通过对象调用静态函数D.通过指针或引用调用一静态函数6、假定一个类构造函数为:“A(int aa=1,int bb=0){a=aa;b=bb;}则执行"A x(4)"后,x.a和x.b值分别是:()A.1,0B.1,4C.4,0D.4,17、在派生类中能直接访问基类的()A.公有成员,私有成员B.保护成员,私有成员C.不可访问成员,私有成员D.公有成员,保护成员8、不具访问权限属性的是:( )A.非类成员B.类成员C.数据成员D.函数成员9、类定义中private,protected,public 出现次数为()A.任意多次B.至多一次C.public 至少一次D.至少一次10、C++鼓励程序员将()A.数据操作分别封装B.不同类型数据封装C.数据操作封装在一起D.不同作用操作封装在一起二、填空1、C++中,最好用()代替malloc2、函数模板中template之后尖括号的类型参数冠以保留字()3、在IOS类中定义的用于格式控制的枚举变量中十、八、十六进制是dec,oct,( )4、如果重载了运算符+,则相应运算函数名是()5、由static修饰的数据成员为该类的所有对象()6、为了实现多态性,派生类需要重新定义基类中的()7、编译时多态性通过()函数实现。
《面向对象程序设计》期末考核试题样例及解答
《面向对象程序设计》期末考核试题样例及解答一、单项选择(每小题1分,12小题,共12分)1. C++源程序文件的缺省扩展名为( )。
A. cppB. exeC. objD. lik2. x>0 || y==5的相反表达式为()。
A. x<=0 || y!=5B. x<=0 && y!=5C. x>0 || y!=5D. x>0 && y==53. 在下面的字符数组定义中,有语法错误的是( )。
A. char a[20]=“abcdefg”;B. char a[]=“x+y=55.”;C. char a[15];D. char a[10]=’5’;4. 以下正确的函数原型语句是( )。
A. double fun(int x,int y)B. double fun(int x;int y)C. double fun(int,int);D. double fun(int x,y);5. 在下面存储类中,()的对象不是局部变量。
A. 外部静态类B. 自动类C. 函数形参D. 寄存器类6. 假定有“struct BOOK{char title[40]; float price;}; BOOK *book=new BOOK;”,则正确的语句是()。
A. strcpy(book->title,”Wang Tao”);B. strcpy(book.title,”Wang Tao”);C. strcpy(*book.title,”Wang Tao”);D. strcpy((*book)->title,”Wang Tao”);7. 软件产品所具有的全部或部分地再用于新的应用的能力称为该软件的()。
A. 可维护性B. 可复用性C. 兼容性D. 正确性8. 在多文件结构的程序中,通常把含有main()函数的文件称为()。
A. 主文件B. 实现文件C. 程序文件D. 头文件9. 在一个用链表实现的队列类中,假定每个结点包含的值域用elem表示,包含的指针域用next表示,链队的队首指针用elemHead表示,队尾指针用elemTail表示,若链队为空,则进行插入时必须把新结点的地址赋给( )。
全国2006年1月高等教育自学考试高级语言程序设计(一)试题
全国2006年1月高等教育自学考试高级语言程序设计(一)试题课程代码:00342一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.可以用作C程序标识符的一组是()A.printB.i\amoodb one-halfaBc 3paiC.PxqD.Cppline# powHis.age while2.以下叙述正确的是()A.宏名必须用大写的英文字母表示B.宏定义不仅是符号替换,也可以赋值C.宏替换是在程序编译时完成的,不占用程序运行时间D.引用带参数的宏时,实际参数与宏定义中的形式参数类型应一致3.设char a='\70';则变量a中()A.包含1个字符B.包含2个字符C.包含3个字符D.是非法表示4.设long i=65539;,执行语句printf("%d",i);后的输出结果是()A.-3B.3C.65539D.数据不确定5(F-32)能正确表示成C语言赋值表达式的是5.设float c,f;,将数学表达式C=9()A.c=5*(f-32)/9B.c=5/9(f-32)C.c=5/9*(f-32)D.c=5/(9*(f-32))6.设int i=10;,表达式30-i<=i<=9的值是()A.0B.1C.9D.207.以下不能..看作一条C语句的是()A.{;}B.a=5,b=5,c=5;C.if(x>=0&&y=0);D.if(x= =0)a=5;b=10;8.在函数调用时,以下说法正确的是()A.函数调用后必须带回返回值B.实际参数和形式参数可以同名C.函数间的数据传递不可以使用全局变量D.主调函数和被调函数总是在同一个文件里9.设int x=7;,执行语句x=x <<2;后,变量x的值是()A.1B.3C.14D.2810.执行语句printf("|%9.4f|\n",12345.67);后的输出结果是()A.|2345.6700|B.|12345.6700|C.|12345.670|D.|12345.67|11.以下说法中正确的是()A.字符型变量可以存放字符串B.递归调用是指函数调用自己C.所有的外部函数只能在本文件中被调用D.在循环体中break语句和continue语句的作用都是结束循环12.设char s[6],*ps=s;,则正确的赋值语句是()A.s="12345";B.*s="12345";C.ps="12345";D.*ps="12345";13.设int a[ ]={1,2,3,4,5},*p=a;则数组元素的正确表示是()A.a[2]B.&(a+1)C.a[5]D.&p14.对二维数组的正确定义是()A.int a[ ] [ ]={1,2,3,4,5,6};B.int a[2] [ ]={1,2,3,4,5,6};C.int a[ ] [3]={1,2,3,4,5,6};D.int a[2,3]={1,2,3,4,5,6};15.字符数组s不能..作为字符串使用的是()A.char s[ ]="happy";B.char s[ ]={"happy"};C.char s[6]={'h','a','p','p','y'};D.char s[4]={'h','a','p','p','y'};16.若定义函数:fun(int a,float b){return a+b;}则该函数的数据类型是()A.intB.voidC.floatD.不确定17.设struct st{ int a;float b;}s, *p=&s;则正确的引用是()A.(*).s.aB.(*p).aC.p->s.a18.设enum color {red,yellow=2,blue,white,black}r=white;,执行printf("%d",r);后的输出结果是()A.0B.1C.3D.419.以下说法中错误..的是()A.共用型数据中所有成员的首地址都是同一个B.可以用已定义的共用型来定义数组或指针变量的类型C.共用型数据中的成员可以是结构型,但不可以是共用型D.用typedef定义新类型取代原有类型后,原类型仍可有效使用20.设#define L(x) 2*3.14*x则L(x)是()A.函数名B.函数调用C.无参的宏名D.带参的宏名二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。
2006年1月全国自考数据结构试题及答案
n,此时最少。 有序表 B 中的第 i 个元素不小于有序表 A 中的第 i 个元素,但不大于有序表 A 中的 第 i+1 个元素。此时归并时就要按次序轮流取其元素合并,因此比较次数达到 2n-1, 此时最多。 29.对下列关键字序列(33,25,48,59,36,72,46,07,65,20)构造表长为 19 的散 列 表 。 假 设 散 列 函 数 为 h(key)=key%13, 用 开 放 地 址 法 解 决 冲 突 , 探 查 序 列 为 d=h(key),d+12,d-12,d+2 2,d-2 2,d+32,d-32,…,等等。 (1)画出该散列表; (2)计算该散列表的装填因子α; (3)求出等概率情况下查找成功的平均查找长度 ASL。
答:由有向图 G 的 DFS 生成森林和 BFS 生成森林得图 G
a
e
b
g
c
f
d
其深度优先遍历为 acfbdge,其广度优先遍历为 begdfac。 28.当将两个长度均为 n 的有序表 A=(a1,a2,…,an)与 B=(b1,b2,…,bn)(ai≠bj, 1≤i,j≤n)归并为一个有序表 C=(c1, c2,…,c2n)时,所需进行的元素比较次数最少可达 n, 最多可达 2n-1。 (1)假设有序表 C=(2,4,5,6,7,9),试举出两组 A 与 B 的例子,使它们在归并过程 中进行的元素比较次数分别达到最少和最多; (2)写出一般情况下,使归并所需进行的元素比较次数分别达到最少和最多时,A 与 B 中 的元素应满足的条件。 答:(1)比较次数达到最少时的情况:A=(2,4,5),B=(6,7,9);
专升本《面向对象程序设计》考试答案
[试题分类]:专升本《面向对象程序设计》_08023050[题型]:单选[分数]:21.对于如下操作合法的为()。
A.见图B.见图C.见图D.见图答案:A2.C++指针变量int*const&p表示()。
A.右边的引用引用左边的指针,且右边的引用不能被修改B.左边的指针指向右边的引用,且左边的指针不能被修改C.左边的指针指向右边的引用,且右边的引用不能被修改D.右边的引用引用左边的指针,且左边的指针不能被修改答案:A3.对于定义函数调用g.e.f()调用的函数为()。
A.见图B.见图C.见图D.见图答案:C4.的值为()。
A.1B.3C.4D.2答案:D5.关于C++的位段叙述哪个正确()。
A.可以出现在struct中,但不能出现在class中B.不能出现在struct中,但可以出现在class中C.不能出现在struct中,也不能出现在class中D.可以出现在struct中,也能出现在class中答案:D6.如果不是释放数组指针指向的内存,delete后面使用的指针的类型为()。
A.void*B.int*C.char*D.double*答案:A7.对于定义函数f的隐含参数this的类型为()。
A.volatileE*constB.constE*constC.constE*volatileD.constvolatileE*const答案:D8.C++的类F定义的类F的函数成员()。
A.不能定义为friend的,可以定义为static的B.可以定义为friend的,不能定义为static的C.可以定义为friend和static的D.不能定义为friend和static的答案:A9.运算符“.”的左部()A.不能出现返回代表对象的函数调用,不能出现对象B.可以出现返回代表对象的函数调用,可以出现对象C.可以出现返回代表对象的函数调用,不能出现对象D.不能出现返回代表对象的函数调用,可以出现对象答案:B10.引用变量()。
1008面向对象程序设计(上机)A答案
浙江广播电视大学二○○六年春季学期期末考试“开放本科”计算机科学与技术专业面向对象程序设计(上机)试题参考答案2006年7月完整的正确程序如下:#include<iostream.h>#include<string.h>class employee{char *name; // 雇员姓名short age; // 年龄float salary; // 工资public:employee();void set_name(char *);void set_age(short a);void set_salary(float s);void print();~employee()};employee::employee(){name=0;age=0;salary=0.0;}employee::~employee(){delete[]name;}void employee::set_age(short a){age = a;}void employee::set_salary(float s){salary = s;}void employee::set_name(char *n){name=new char[strlen(n)+1];strcpy(name,n);}void employee::print(){cout<<"Name: "<<name<<endl;cout<<"Age: "<<age<<endl;cout<<"Salary: "<<salary<<endl;}void main(){short ag=0;float sa=0;char *na=new char[20];employee emp;cout<<"Please input name:";cin>>na;cout<<"Please input age:";cin>>ag;cout<<"Please input salary:";cin>>sa;emp.set_name(na);emp.set_age(ag);emp.set_salary(sa);emp.print();}说明:1.程序可以正常运行,并得到正确结果得满分。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
class Point
{
int X,Y;
public:
Point( ){X=0;Y=0;}
Point(int x=0,int y=0){X=x;Y=y;}
void display( ){cout<<X<<","<<Y<<endl;}
};
23.下面的程序有一处错误,请用下横线标出错误所在行并说明错误原因。
15.如果一个引用不是用作函数参数或返回值,则在说明该引用时必须对它进行________________。
16.如果要把PI声明为值为3.14159类型为双精度实数的符号常量,该声明语句是________________。
17.在C++中函数原型不但要标识一个函数的返回类型,同时还要标识该函数的________________。
#include<iostream.h>
template<class T>
void Swap(T& a,T& b)
{
T t;
t=a,a=b,b=,b=4;
char str1[5]=”abcd”,str2[5]=”hijk”;
Swap(a,b);
Swap(str1,str2);
自考网校免费试听.自考名师.课件更新.报名演示.学习卡.
最权威的师资阵容
最及时的在线答疑
全程视频授课,反复观看不限次数
自考365网校数百门课程全面招生!
基础班+串讲班祝您成功每一天!
郭建华 韩旺辰 郝玉柱 张旭娟 孙茂竹 白薇
全国2006年1月高等教育自学考试
面向对象程序设计试题
课程代码:02328
7.下列关于运算符重载的描述中,正确的是( )
A.可以改变运算符的目数B.可以改变运算符的优先级
C.可以改变运算符的结合性D.可以改变运算符的功能
8.要将类A说明是类B的虚基类,正确的描述是( )
A.class virtual B:public AB.class B:virtual public A
C.virtual class B:public AD.class B:public A virtual
9.下面关于静态成员的描述中,正确的是( )
A.静态数据成员是类的所有对象共享的数据
B.类的每个对象都有自己的静态数据成员
C.类的不同对象有不同的静态数据成员值
D.静态数据成员不能通过类的对象访问
A.析构函数可以重载B.析构函数可以是虚函数
C.析构函数名与类名相同D.析构函数的返回类型为void
6.下列关于纯虚函数的描述中,正确的是( )
A.纯虚函数是一种特殊的虚函数,它是个空函数
B.具有纯虚函数的类称为虚基类
C.一个基类中说明有纯虚函数,其派生类一定要实现该纯虚函数
D.具有纯虚函数的类不能创建类对象
12.在C++中要创建一个文件输入流对象fin,同时该对象打开文件“Test.txt”用于输入,则正确的声明语句是________________。
13.如果要把类B的成员函数void fun( )说明为类A的友元函数,则应在类A中加入语句________________。
14.A是一个类,已有语句“A* p;p=new A[10];”。要释放由p指向的动态空间,正确的语句应该是________________。
cout<<”a=”<<a<<”,b=”<<b<<endl;
cout<<”str1=”<<str1<<”,str2=”<<str2<<endl;
}
24.下面的程序有一处错误,请用下横线标出错误所在行并说明错误原因。
#include<iostream.h>
class Base
{
public:
virtual void fun( ){cout<<"Base function"<<endl;}
2.在C++中,编写一个内联函数Fun,使用int类型的参数,求其平方并返回,返回值也为int类型,下列定义正确的是( )
A.int Fun(int x){return x*x;}B.inline int Fun(int x){return x*x;}
C.int inline Fun(int x){return x*x;}D.int Fun(int x){inline return x*x;}
10.假设Sample是个类,则语句“Sample a[2],*p[3];”调用构造函数的次数为( )
A.0B.2
C.3D.5
二、填空题(本大题共10小题,每小题2分,共20分)
请在每小题的空格中填上正确答案。错填、不填均无分。
11.在面向对象的程序设计中,将一组对象的共同特性抽象出来形成________________。
18.类A的后置自增运算符++以成员函数的形式进行重载,其在类内的函数声明是________________。
19.动态联编是通过基类类型的指针或引用调用________________函数来完成。
20.基类的保护成员通过私有派生其在派生类中的访问权限是________________。
三、改错题(本大题共5小题,每小题2分,共10分)
3.下面关于重载函数的叙述中正确的是( )
A.重载函数必须具有不同的返回值类型
B.重载函数的形参个数必须不同
C.重载函数必须有不同的形参列表
D.重载函数的函数名可以不同
4.若有定义“int x=17;”,则语句“cout<<oct<<x;”的输出结果是( )
A.11B.0x11
C.21D.021
5.下列关于析构函数的描述中正确的是( )
21.下面的类定义中有一处错误,请用下横线标出错误所在行并给出修改意见。
class Sample
{
private:
int data;
Sample( ){data=10;}
public:
Sample(int d){data=d;}
int operator int( ){return data;}
};
22.下面的类定义中有一处错误,请用下横线标出错误所在行并给出修改意见。
一、单项选择题(本大题共10小题,每小题2分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.面向对象程序设计中的数据隐藏指的是( )
A.输入数据必须输入保密口令B.数据经过加密处理
C.对象内部数据和代码合并在一起D.对象内部数据结构的不可访问性