【计算机类职业资格】二级C++分类模拟275及答案解析.doc
《【计算机类职业资格】二级C++分类模拟275及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++分类模拟275及答案解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
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.设计模式解析:解析 数据库系统的三级模式是概念模式、外模式和内模式。概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图。外模式也称子模式或用户模式,它是用户的数据视图,给出了每个用户的局部数据描述,
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 分类 模拟 275 答案 解析 DOC
