ImageVerifierCode 换一换
格式:DOC , 页数:18 ,大小:77.50KB ,
资源ID:1324273      下载积分:5000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1324273.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(【计算机类职业资格】二级C++分类模拟275及答案解析.doc)为本站会员(amazingpat195)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

【计算机类职业资格】二级C++分类模拟275及答案解析.doc

1、二级 C+分类模拟 275及答案解析(总分:73.00,做题时间:90 分钟)一、选择题(总题数:40,分数:73.00)1.有如下程序: #includeiostream using namespace std; class Point public: static int number; public: Point() number+; Point() number -; ; int Point:number=0; int main() Point *ptr; Point A, B; Point *ptr_point=new Point3; ptr=ptr_point; Point C;

2、coutPoint:numberendl; deleteptr; return 0; 执行这个程序的输出结果是_。(分数:1.00)A.3B.4C.6D.72.有如下输出语句: coutsetw(5)fixedsetprecision(3)3.1415926; 此语句的输出结果是(分数:2.50)A.3.141B.3.142C.3.1415D.3.14163.下列关于函数模板的说法,正确的是_。(分数:2.50)A.在定义模板参数时关键字 typename和 class可以互换B.函数模板的形参表中只能有虚拟类型参数C.调用函数模板时,模板实参永远不能省略D.在函数模板的声明中,只能使用 1个

3、虚拟类型参数4.有如下程序: #includeiostreamh long fib(int n) if(n 2) return(fib(n-1)+fib(n-2) ); else return(2); void main( ) cout fib(3); 该程序的输出结果是(分数:1.00)A.2B.4C.6D.85.有两个关系 R和 S如下: (分数:2.50)A.选择B.投影C.自然连接D并6.下列关于运算符重载的描述中,错误的是_。(分数:1.00)A.可以通过运算符重载在 C+中创建新的运算符B.赋值运算符只能重载为成员函数C.运算符函数重载为类的成员函数时,第一操作参数就是该类对象D.

4、重载类型转换运算符时不需要声明返回类型7.数据库设计中反映用户对数据要求的模式是_。(分数:1.00)A.内模式B.概念模式C.外模式D.设计模式8.关于下列程序段的描述中,正确的是 _ 。 #includeiostream.h int fun(int,int); void main() coutfun(1,2)endl; int fun(int x,int y) return X+y; (分数:2.00)A.该函数定义正确,但函数调用方式错误B.该函数调用方式正确,但函数定义错误C.该函数定义和调用方式都正确D.该函数定义和调用方式都错误9.已知函数 foo定义如下: void foo(in

