09—10年第一学期《数据库和面向对象程序设计2-1》(A)试卷
- 格式:doc
- 大小:386.00 KB
- 文档页数:9
▆■■■■■■■■■■■■福建师范大学网络与继续教育学院《面向对象的程序设计》期末考试A卷姓名:专业:学号:学习中心:一、单项单选题 (共25题,每题2分,共50分)1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 251、以下对部署图说法不正确的是()。
A.部署图有主要建模元素是构件B.使用部署图可以显示运行时系统的结构,同时还传达构成应用程序的硬件和软件的配置的部署方式C.从部署图中,可以了解到软件与硬件之间物理关系及处理节点的组件分布情况D.部署图是用来显示系统中软件和硬件的物理结构2、组件图用于对系统的静态实现视图建模,这种视图主要支持系统部件的配置管理,通常可以分为三种方式来完成,下面哪种不是其中之一()。
A.对源代码建模B.对事物建模C.对数据库建模D.对可执行文件建模3、关于面向对象方法的优点,下列不正确的叙述是()。
A.与人类习惯的思维方法比较一致B.可重用性好C.以数据操作为中心D.可维护性好4、类和接口的关系类似于下面哪种类型的关系()。
A.关联(association)和聚集(aggregation)B.关联(association)和组合(composition)C.脚本(scenario)和用例(use case)D.包(Package)和子系统(subsystem)5、UML通过图形化的表示机制从多个侧面对系统的分析和设计模型进行刻画,其中()包括构件图,它描述软件系统中各组成构件,构件的内部结构以及构件之间的依赖关系。
A.行为视图B.结构视图C.构件视图D.用例视图6、行为类模式使用()在类间分派行为。
A.接口B.继承机制C.对象组合D.委托7、通常对象有很多属性,下面仅能在对象内部访问的属性可见性限制是()。
A.公有的(public)B.受保护的(protected)C.友员(friendly)D.私有的(private)8、下面不属于创建型模式的有()。
北京邮电大学2009 2010学年第二学期•、判断题(共10题,每题1分,共10分)1. 软件是就是程序,程序就是软件。
(X )2. 螺旋模型最大的特点是加入了对软件成本的控制。
(X )3. 结构化需求分析需要对系统的数据、 功能和行为进行建模。
(V )4. 软件模块划分得越小,总的软件开发成本就越小。
(X )5. 面向对象分析(OOA )和面向对象设计(OOD )分别采用不同的概念 和表示法。
(X )6. 软件测试目的在于发现错误。
(V )7. 白盒测试不能应用穷举法,黑盒测试可以应用。
(X )8. 在项目面临进度延期的情况下,总是可以通过增加人力在后期跟 上进度。
(X ) 9. 领域模型就是用来描述业务领域重要概念及其相互关系的模型, 一般用UML 的类图来表达。
(V )10. 面向对象设计中最关键的活动是找到对象并给对象分配职责(V )•名姓《软件工程》期末考试试题 A 卷:号序内班:号学:级班A. 改正性维护 C. 完善性维护B. 适应性维护 D. 预防性维护、单项选择题(共 10 题,每题 1 分,共 10 分)1、下面关于软件生命周期模型的描述正确的是( C )A •软件生命周期是指从软件需求分析到上线运行的全过程B •原型方法只能用于软件的需求分析阶段C. 按照瀑布模型开发系统时,必须完成需求分析才能开始系统设计D. 增量模型又叫做迭代模型2、 下面哪一个不是数据词典的构成之一( C )。
A. 数据流词条描述B. 数据文件词条描述C. 数据流层次词条描述D. 加工逻辑词条描述3、 为了提高模块的独立性,模块最好是(B )A. 逻辑内聚B. 功能内聚C. 过程内聚D. 信息内聚4、OOA 所要完成的工作不包括(D )A.建立用例模型B.建立领域模型C.建立操作契约D.定义完善的类的属性和操作 位的标准建模语言。
6、 结构化程序设计采用的三种基本控制结构是( D ) A. 顺序、分支、选择 B. 选择、循环、重复 C. 输入、变换、输出 D. 顺序、选择、重复 7、 下面哪一个不属于 UML 中的图( D )。
2009秋《数据库及应用(I)》考试试卷(第一套)参考答案及评分标准一、单项选择题(每小题2分,共30分)1、(B)是存储在计算机内结构化的数据的集合。
A.数据库系统 B.数据库 C.数据库管理系统 D.数据结构2、数据模型用来表示实体间的联系,但不同的数据库管理系统支持不同的数据模型。
在常用的数据模型中,不包括(B)A.网状模型 B.链状模型 C.层次模型 D.关系模型3、数据库的特点之一是数据的共享,严格地讲,这里的数据共享是指( D )A.同一个应用中的多个程序共享一个数据集合B.多个用户、同一种语言共享数据C.多个用户共享一个数据文件D.多种应用、多种语言、多个用户相互覆盖地使用数据集合4、数据库管理系统(DBMS)是(C )A.一个完整的数据库应用系统 B.一组硬件C.一组系统软件 D.既有硬件,也有软件5、模式和内模式( A )A.只能有一个 B.最多只能有一个 C.至少两个 D.可以有多个6、在数据库概念结构设计的E-R图中,联系用( C )表示。
A.矩形B.四边形C.菱形D.椭圆形7、下列属于数据库物理设计工作的是(B )A.将E-R图转换为关系模式B.选择存取路径C.建立数据流图D.收集和分析用户活动8、在下列聚集函数中,不忽略空置(NULL)的是(C )A.SUM(列名 )B.MAX(列名)C.COUNT(*)D.AVG(列名)9.利用Visual Baisc语言对数据库应用程序进行开发时,ADO数据控件的下列哪一项属性可以用于存放从数据提供者获得的查询结果(D )。
A.ConnectionString B.CommandTypeC.RecordSource D.RecordSet10. SQL Server2000中,主数据文件的默认扩展名是(D )。
A. DBFB. NDFC. LDFD. MDF11. SQL数据定义语言中,表示外码约束的关键字是(B )。
A.UNIQUE B.FOREIGN KEY C.PRIMARY KEY D.CHECK12. 下列说法,正确的是(B)。
2009-2010学年第1学期《面向对象程序设计》期中试卷2009-2010学年第1学期《面向对象程序设计》期中试卷座号:_____________ 姓名:_____________ 成绩::______一、选择题(每题1分,共25小题)1、C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是( )A)增加了一些新的运算符B)允许函数重载,并允许设置缺省参数C)规定函数说明符必须用原型D)引进了类和对象的概念2、面向对象程序设计思想的主要特征中不包括( )。
A) 封装性B) 多态性C) 继承性D) 功能分解,逐步求精3、在C++语言中,数据封装要解决的问题是( )A)数据的规范化B)便于数据转换C)避免数据丢失D)防止不同模块之间数据的非法访问4、在C++语言中合法的字符型常量是( )。
A)'\084' B)'\x43'C)'ab' D)"\0"5、C++语言中规定函数的返回值的类型是由( )。
A) return语句中的表达式类型所决定B) 调用该函数时的主调用函数类型所决定C) 调用该函数时系统临时决定D) 在定义该函数时所指的数据类型所决定6、若有说明:const char *ptr; 则ptr应该是( )。
A)指向字符常量的指针B)指向字符的常量指针C)指向字符串常量的指针D)指向字符串的常量指针7、int Func(int,int);不可与下列哪个函数构成重载( )A) int Func(int,int,int);B) double Func(int,int);C) double Func(double,double);D) double Func(int,double);8、如果没有为一个类定义任何构造函数的情况下,下列描述正确的是( )A)该类不能通过编译B)这个类没有构造函数C)这个类不需要构造函数D)编译器总是自动创建一个不带参数的构造函数9、一个类可包含析构函数的个数是( )A)0个 B)1个C)至少一个 D)0个或多个10、对类的构造函数和析构函数描述正确的是( )A)构造函数可以重载,析构函数不能重载B)构造函数不能重载,析构函数可以重载C)构造函数可以重载,析构函数也可以重载D)构造函数不能重载,析构函数也不能重载11、this指针存在的目的是( )A)保证基类公有成员在子类中可以被访问B)保证每个对象拥有自己的数据成员,但共享处理这些数据成员的代码C)保证基类保护成员在子类中可以被访问D)保证基类私有成员在子类中可以被访问12、下列关于类的权限的描述错误的是( )A)类本身的成员函数只能访问自身的私有成员B)类的对象只能访问该类的公有成员C)普通函数不能直接访问类的公有成员,必须通过对象访问D)一个类可以将另一个类的对象作为成员13、设类A将其它类对象作为成员,则建立类A对象时,下列描述正确的是( )A)类A构造函数先执行B)成员构造函数先执行C)两者并行执行D)不能确定14、下面说法正确的是( )A)内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方B)内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方 C)类的内联函数必须在类体内定义D)类的内联函数必须在类体外通过加关键字 inline 定义 15、下面对于友元函数描述正确的是 ( ) A)友元函数的实现必须在类的内部定义B)友元函数是类的成员函数 C)友元函数破坏了类的封装性和隐藏性 D)友元函数不能访问类的私有成员 16、下面对静态数据成员的描述中,正确的是( ) A)静态数据成员是类的所有对象共享的数据 B)类的每个对象都有自己的静态数据成员 C)类的不同对象有不同的静态数据成员值 D)静态数据成员不能通过类的对象调用17、下列程序的运行结果是( ) #includeclass A{ int a;public:A(){ a=0;}A(int aa){ a=aa; cout<<="">};A)00 B)23 C)34 D)25 18、下面程序的运行结果为( ) #include class A{ int num;public:A(int i){ num=i; }A(A &a){ num=a.num++; }void print(){ cout<<num;}< p="">};A)11 B)12 C)21 D)22 19、下面程序的运行结果是( ) #include void main() { int num=1; int &ref=num; ref=ref+2; cout < cout <<ref<<="">A)13 B)16 C)36 D)33 20、下面程序的运行结果为( ) #include void swap(int &a,int b) { int temp; temp=a++; a=b; b=temp; void main() { A x,y(2),z(3); cout<<<a<<","<<b<<endl;}<="" int="" main()="" p="" swap(a,b);="" void="" {="" }="">}A)2,3 B)3,2 C)2,2 D)3,3 21、下面程序的运行结果为( ) #include class A { static int n; public: A(){ n=1;} A(int num){ n=num;} void print(){ cout<<="">A)11 B)13 C)23 D )33 22、以下程序的输出结果是( ) #include void reverse(int a[],int n) { int i,t; for(i=0;i<="">A)22 B)10 C)34 D)30 23、下面程序的输出结果是( ) #includeclass example{ int a;public:example(int b){ a=b++;}void print(){ a=a+1; cout<<a<<" ";="" p="" }<="">void print()const{ cout <<a<<" ";="" p="" }<="">};A)2 2 B)4 3 C)4 2 D)3 2 24、下列程序的运行结果为( ) #include template class FF{ TT a1, a2, a3; public:FF(TT b1, TT b2, TT b3){ a1=b1; a2=b2; a3=b3; }TT Sum(){ return a1+a2+a3; } };void main(){ FF x(int(1.1),2,3),y(int(4.2),5,6);cout<<x.sum()<<="" a)6.1="" b)6="" c)6="" d)6.1="" p="" }="" ′<<y.sum()<int A::n=2; void main() { A a,b(3); a.print(); b.print(); } void main() { int i,s=0, b[10]={1,2,3,4,5,6,7,8,9,10}; reverse(b,8); for(i=6;i<10;i++) s+=b[i]; cout << s; } void main() { example x(3); const example y(2); x.print(); y.print(); }25、在函数调用时,如某一默认参数要指明一个特定值,则有()A.其之前所有参数都必须赋值 B.其之后所有参数都必须赋值C.其前、后所有参数都必须赋值 D.其前、后所有参数都不必赋值二、填空题(每空2分,共15个空)1、在面向对象程序设计框架中,类是程序的基本单元。
《面向对象程序设计C++》期末考试试卷(A)试卷说明:本套试题共四个大题,全部题目都答在答题纸上,写在其他地方均无效。
(答题纸在本套试卷的第10页上)一、选择题(每小题2分,共40分)1、C++是()。
A. 面向对象的程序设计语言B. 面向过程的程序设计语言C. 既支持面向对象的程序设计又支持面向过程的程序设计的混合型语言D. 非结构化的程序设计语言2、面向对象程序设计思想的主要特征中不包括()。
A. 封装性B. 多态性C. 继承性D. 功能分解,逐步求精3、若定义:string str; 当语句cin>>str; 执行时,从键盘输入:Microsoft Visual Studio 6.0!所得的结果是str=()。
A. Microsoft Visual Studio 6.0!B. MicrosoftC. Microsoft VisualD. Microsoft Visual Studio 6.04、考虑下面的函数原型声明:void testDefaulParam(int a,int b=7,char z='*');下面函数调用中,不合法的是()。
A. testDefaulParam(5);B. testDefaulParam(5,8);C. testDefaulParam(5,'#');D. testDefaulParam(0,0,'*');5、下列语句中,将函数int sum(int x, int y)正确重载的是()。
A. float sum(int x, int y);B. int sum(int a, int b);C. float sum(float x, float y);D. double sum(int y, int x);6、下列表示引用的方法中,()是正确的。
已知:int a=1000;A. int &x=a;B. char &y;C. int &z=1000;D. float &t=&a;7、在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用()。
面向对象数据库考试(答案见尾页)一、选择题1. 什么是面向对象数据库?A. 一种数据库,其数据结构以对象为单位进行组织B. 一种关系型数据库C. 一种非关系型数据库D. 一种基于Web的数据库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. 一种对象7. 面向对象数据库中的抽象是什么?A. 一种数据类型B. 一种对象C. 一种属性D. 一种方法8. 在面向对象数据库中,什么是关联?A. 两个对象之间的直接联系B. 两个对象之间的间接联系C. 一种数据类型D. 一种对象9. 面向对象数据库中的枚举是一种什么类型的对象?A. 数据类型B. 对象C. 属性D. 方法10. 在面向对象数据库中,什么是序列化?A. 一种数据类型B. 一种对象C. 一种属性D. 一种方法11. 面向对象数据库(OODB)与关系型数据库的主要区别是什么?A. OODB支持多种数据类型B. OODB具有更好的数据完整性C. OODB使用面向对象的查询语言(OQL)D. OODB更适合于处理大量复杂数据12. 在面向对象数据库中,什么是类和实例?A. 类是对一组具有相同属性的对象的抽象描述B. 实例是类的具体实现C. 类和实例共同定义了对象的行为D. 类是对象的蓝图,实例是根据蓝图创建的13. 在面向对象数据库中,什么是封装?A. 将数据隐藏在对象内部B. 将数据转换为公共APIC. 将数据与操作数据的代码捆绑在一起D. 将数据与对象的状态分开14. 面向对象数据库中的多态性是什么意思?A. 不同的类可以共享接口B. 同一个接口可以被不同的对象以不同的方式实现C. 对象可以继承多个接口D. 对象可以拥有自己的数据15. 在面向对象数据库中,什么是多线程?A. 同一进程内的多个线程B. 数据库中的多个用户同时进行的操作C. 数据库管理系统的一个特性D. 以上都不是16. 面向对象数据库中的关联关系有哪些类型?A. 一对一关联B. 一对多关联C. 多对多关联D. 依赖关系17. 在面向对象数据库中,什么是抽象类?A. 包含所有字段的类B. 包含所有方法的类C. 包含部分字段和方法的类D. 用于定义接口的类18. 面向对象数据库中的持久化是指什么?A. 将数据存储在磁盘上B. 将数据存储在内存中C. 将数据转换为可存储的形式D. 将数据与对象的状态分开19. 在面向对象数据库中,什么是集合?A. 一种数据结构,用于存储同类对象B. 一种数据结构,用于存储不同类型的对象C. 一种数据结构,用于存储对象的引用D. 一种数据结构,用于存储对象的索引20. 在面向对象数据库中,对象之间的关系可以通过什么来定义?A. 类与类之间的关系B. 属性与属性之间的关系C. 方法与方法之间的关系D. 继承与继承之间的关系21. 面向对象数据库的体系结构通常包括哪些层次?A. 存储层B. 操作层C. 对象类层D. 对象实例层22. 面向对象数据库中,什么是封装?A. 将数据与操作数据的函数放在一起B. 将数据与操作数据的函数分别放置C. 将数据与操作数据的函数分别放置在不同的组件中D. 将数据与操作数据的函数分别放置在不同的层次中23. 面向对象数据库中的继承有哪些类型?A. 单继承B. 多继承C. 接口继承D. 抽象继承24. 在面向对象数据库中,什么是动态聚类?A. 自动根据数据内容将对象分组B. 根据查询需求动态创建新的对象类C. 根据历史数据预测未来数据的内容D. 根据历史数据预测未来数据的内容,并自动创建新的对象类25. 面向对象数据库的查询语言通常是什么?A. SQLB. OQL(Object Query Language)C. NoSQLD. DQL(Database Query Language)26. 在面向对象数据库中,什么是泛化?A. 将数据与操作数据的函数放在一起B. 将数据与操作数据的函数分别放置C. 将数据与操作数据的函数分别放置在不同的组件中D. 将数据与操作数据的函数分别放置在不同的层次中27. 面向对象数据库中的多态性如何实现?A. 继承B. 封装C. 抽象D. 多态性28. 什么是面向对象数据库中的关联?A. 数据之间的直接联系B. 数据之间的间接联系C. 数据之间的依赖关系D. 数据之间的平等关系29. 在面向对象数据库中,什么是聚合?A. 数据对象之间的组合B. 数据对象之间的聚集C. 数据对象之间的关联D. 数据对象之间的依赖关系30. 面向对象数据库中的继承有几种类型?A. 一级继承B. 二级继承C. 三级继承D. 四级继承31. 在面向对象数据库中,什么是抽象数据类型(ADT)?A. 一种数据库的数据模型B. 一种数据库的操作接口C. 一种数据库的数据结构D. 一种数据库的数据访问方法32. 什么是面向对象数据库的四层模式结构?A. 表模式、用户模式、存储模式和概念模式B. 表模式、用户模式、局部模式和全局模式C. 表模式、视图模式、存储模式和概念模式D. 表模式、用户模式、全局模式和存储模式33. 在面向对象数据库中,什么是对象类?A. 数据对象的抽象B. 数据对象的实例C. 数据对象的组织D. 数据对象的定义34. 什么是继承在面向对象数据库中的含义?A. 子类可以继承父类的属性和方法B. 子类可以覆盖父类的属性和方法C. 子类可以添加新的属性和方法D. 子类可以限制父类的属性和方法35. 什么是泛型在面向对象数据库中的用途?A. 为了增加数据库的灵活性B. 为了增加数据库的可扩展性C. 为了增加数据库的性能D. 为了增加数据库的复杂性36. 什么是聚合在面向对象数据库中的含义?A. 两个或多个对象之间的直接联系B. 两个或多个对象之间的间接联系C. 两个或多个对象之间的弱联系D. 两个或多个对象之间的强联系37. 在面向对象数据库中,什么是动态绑定?A. 在运行时确定对象的方法调用B. 在编译时确定对象的方法调用C. 在运行时确定对象的数据成员访问D. 在编译时确定对象的数据成员访问38. 什么是反射在面向对象数据库中的用途?A. 为了增加数据库的灵活性B. 为了增加数据库的可扩展性C. 为了增加数据库的性能D. 为了增加数据库的复杂性二、问答题1. 什么是面向对象数据库?2. 面向对象数据库与传统数据库的区别是什么?3. 如何实现面向对象数据库中的对象持久化?4. 面向对象数据库的优势和劣势是什么?5. 什么是对象关系数据库?它与面向对象数据库有什么区别?6. 什么是数据库事务?它为什么重要?7. 什么是数据库索引?它有什么作用?8. 什么是数据库备份和恢复?它为什么重要?参考答案选择题:1. A2. A3. B4. C5. D6. A7. D8. A9. A 10. B11. C 12. A 13. A 14. B 15. A 16. ABCD 17. D 18. C 19. A 20. D21. ACD 22. A 23. ABCD 24. B 25. B 26. C 27. D 28. A 29. B 30. A31. B 32. A 33. A 34. A 35. A 36. A 37. A 38. A问答题:1. 什么是面向对象数据库?面向对象数据库(Object-Oriented Database,简称OODB)是一种采用面向对象方法论和关系模型相结合的数据库管理系统。
2. 设有如下实体:
学生(学号,单位,姓名,性别,年龄,选修课程名)
课程(编号,课程名,开课单位,任课教师号)
教师(教师号,姓名,性别,职称,讲授课程编号)
单位(单位名称,电话,教师号,教师名)
上述实体存在如下联系:
一个学生可选修多门课程,一门课程可被多个学生选修;一个教师可讲授多门课程,一门课程可为多个教师讲授;一个单位可有多个教师,一个教师只能属于一个单位。
试回答下列问题:
(1) 画出E-R 图。
(2) 并将E-R 图转换为等价的关系模型。
、答:(1)E-R 图如下所示(省略了实体的属性)(8分):
(2) 将该全局E-R 图转换为等价的关系模型表示的数据库逻辑结构。
单位(单位名,电话)
学生(学号,姓名,性别,年龄,单位名)
教师(教师号,姓名,性别,职称,单位名)
课程(编号,课程名,单位名)
讲授(教师号,课程编号)
选修(学号,课程编号)
(7分)
1、数据库设计分为哪几个阶段,每个阶段都主要完成哪些工作?
得分阅卷人五、问答题(本大题共1小题,10分)。
《面向对象程序设计C++》期末考试试卷(A)班级::学号:分数:试卷说明:本套试题共四个大题,全部题目都答在答题纸上,写在其他地方均无效。
(答题纸在本套试卷的第10页上)一、选择题(每小题2分,共40分)1、C++是()。
A. 面向对象的程序设计语言B. 面向过程的程序设计语言C. 既支持面向对象的程序设计又支持面向过程的程序设计的混合型语言D. 非结构化的程序设计语言2、面向对象程序设计思想的主要特征中不包括()。
A. 封装性B. 多态性C. 继承性D. 功能分解,逐步求精3、若定义:string str; 当语句cin>>str; 执行时,从键盘输入:Microsoft Visual Studio 6.0!所得的结果是str=()。
A. Microsoft Visual Studio 6.0!B. MicrosoftC. Microsoft VisualD. Microsoft Visual Studio 6.04、考虑下面的函数原型声明:void testDefaulParam(int a,int b=7,char z='*');下面函数调用中,不合法的是()。
A. testDefaulParam(5);B. testDefaulParam(5,8);C. testDefaulParam(5,'#');D. testDefaulParam(0,0,'*');5、下列语句中,将函数int sum(int x, int y)正确重载的是()。
A. float sum(int x, int y);B. int sum(int a, int b);C. float sum(float x, float y);D. double sum(int y, int x);6、下列表示引用的方法中,()是正确的。
已知:int a=1000;A. int &x=a;B. char &y;C. int &z=1000;D. float &t=&a;7、在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用()。
2010-2011学年第2学期2010级《C++面向对象程序设计》期末考试试题(A卷)考试时间:2011年7月1日班级学号姓名✧本试卷满分100分;✧请将答案写在答题纸上,写明题号,不必抄题,字迹工整、清晰;✧请在答题纸和试题纸上都写上你的班级,学号和姓名,交卷时请将试题纸、答题纸和草纸一并交上来。
一、单选题(共20分,每题2分)1.下列哪个不是C++标识符的作用域:(A) 块作用域(B) 对象作用域(C) 类作用域(D) 名字空间作用域2.假设有函数调用f(0)可以编译成功,则f的原型不可能是:(A) void f(int&) (B) void f(A a) (C) void f(A* a) (D) void f(const A*)3.下列函数原型声明正确的是:(A) float Volume(int x, y); (B) float Volume(int x, int& y=0);(C) const float V olume(int, float); (D) const float V olume(int x=10, int y);4.类A的非静态成员函数中的隐含参数this的类型为:(A) const A& (B) const A * (C) A* const (D) A&5.下面关于静态成员的描述中,不正确的是:(A) 静态成员函数可以直接访问所属类的全部数据成员(B) 静态数据成员的类型可以是其所属类(C) 静态数据成员可以被作为类成员函数的缺省实参(D) 静态成员可以被所属类及其派生类对象所共享6.下列关于友元的描述中,不正确的是:(A) 友元函数可直接访问类中私有成员(B) 友元函数是成员函数,它被声明在类体内(C) 嵌套类可以成为其外围类的友元(D) 友元类中的所有成员函数都是友元函数7.在局部变量的作用域内可用下面哪种方法对被其隐藏(overwrite)的同名全局变量进行访问:(A) 名字空间(B) 虚基类(C) 引用(D) 作用域限定符8.下列关于动态联编的描述中,不正确的是:(A) 动态联编是以虚机制为基础的(B) 动态联编是编译时确定所调用的函数代码的(C) 动态联编是运行时确定所调用的函数代码的(D) 只有通过对象指针或对象引用来调用虚函数,才能实现动态联编9.假设有如下类定义class B{ /*略*/ }; class A{ B b; /*略*/ }; 则类A、B之间最可能的关系是:(A) 依赖关系(B) 聚合关系(C) 组合关系(D) 泛化关系共5页第1页10.下列关于虚函数的描述中,不正确的是:(A) 一个类中没有定义纯虚函数,则必定不是抽象类(B) 如果一个类中及其基类中都没有定义纯虚函数,那么这个类一定可以创建对象(C) 如果一个类中所有成员都是纯虚函数,则这个类没有意义,不应该定义这样的类(D) 虚函数表存放函数的入口地址,但不存放函数的具体代码二、判断正误,对于你认为错误的论述,说明原因或举出反例。
本科生09—10学年第二学期《数据库和面向对象程序设计2-1》课程期末考试试卷(A卷)一、单项选择题(每题1分,共35分)1.执行命令:LIST FOR XB="女"所引起的关系操作是()。
A)投影B)连接C)关联D)选择2. 已知有项目和志愿者两个实体,一个项目有多名志愿者参与,一个志愿者可以参加多个项目,则项目与志愿者两个实体之间的联系类型为()。
A) 多对多联系B) 一对多联系 C) 多对一联系D) 一对一联系3. 下列4个表达式中,值为"春眠不觉晓"的是()。
A) "春眠"+"不觉晓 " B) " 春眠"+"不觉晓"C) "春眠"–"不觉晓" D) "春眠 "–"不觉晓"4.执行下列命令后,输出的结果是()。
A= "+"? "4&A.5="+str(4&A.5,2)A) 4&A.5= 0 B) 4&A.5=9 C) 4+.5= 9 D) 4+5= 95. 对如下职工数据表,哪条命令能列出职工姓名中含有汉字“路”的全部记录( )。
Record# 编号姓名部门工资奖金1 1001 路长生车间 850 2002 1002 汪洋车间 700 2003 1003 陆地车间 680 2004 2001 林木设计科 900 1505 2002 陈路设计科 800 1606 3004 孙言财务科 900 1007 3006 路永胜财务科 1300 1208 3010 高英雄财务科 1100 140A) LIST FOR LEFT(姓名,2)= "路"B) SET EXACT OFF LIST FOR 姓名="路"C) LIST FOR AT("路",姓名)<>0D) LIST FOR SUBSTR(姓名,1,2)= "路"6.下列函数运行结果是"3.1"的是()。
A) STR(3.14,4,1) B)STR(3.16,3,1)C) STR(3.14,3,2) D)STR(3.14,4,2)7. 以下各表达式中,值为数值型的是()。
A) LEN("36-5*4")>10 B) AT([管理],[现代管理方法与特点])C) DATE()-2010 D) DAY(DATE()-2010)=168.以下四组函数或表达式中,值相同的一组是( )。
A) YEAR(DATE())与SUBSTR(DTOC(DATE()),1,4) (日期为默认格式)B) ALLTRIM(A+B)与RTRIM(A+B) (其中A="THIS ",B=" THIS")C) VARTYPE("36-5*4")与VARTYPE(36-5*4)D) RIGHT("VISUAL FOXPRO",6)与SUBSTR("VISUAL FOXPRO",1,6)9.以下关于内存变量的叙述中,错误的是( )。
A) 在VFP中,内存变量的类型取决其当前值的类型B) 内存变量的类型可以改变C) 当内存变量与当前表中的字段变量同名时,系统优先访问内存变量D) 数组是按照一定顺序排列的一组内存变量10. 表文件的扩展名是()。
A) .DBC B) .DBF C) .PRG D) .FPT11.下列表达式值一定为.T.的是()。
A) {^2005-1-1}>{^2006-1-1} B) "ABC">"ABD"C) .T. AND 1>2 D) .T. OR 1>212. 要限制数据库表中字段的重复值,可以使用()。
A) 主索引或候选索引B) 主索引或唯一索引C) 主索引或普通索引D) 唯一索引或普通索引13. 如果某个字段允许为空值,当需要输入.NULL.时可按快捷键()。
A) Ctrl+N B) Ctrl+W C) Ctrl+o(字母o) D) Ctrl+0(数字0)14.视图被称为虚表,是因为()。
A) 与数据表结构不一样B) 不能包含在数据库中C) 不存放实际数据记录D) 不能修改数据15.下面有关字段名的叙述中,错误的是()。
A) 自由表的字段名最大长度为10B) 字段名必须以字母或者汉字开头C) 字段名中可以有空格D) 数据库表中可以使用长字段名,最大长度为128个字符16.已知一个数据库表文件有8条记录,当前记录号是5,使用APPEND BLANK 命令加一条空记录,该空记录的记录号是( ) 。
A) 6 B)9 C) 5 D)817.下列关于数据库的叙述中,正确的是()。
A) 打开数据库时,其中的数据库表会自动打开。
B) 数据库当中的表都可以建立主索引。
C) 建立了永久关系的两个数据库表,当子表的记录指针移动时,父表的记录指针自动跟着移动。
D) 复合索引就是基于多个字段建立的索引。
18.数据表学生有20条记录,对数据表学生进行下列操作,其结果为()。
USE CZ? RECNO( )SKIP -1? RECNO( )GO 5SKIP 3? RECNO()GO BOTTOM? RECNO( )SKIP?RECNO( )A) 0、1、8、21、21 B) 1、1、8、20、21C) 0、1、7、20、21 D) 1、1、7、20、2119. 复合索引文件的扩展名是()。
A).CDX B) .IDX C) .PJX D) .PRG20.如上第5题职工数据表,执行以下命令序列后,记录指针定位在( )。
USE 职工INDEX ON 工资 TAG tempGO TOPLOCATE NEXT 3 FOR 奖金=150A)编号为1003的记录上B)编号为3010的记录上C)编号为3004的记录上D)编号为2002的记录上21. 工资表结构为:工资.dbf(职工号C(5),基本工资N(4),工龄工资 N(4),实发工资N(5))。
现将所有职工的基本工资提高10%,工龄工资提高5%,然后重新计算实发工资字段值,下面命令正确的是()。
A) REPLACE ALL 实发工资 WITH 基本工资*1.1+工龄工资*1.05B) REPLACE ALL 实发工资 WITH 基本工资+工龄工资;基本工资 WITH 基本工资*1.1, 工龄工资 WITH 工龄工资*1.05C) REPLACE ALL基本工资 WITH 基本工资*1.1, ;工龄工资 WITH工龄工资*1.05, 实发工资 WITH基本工资+工龄工资D) REPLACE ALL基本工资 WITH 基本工资*1.1, ;实发工资 WITH 基本工资+工龄工资,工龄工资 WITH工龄工资*1.0522.在VFP中,表之间的联接分四种,以下哪个选择项不属于这四种联接()。
A) 内部联接B) 左联接C) 右联接D) 外部联接23. 一个关系相当于一张二维表,二维表中的各栏目相当于该关系的( )。
A) 属性B) 元组C) 结构D) 数据项24. 扩展名为.PRG的程序文件中,标示注释行的字符是()。
A) 冒号(:) B) 分号(;) C) 逗号(,) D) 星符(*)25. 关于查询与视图以下说法错误的是()。
A) 查询和视图都可以从一个或多个表中提取数据B) 查询结果不能修改C) 视图是完全独立的,它不依赖于数据库的存在而存在D) 可以通过视图更改数据原表的数据26.下列参照完整性规则不正确的是()。
A) 删除规则选择级联,则删除父表记录时自动删除子表中所有相关记录。
B) 更新规则选择限制,则若子表中有相关记录则禁止更新父表。
C) 插入规则选择忽略,则允许子表插入与父表无关的记录。
D) 更新规则选择级联,则修改子记录后父表相应记录自动更新。
27. 在表结构中,逻辑型、日期型、备注型字段的宽度分别固定为( )。
A)3,8,10 B)1,6,4 C)1,8,任意D)1,8,428. 备注型字段的数据用来存放()。
A) 指向备注的具体内容 B)指向DBF文件的指针C) 指向FPT文件的文件名 D)指向FPT中文字块的指针29. 下面哪个不是Visual FoxPro的常量()。
A) 1E10 B) [101] C) .N.D) T30. 在VFP中,执行下面的命令序列后,显示的结果是()。
Y=10X=Y=11?X,YA) 11 11 B) .F. 10 C) 11 10 D) 10 1031. 下列可以将变量A、B的值互换的一组语句是( )。
A) A=B,B=A B) A=(A+B)/2,B=(A-B)/2C) A=A+B,B=A-B,A=A+B D) C=A,A=B,B=C32. 职工表中有职工号、姓名、出生日期等字段,要显示所有1985年出生的职工清单,应使用的命令是()。
A) DISP FOR 出生日期=1985 B) DISP FOR YEAR(出生日期)=1985C) DISP FOR 出生日期="1985" D) DISP FOR YEAR("出生日期")=198533. 执行语句DIMENSION M(3),N(2,3)后,数组M和N的元素个数分别为( )。
A) 1个,2个B) 3个,6个C) 3个,5个D) 4个,12个34. 在VFP的INPUT、ACCEPT与WAIT 三条命令中,可以接受字符型数据的是()。
A) 仅ACCEPT命令B) 仅ACCEPT和WAIT 命令C) 仅WAIT命令D) INPUT 、ACCEPT和WAIT这三条命令均可35.若能够正常执行命令 REPLACE ALL SOFIE WITH YEAR(DATE())那么字段SOFIE的数据类型是( )。
A) 逻辑型 B) 日期性 C) 数值型D) 字符型二、填空题(每空1分,共30分)1. 关系是具有相同性质的的集合。
2. 在VFP中,主关键字不允许有重复值或。
3. 定义数组后,VFP系统自动给每个数组元素赋初值为。
4. 命令? VARTYPE("2010/10/10")的输出值是。
5. 若已打开的数据表文件和内存变量都有变量名“成绩”,若将当前记录的成绩值存入内存变量“成绩”中,应使用的命令是。
6. 项目文件是数据、文档、类库、代码及其他一些对象的集合,其扩展名为。