5、t a, intb+;(*c)+; 且有如下程序段: int a=1,b=2,c=3; foo(a,b, coutabc; 运行这个程序段的输出是(分数:2.50)A.134B.123C.234D.编译错误10.有如下类模板定义: templatetypename T class BigNumber long n; public; BigNumber(T i):n(i) BigNumber operator+(BigNumber b) return BigNumber(n+b.n); ; 已知 b1、b2 是 BigNumber的两个对象,则下列表达式中错误的是_。(分数:2.50)A.b1+

6、b2B.b1+3C.3+b1D.3+311.有如下程序: #includeiostream using namespace std; class Base public: void fun1()cout“Baseha/n“; virtual void fun2()cout“Base/n“; ; class Derived:public Base public: void fun1()cout“Derived/n“; void fun2()cout“Derived/n“; ; void f(Baseb.fun2(); int main() Derived obj; f(obj); return

7、0; 执行这个程序的输出结果是_。(分数:2.00)A.BaseBaseB.BaseDerivedC.DerivedBaseD.DerivedDerived12.下列关于虚函数的描述中正确的是_。(分数:2.50)A.如果在重定义函数时使用了保留字 virtual,则该重定义函数仍然是虚函数B.虚函数不得声明为静态成员函数C.虚函数不得声明为另一个类的友元函数D.派生类必须重新定义基类的虚函数13.关于在调用模板函数时模板实参的使用,下列表述中正确的是_。(分数:1.00)A.对于虚拟类型参数所对应的模板实参,如果能从模板函数的实参中获得相同的信息,则都可以省略B.对于虚拟类型参数所对应的模板

8、实参,如果它们是参数表中的最后的若干个参数,则都可以省略C.对于虚拟类型参数所对应的模板实参,若能够省略则必须省略D.对于常规参数所对应的模板实参,任何情况下都不能省略14.下列关于运算符重载的描述中,错误的是_。(分数:2.50)A.可以通过运算符重载在 C+中创建新的运算符B.赋值运算符只能重载为成员函数C.运算符函数重载为类的成员函数时,第一操作参数就是该类对象D.重载类型转换运算符时不需要声明返回类型15.类模板的使用实际上是将类模板实例化为一个具体的 _。(分数:2.00)A类B.对象C.函数D.模板类16.有如下程序: #include iostream.h #include io

9、manip.h using namespace std; class CSum int x,y; public: CSum (int x0,int y0):x(x0),y(y0) friend ostream return os; ; int main () CSum y(3,5); coutsetfill(“*“)8; couty; return 0; 执行上面程序的输出是(分数:2.00)A.88B.*88C.*8*8D.8*817.在类中重载赋值运算符时,应将其声明为类的_。(分数:2.00)A.静态函数B.友元函数C.成员函数D.构造函数18.已知类 X成功地重载了-、+、=、这几个运

10、算符。则其中肯定属于成员函数的运算符是_。(分数:2.50)A.前置-和口B.=和C.和后置-D.+和=19.有如下语句序列: char str10;cinstr; 当从键盘输入“I love this game”时,str 中的字符串是_。(分数:1.00)A.“I love this game“B.“I love thi“C.“I love“D.“I“20.C+中设置虚基类的目的是_。(分数:1.00)A.简化程序B.消除二义性C.提高运行效率D.实现数据的隐藏性21.若 MyClass是一个类名,且有如下语句序列 MyClass c1,*c2; MyClass *c3=new MyCla

11、ss; MyClass 上面的语句序列所定义的类对象的个数是_。(分数:2.00)A.1B.2C.3D.422.关于在调用模板函数时模板实参的使用,下列表述中正确的是_。(分数:2.50)A.对于虚拟类型参数所对应的模板实参,如果能从模板函数的实参中获得相同的信息,则都可以省略B.对于虚拟类型参数所对应的模板实参,如果它们是参数表中的最后的若干个参数,则都可以省略C.对于虚拟类型参数所对应的模板实参,若能够省略则必须省略D.对于常规参数所对应的模板实参,任何情况下都不能省略23.有关构造函数的说法不正确的是 _ 。(分数:1.00)A.构造函数名字和类的名字一样B.构造函数在说明类变量时自动执

12、行C.构造函数无任何函数类型D.构造函数有且只有一个24.下列关于类成员对象构造函数调用顺序的叙述中,正确的是_。(分数:2.00)A.与它们在初始化列表中的顺序相同B.与它们在类中声明的顺序相同C.与析构函数的调用顺序相同D.顺序不确定25.C源程序中不能表示的数制是_。(分数:2.50)A.二进制B.八进制C.十进制D.十六进制26.有如下程序: #includeiostream using namespace std; class Point public: static int number; public: Pointonumber+; Point()number-;) ; int

13、Point:number-0; void mainO Point*ptr; PointA,B; Point*ptr_point=new Point3; ptx=ptr_point; Point C; Gout+Point:number+endl; deleteptr; 运行时输出的结果是_。(分数:2.00)A.3B.4C.6D.727.下列叙述中正确的是(分数:2.00)A.实体集之间一对一的联系实际上就是一一对应的关系B.关系模型只能处理实体集之间一对一的联系C.关系模型属于格式化模型D.以上三种说法都不对28.下列叙述中正确的是(分数:1.00)A.接口复杂的模块,其耦合程度一定低B.耦

14、合程度弱的模块,其内聚程度一定低C.耦合程度弱的模块,其内聚程度一定高D.上述三种说法都不对29.已知在一个类体中包含如下函数原型:VOLUMEOPER ATOR-(VOLUME)const;,下列关于这个函数的叙述中,错误的是_。(分数:1.00)A.这是运算符一的重载运算符函数B.这个函数所重载的运算符是一个一元运算符C.这是一个成员函数D.这个函数不改变类的任何数据成员的值30.最简单的交换排序方法是(分数:1.00)A.快速排序B.选择排序C.堆排序D.冒泡排序31.有如下程序: #includeiostream using namespace std; int main() int

15、i,s=0; for(i=1;s20;i+=2)s+=i*i; coutiendl; return 0; 运行这个程序的输出结果是_。(分数:2.00)A.3B.5C.7D.932.关于抽象类下面说法正确的是(分数:1.00)A.抽象类就是其中有函数定义但没有实现的类B.抽象类是可以被实例化的C.派生类不能成为抽象类D.抽象类的子类必须实现父类中的纯虚函数33.单个用户使用的数据视图的描述称为(分数:1.00)A.外模式B.概念模式C.内模式D.存储模式34.有如下程序段: int i=5; while(int i=0)cout“*“;i-; 运行时输出“*”的个数是_。(分数:3.00)A.

16、0B.1C.5D.无穷35.数据库设计的根本目标是要解决_。(分数:2.50)A.数据共享问题B.数据安全问题C.大量数据存储问题D.简化数据维护36.已知类 Time的定义如下: class Time/时间类 private: int hour, minute, second; /时、分、秒 public: Time(int h, int m, int s): hour(h), minute(m), second(s) _ switch(index) case 0: return hour; case 1: return minute; default: return second; ; 其

17、中横线处应为下标访问运算符的重载函数的函数头,横线处应填入的代码是_。(分数:2.50)A.int k=a; a=b; b=k; void main() int a=2OO4,b=9,*x= fun(x, y); couta“ “bend1;(分数:2.00)A.20049B.92004C.00D.编译时出错二级 C+分类模拟 275答案解析(总分:73.00,做题时间:90 分钟)一、选择题(总题数:40,分数:73.00)1.有如下程序: #includeiostream using namespace std; class Point public: static int number;

18、 public: Point() number+; Point() number -; ; int Point:number=0; int main() Point *ptr; Point A, B; Point *ptr_point=new Point3; ptr=ptr_point; Point C; coutPoint:numberendl; deleteptr; return 0; 执行这个程序的输出结果是_。(分数:1.00)A.3B.4C.6 D.7解析:解析 本题考查默认构造函数,题目中定义一个对象 A、B 以及对象数组 Point3,又定义了对象 C,共执行 6次构造函数,nu

19、mber 变为了 6,所以本题答案为 C。2.有如下输出语句: coutsetw(5)fixedsetprecision(3)3.1415926; 此语句的输出结果是(分数:2.50)A.3.141B.3.142 C.3.1415D.3.1416解析:3.下列关于函数模板的说法,正确的是_。(分数:2.50)A.在定义模板参数时关键字 typename和 class可以互换 B.函数模板的形参表中只能有虚拟类型参数C.调用函数模板时,模板实参永远不能省略D.在函数模板的声明中,只能使用 1个虚拟类型参数解析:解析 本题考查的是函数模板的相关知识。在声明模板参数时,关键字 typename与 c

20、lass可以互换,是等价的,故选项 A正确。在函数模板形参表中也可以有其他类型参数,不仅仅是虚拟类型参数,也可以有实际类型参数,故选项 B错误。在对模板函数的调用可以只使用函数实参,而省略了模板实参,但模板实参的省略并不是必然的,而是有条件的,故选项 C错误。函数模板的模板形参表中可以有多个参数,故选项 D错误。综上所述,选择 A。4.有如下程序: #includeiostreamh long fib(int n) if(n 2) return(fib(n-1)+fib(n-2) ); else return(2); void main( ) cout fib(3); 该程序的输出结果是(分数

21、:1.00)A.2B.4 C.6D.8解析:解析 fib(3)=fib(2)+fib(1),而 fib(2)的返回值为 2,fib(1)的返回值也为 2,故输出的 fib(3)的值为 4。5.有两个关系 R和 S如下: (分数:2.50)A.选择 B.投影C.自然连接D并解析:解析 由关系 R得到关系 S是一个一元运算,而自然连接和并都是多元运算可以排除选项 C和选项 D。关系 S是由关系 R的第 3个元组组成,很显然这是对关系 R进行选择运算的结果。投影运算则是要从关系 R中选择某些列。可以简单地理解,选择运算是对行的操作,投影运算是对列的操作。6.下列关于运算符重载的描述中,错误的是_。(

22、分数:1.00)A.可以通过运算符重载在 C+中创建新的运算符 B.赋值运算符只能重载为成员函数C.运算符函数重载为类的成员函数时,第一操作参数就是该类对象D.重载类型转换运算符时不需要声明返回类型解析:解析 运算符的重载是针对 C+中原有运算符进行的,不能通过重载创造新的运算符。7.数据库设计中反映用户对数据要求的模式是_。(分数:1.00)A.内模式B.概念模式C.外模式 D.设计模式解析:解析 数据库系统的三级模式是概念模式、外模式和内模式。概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图。外模式也称子模式或用户模式,它是用户的数据视图,给出了每个用户的局部数据描述,

23、所以选择 C。内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法。8.关于下列程序段的描述中,正确的是 _ 。 #includeiostream.h int fun(int,int); void main() coutfun(1,2)endl; int fun(int x,int y) return X+y; (分数:2.00)A.该函数定义正确,但函数调用方式错误B.该函数调用方式正确,但函数定义错误C.该函数定义和调用方式都正确 D.该函数定义和调用方式都错误解析:解析 函数定义的一般形式:类型标识符函数名(形式参数列表)声明部分;语句。函数调用的一般格式:函数名(实参列表)。而

24、“int fun(int,int)”为函数声明,可以不写形参名,只写形参的类型。所以,可以看出函数 fun的定义和调用都是正确的。9.已知函数 foo定义如下: void foo(int a, intb+;(*c)+; 且有如下程序段: int a=1,b=2,c=3; foo(a,b, coutabc; 运行这个程序段的输出是(分数:2.50)A.134 B.123C.234D.编译错误解析:10.有如下类模板定义: templatetypename T class BigNumber long n; public; BigNumber(T i):n(i) BigNumber operato

25、r+(BigNumber b) return BigNumber(n+b.n); ; 已知 b1、b2 是 BigNumber的两个对象,则下列表达式中错误的是_。(分数:2.50)A.b1+b2B.b1+3C.3+b1 D.3+3解析:解析 该题考查了 C+模板类和十运算符重载的知识,3+b1 时,程序不能将 b1转化为整型,所以编译会出错。11.有如下程序: #includeiostream using namespace std; class Base public: void fun1()cout“Baseha/n“; virtual void fun2()cout“Base/n“;

26、; class Derived:public Base public: void fun1()cout“Derived/n“; void fun2()cout“Derived/n“; ; void f(Baseb.fun2(); int main() Derived obj; f(obj); return 0; 执行这个程序的输出结果是_。(分数:2.00)A.BaseBaseB.BaseDerived C.DerivedBaseD.DerivedDerived解析:解析 此题考查的是虚函数的概念。在 C+语言中,一个派生类的对象可以被它的任何一个基类的指针所指向,若基类和派生类中存在一模一样

27、的成员函数。那么通过该基类指针调用这样的成员函数时,若这个成员函数被定义成虚函数,那么就调用派生类中的;否则就调用基类中的。本题中,在 f()函数中,形参 b是一个基类的引用,它引用的是主函数中定义的派生类对象 obj,所以在调用 fun1()时,运行的是基类的版本,而 fun2()运行的是派生类的版本。12.下列关于虚函数的描述中正确的是_。(分数:2.50)A.如果在重定义函数时使用了保留字 virtual,则该重定义函数仍然是虚函数B.虚函数不得声明为静态成员函数 C.虚函数不得声明为另一个类的友元函数D.派生类必须重新定义基类的虚函数解析:解析 虚函数可以是另一个类的友元函数,但不能是

28、静态成员函数,也不能是内联函数和构造函数。在派生类中可以重新定义从基类继承下来的虚函数,也可能不需要。虚函数在派生类中重定义后,重定义的函数仍然是一个虚函数,而且无论是否用 virtual修饰。13.关于在调用模板函数时模板实参的使用,下列表述中正确的是_。(分数:1.00)A.对于虚拟类型参数所对应的模板实参,如果能从模板函数的实参中获得相同的信息,则都可以省略B.对于虚拟类型参数所对应的模板实参,如果它们是参数表中的最后的若干个参数,则都可以省略C.对于虚拟类型参数所对应的模板实参,若能够省略则必须省略D.对于常规参数所对应的模板实参,任何情况下都不能省略 解析:解析 在调用一个模板函数时

29、,编译系统需要足够的信息来判别每个虚拟类型参数所对应的实际类型,可以从两个不同的渠道获得这样的信息:从模板实参表(用“”括起来的参数表)或从模板函数实参表(用“()”括起来的参数表)。如果从后者获得的信息已经能够判定其中部分或全部虚拟类型参数所对应的实际参数,而且它们又正好是参数表中最后的若干参数,则模板实参表中的那几个参数可以省略。如果模板实参表中的实参都被省略了,则空表“”也可以不要,因此选项 D错误。反之,对于某个模板实参,如果从模板函数的实参表中无法获得同样的信息,就不能省略;或者虽然能够获得同样的信息,但在它后面还有其他不能省略的实参,则其自身还是不能省略。14.下列关于运算符重载的

30、描述中,错误的是_。(分数:2.50)A.可以通过运算符重载在 C+中创建新的运算符 B.赋值运算符只能重载为成员函数C.运算符函数重载为类的成员函数时,第一操作参数就是该类对象D.重载类型转换运算符时不需要声明返回类型解析:解析 运算符的重载是针对 C+中原有运算符进行的,不能通过重载创造新的运算符。15.类模板的使用实际上是将类模板实例化为一个具体的 _。(分数:2.00)A类B.对象 C.函数D.模板类解析:16.有如下程序: #include iostream.h #include iomanip.h using namespace std; class CSum int x,y; p

31、ublic: CSum (int x0,int y0):x(x0),y(y0) friend ostream return os; ; int main () CSum y(3,5); coutsetfill(“*“)8; couty; return 0; 执行上面程序的输出是(分数:2.00)A.88B.*88C.*8*8D.8*8 解析:解析 本题考核知识点包括:类与对象、运算重载、I/O 的格式化输出。语句 “coutsetfill(“*“)8;“输出 8。语句“couty;“将调用运算符重载输出*8,因为前面语句中设置的填充符号现在还有效,而数据“8“的宽度不够 5,所以剩下 4个字符

32、的宽度用填充符号“*“填充。17.在类中重载赋值运算符时,应将其声明为类的_。(分数:2.00)A.静态函数B.友元函数C.成员函数 D.构造函数解析:18.已知类 X成功地重载了-、+、=、这几个运算符。则其中肯定属于成员函数的运算符是_。(分数:2.50)A.前置-和口B.=和 C.和后置-D.+和=解析:解析 赋值运算符一和运算符只能作为成员函数重载,而-,+则没有限止。19.有如下语句序列: char str10;cinstr; 当从键盘输入“I love this game”时,str 中的字符串是_。(分数:1.00)A.“I love this game“B.“I love th

33、i“C.“I love“D.“I“ 解析:解析 cin 是 C+预定义的标准输入流对象,cin 用来接收字符串时,遇“空格”、“TAB”、“回车”时都会结束。所以本题答案为 D。20.C+中设置虚基类的目的是_。(分数:1.00)A.简化程序B.消除二义性 C.提高运行效率D.实现数据的隐藏性解析:解析 多重继承的派生类有可能从两个或多个基类中继承同名成员,对该成员不加限定的访问就会造成二义性,虚基类就是为了解决这个二义性问题,无论该类在派生层次中作为虚基类出现多少次,都只继承一个共享的基类子对象,从而消除二义性。答案选 B选项。21.若 MyClass是一个类名,且有如下语句序列 MyCla

34、ss c1,*c2; MyClass *c3=new MyClass; MyClass 上面的语句序列所定义的类对象的个数是_。(分数:2.00)A.1B.2C.3 D.4解析:解析 C1、*C2、C3 是 3个 MyClass对象,C4 是 MyClass对象的引用,它是对象 C1的别名。22.关于在调用模板函数时模板实参的使用,下列表述中正确的是_。(分数:2.50)A.对于虚拟类型参数所对应的模板实参,如果能从模板函数的实参中获得相同的信息,则都可以省略B.对于虚拟类型参数所对应的模板实参,如果它们是参数表中的最后的若干个参数,则都可以省略C.对于虚拟类型参数所对应的模板实参,若能够省略

35、则必须省略D.对于常规参数所对应的模板实参,任何情况下都不能省略 解析:23.有关构造函数的说法不正确的是 _ 。(分数:1.00)A.构造函数名字和类的名字一样B.构造函数在说明类变量时自动执行C.构造函数无任何函数类型D.构造函数有且只有一个 解析:24.下列关于类成员对象构造函数调用顺序的叙述中,正确的是_。(分数:2.00)A.与它们在初始化列表中的顺序相同B.与它们在类中声明的顺序相同 C.与析构函数的调用顺序相同D.顺序不确定解析:解析 类成员对象构造函数的调用是按照在类中定义的顺序进行的,而不是按照构造函数说明后的冒号顺序进行构造的。25.C源程序中不能表示的数制是_。(分数:2

36、.50)A.二进制 B.八进制C.十进制D.十六进制解析:解析 C 语言源程序不能表示二进制,在 C语言中,所有的数值型常量都带有符号,所以整型数量只区别整型和长整型两种形式,整型常量和长整型常量均可用十进制、八进制、十六进制 3种形式表示,故选项 A不正确。26.有如下程序: #includeiostream using namespace std; class Point public: static int number; public: Pointonumber+; Point()number-;) ; int Point:number-0; void mainO Point*ptr;

37、 PointA,B; Point*ptr_point=new Point3; ptx=ptr_point; Point C; Gout+Point:number+endl; deleteptr; 运行时输出的结果是_。(分数:2.00)A.3B.4C.6 D.7解析:解析 此题是静态成员、对象的构造和对象的生存期等知识点的综合考查。此题定义了一个静态成员变量 number,初始值为 0。主函数中第 2行定义了 2个 Point对象,此时 number变为 2;随后 new运算符又定义了一个包含 3个 Point对象元素的数组,其通过 delete结束后 number的值变为 5;然后又定义了一

38、个 Point对象 C,number 变为 6;最后输出 number的内容。27.下列叙述中正确的是(分数:2.00)A.实体集之间一对一的联系实际上就是一一对应的关系B.关系模型只能处理实体集之间一对一的联系C.关系模型属于格式化模型D.以上三种说法都不对 解析:解析 实体集之间一对一的联系不一定是一一对应的关系。例如,在一个教室中,实体集“学生”与实体集“座位”之间是一对一的联系。因为实体集“学生”中的每一个学生最多与实体集“座位”中的一个座位有联系(学生坐在该座位上);并且,实体集“座位”中中的每一个座位也最多与实体集“学生”中的一个学生有联系(座位上坐着该学生)。但该教室中的学生与座

39、位之间不一定是一一对应的关系,因为有可能某些座位是空的,没有学生去坐。因此,选项 A)中的说法是错误的。在关系模型中,由于使用表格数据来表示实体之间的联系,因此,可以直接描述多对多的实体联系。因此,选项 B)中的说法也是错误的。 关系模型是与格式化模型完全不同的数据模型,它与层次模型、网状模型相比有着本质的区别。关系模型是用表格数据来表示实体本身及其相互之间的联系,它是建立在数学理论基础上的。因此,选项 C)中的说法也是错误的。28.下列叙述中正确的是(分数:1.00)A.接口复杂的模块,其耦合程度一定低B.耦合程度弱的模块,其内聚程度一定低C.耦合程度弱的模块,其内聚程度一定高 D.上述三种

40、说法都不对解析:解析 影响模块之间耦合的主要因素有两个:模块之间的连接形式,模块接口的复杂性。一般来说,接口复杂的模块,其耦合程度要比接口简单的的模块强,所以 选项 A的说法错误; 耦合程度弱的模块,其内聚程度一定高,选项 B错误;选项 C正确。29.已知在一个类体中包含如下函数原型:VOLUMEOPER ATOR-(VOLUME)const;,下列关于这个函数的叙述中,错误的是_。(分数:1.00)A.这是运算符一的重载运算符函数B.这个函数所重载的运算符是一个一元运算符 C.这是一个成员函数D.这个函数不改变类的任何数据成员的值解析:解析 本题考核运算符的重载。题中语句为运算符一这是一个二

41、元运算符,且是作为常成员函数来重载的,所以它不能更新对象的数据成员,也不能调用该类中没有用 const修饰的成员函数。30.最简单的交换排序方法是(分数:1.00)A.快速排序B.选择排序C.堆排序D.冒泡排序 解析:解析 让考生加深对各种排序方法特点的了解。 解题要点 冒泡排序是一种最简单的交换类排序方法,它是通过相邻数据元素的交换逐步将线性表变成有序。 错解分析 交换排序方法有冒泡排序和快速排序,显然选项 B 和选项 C 错误,冒泡排序比较简单,其算法也容易理解,但快速排序本身较为复杂,且采用了递归调用,其算法理解也稍难。 考点链接 插入排序、选择排序、归并排序、基数排序等排序方法的特点。

42、31.有如下程序: #includeiostream using namespace std; int main() int i,s=0; for(i=1;s20;i+=2)s+=i*i; coutiendl; return 0; 运行这个程序的输出结果是_。(分数:2.00)A.3B.5C.7 D.9解析:解析 在这段程序中 for循环共执行 3次,每次循环变量 i的值增 2,在执行第三次循环语句时,变量 s的值等于 25,大于 20而退出循环,此时再执行循环变量 i加 2运算,所以最后变量 i的值等于7。32.关于抽象类下面说法正确的是(分数:1.00)A.抽象类就是其中有函数定义但没有实

43、现的类B.抽象类是可以被实例化的C.派生类不能成为抽象类D.抽象类的子类必须实现父类中的纯虚函数 解析:解析 C+语言中的抽象类就是类中至少有一个纯虚函数的类,抽象类不能被实例化,继承抽象类的类必须实现抽象类中的纯虚函数。33.单个用户使用的数据视图的描述称为(分数:1.00)A.外模式 B.概念模式C.内模式D.存储模式解析:解析 选项 A)正确,外模式是用户的数据视图,也就是用户所见到的数据模式;选项 B)不正确,全局数据视图的描述称为概念模式,即数据库中全部数据的整体逻辑结构的描述;选项 C)不正确,物理存储数据视图的描述称为内模式,即数据库在物理存储方面的描述;选项 D)不正确,存储模

44、式即为内模式。34.有如下程序段: int i=5; while(int i=0)cout“*“;i-; 运行时输出“*”的个数是_。(分数:3.00)A.0 B.1C.5D.无穷解析:解析 因为 while循环中,因为 i的值等于 0,所以 while循环体一次也不执行。因而运行时输出“*”的个数是 0。35.数据库设计的根本目标是要解决_。(分数:2.50)A.数据共享问题 B.数据安全问题C.大量数据存储问题D.简化数据维护解析:解析 从数据库的概念中可以看到,所谓数据库是指长期存储在计算机内的、有组织的、可共享的数据集合。因此进行数据库设计的根本目标还是为了解决数据共享问题。36.已知

45、类 Time的定义如下: class Time/时间类 private: int hour, minute, second; /时、分、秒 public: Time(int h, int m, int s): hour(h), minute(m), second(s) _ switch(index) case 0: return hour; case 1: return minute; default: return second; ; 其中横线处应为下标访问运算符的重载函数的函数头,横线处应填入的代码是_。(分数:2.50)A.int k=a; a=b; b=k; void main() int a=2OO4,b=9,*x= fun(x, y); couta“ “bend1;(分数:2.00)A.20049 B.92004C.00D.编译时出错解析:

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1