【计算机类职业资格】二级C++-219及答案解析.doc
《【计算机类职业资格】二级C++-219及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-219及答案解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-219 及答案解析(总分:73.50,做题时间:90 分钟)一、选择题(总题数:40,分数:73.50)1.有如下类定义: class A char*a: public: A():a() A(char*aa)/把 aa 所指字符串拷贝到 a 所指向的存储空间 a=_; strcpy(a,aa); A()deletea; ; 横线处应填写的表达式是_。(分数:2.50)A.Dew charstrlen(aa)+1B.charstrlen(aa)+1C.charstrlen(aa)D.new charsizeof(aa)-12.有下列程序: #include stdio.h struc
2、t st int x,y,date2=1.10,2,20; void main() struct st *p=date; printf(“%d,“, p-y); printf(“%d/n“,(+p)-x); 程序的运行结果是_。(分数:2.50)A.10,1B.20,1C.10,2D.20,23.下列叙述中正确的是(分数:2.00)A.实体集之间一对一的联系实际上就是二一对应的关系B.关系模型只能处理实体集之间一对一的联系C.关系模型属于格式化模型D.以上三种说法都不对4.C+中的模板包括_。(分数:2.50)A.对象模板和函数模板B.对象模板和类模板C.函数模板和类模板D.变量模板和对象模板
3、5.数据结构中,与所使用的计算机无关的是数据的(分数:1.00)A.存储结构B.物理结构C.逻辑结构D.物理和存储结构6.关于关键字 class 和 typename,下列表述中正确的是_。(分数:1.00)A.程序中的 typename 都可以替换为 classB.程序中的 class 都可以替换为 typenameC.在模板形参表中只能用 typename 来声明参数的类型D.在模板形参表中只能用 class 或 typename 来声明参数的类型7.数据流程图(DFD 图)是 _ 。(分数:2.00)A.软件概要设计的工具B.软件详细设计的工具C.结构化方法的需求分析工具D.面向对象方法
4、的需求分析工具8.有如下类定义: class Test char a;const char b; public: Test(char c)a=c;b=c; /第 1 行 void f(char a)constthis-a=a;) /第 2 行 void g(char b)this-b=b;) /第 3 行 char h()constreturn a;) /第 4 行 ; 编译时没有错误的行是_。(分数:2.00)A.第 1 行B.第 2 行C.第 3 行D.第 4 行9.有如下程序: #includeiostream using namespace std; class A public: s
5、tatic int a; void init()a=1; A(int a=2)init();a+; ; int A:a=0; A obj; int main() coutobj.a; return 0; 运行时输出的结果是_。(分数:1.00)A.0B.1C.2D.310.下面 _ 机制允许对一个函数名给出多个函数定义(分数:2.00)A.封装性B.继承性C.函数重载D.多态性11.下列选项中,能用作数据常量的是_。(分数:2.50)A.o115B.o118C.1.5e1.5D.115L12.对下列二叉树 (分数:1.00)A.ACBDFEGB.ACBDFGEC.ABDCGEFD.FCADBE
6、G13.设有定义语句 int(*f)(int);,则下列叙述正确的是_。(分数:2.50)A.f 是基类型为 int 的指针变量B.f 是指向函数的指针变量,该函数具有一个 int 类型的形参C.f 是指向 int 类型一维数组的指针变量D.f 是函数名,该函数的返回值是其类型为 int 类型的地址14.有如下数组声明:int value 30;,下标值引用错误的是 _ 。(分数:2.00)A.value30B.value0C.value10D.value2015.执行语句序列 ofstream outfile(“DATA. DAT“); if(.)cout“OK“;else cout“FAI
7、L“; 后,如果文件打开成功,显示“OK”,否则显示“FAIL”。由此可知,上面 if 语句的处的表达式是_。(分数:2.50)A.outfile.fail()或 outfileB.outfile.good()或!outfileC.out.file.good()或 outfileD.outfile.fail()或!outfile16.若要对类 BigNumber 中重载的类型转换运算符 long 进行声明,下列选项中正确的是_。(分数:2.50)A.operator long()const;B.operator long(BigNumber);C.long operator long()con
8、st;D.long operator long(BigNumber);17.若有以下程序: #includeiostream usingnamespacestd; voidsub(intx,inty,int*2) *z=y+x; int main() int a,b,C; sub(8,4, switch(x) fcase 1: switch(y) case 0;a+;break; case 1:b+break; case 2:a+;b+;break; case 3:a+;b+; printf(“a=%d,b=%d/n“,a,b); 程序的运行结果是_。(分数:2.50)A.a=1,b=0B.a
9、=2,b=2C.a=1,b=1D.a=2,b=121.关键字 unsigned 不能修饰的类型是_。(分数:2.50)A.charB.intC.floatD.long int22.下列关于 C+流的描述中,错误的是 _ 。(分数:2.00)A.cout“A“表达式中输出字符 AB.eof 函数可以检测是否到达文件尾C.对磁盘文件进行流操作时,必须包含头文件 fstreamD.以 ios_base:out 模式打开的文件不存在时,将自动建立一个新文件23.概要设计中要完成的事情是 _ 。(分数:2.00)A.系统结构和数据结构的设计B.系统结构和过程的设计C.过程和接口的设计D.数据结构和过程的
10、设计24.有三个关系 R、S 和 T 如下: R A B C a 1 2 b 2 1 c 3 1 S A B C a 1 2 b 2 1 T A B C c 3 1 则由关系 R 和 S 得到关系 T 的操作是_。(分数:1.00)A.自然连接B差C交D并25.下列关于函数重载的叙述中,错误的是_。(分数:2.00)A.重载函数的参数个数可以不同B.重载函数的参数类型可以不同C.重载函数的返回值类型必须不同D.重载函数的参数个数或参数类型必须有所不同26.有如下类定义: class Point int xx, yy; public: Point(): xx(0), yy(0) Point(in
11、t x, int y=0): xx(x),yy(y) ; 若执行语句 Point a(2), b3, *c4; 则 Point 类的构造函数被调用的次数是_。(分数:1.00)A.2 次B.3 次C.4 次D.5 次27.下列关于 this 指针的描述中,正确的是_。(分数:1.00)A.类的成员函数都有 this 指针B.类的友元函数都有 this 指针C.任何与类相关的函数都有 this 指针D.类的非静态成员函数都有 this 指针28.有如下程序: #includeiostream using namespace std; void fl(intx,inty) int z=x;x=y;
12、y=z; void f2(int x,int y) int z=x;x=y;y=z; int main() int x=10,y=26; f1(x,y); f2(x,y); coutyendl; return 0; 运行时的输出结果是_。(分数:2.50)A.10B.16C.26D.3629.假定 int 类型变量占用两个字节,其有定义 int x10 0,2,4;,则数组 x 在内存中所占字节数是(分数:2.00)A.3B.6C.10D.2030.关于 C+语言与 C 语言关系描述中错误的是(分数:1.00)A.C+语言是 C 语言的超集B.C+语言对 C 语言进行了扩充C.C+语言包含 C
13、 语言的全部语法特征D.C+语言与 C 语言都是面向对象的程序设计语言31.设有以下程序段: int a5=0,*p,*q; p=a; q=a; 则下列选项中,合法的运算是 _ 。(分数:1.00)A.p+qB.p-qC.p*qD.p%q32.已知在一个类体中包含如下函数原型:VOLUME operator-(VOLUME)const;,下列关于这个函数的叙述中,错误的是_ 。(分数:2.00)A.这是运算符的重载运算符函数B.这个函数所重载的运算符是一个一元运算符C.这是一个成员函数D.这个函数不改变类的任何数据成员的值33.已知 n 是一个 int 型变量,下列语句中错误的是 _ 。(分数
14、:2.00)A.long*p=new longn;B.long pn;C.long*p=new longn;D.long p10;34.函数定义为 Fun(int i),变量定义 n=100,则下面调用正确的是_。(分数:1.00)A.Fun(20);B.Fun(20+n);C.Fun(n);D.Fun(n);35.有如下程序: # includeiostream usmg namespace std; class A public: A(int i): r1(i) void print()(cout“E“r1“-“; void print()constcout“C“r1*r1“一“; pri
15、vate: int r1; ; int main() A a1(2); const A a2(4); a1.print(); a2.print(); return 0; 运行时的输出结果是_。(分数:2.50)A.运行时出错B.E2-Cl6-C.C4-C16-D.E2-E4-36.计算机能直接执行的程序是_。(分数:2.50)A.源程序B.目标程序C.汇编程序D.可执行程序37.下列关于类定义的说法中,正确的是_。(分数:1.00)A.类定义中包括数据成员和函数成员的声明B.类成员的缺省访问权限是保护的C.数据成员必须被声明为私有的D.成员函数只能在类体外进行定义38.已知主函数中通过如下语句
16、序列实现对函数模板 swap 的调用: int a10,b10; swap(a,b,10); 下列对函数模板 swap 的声明中,会导致上述语句序列发生编译错误的是_。(分数:2.50)A.templatetypename Tvoid swap(T a,T b,int size);B.templatetypename Tvoid swap(int size,T a,T b);C.templatetypename T1,typename T2void swap(T1 a,T2 b,int size);D.templateclass T1,class T2void swap(T1 a,T2 b,i
17、nt size);39.下列描述中,错误的是 _ 。(分数:2.00)A.公有继承时基类中的公有成员在派生类中仍是公有成员B.公有继承时基类中的保护成员在派生类中仍是保护成员C.保护继承时基类中的公有成员在派生类中仍是公有成员D.保护继承时基类中的保护成员在派生类中仍是保护成员40.下面程序的运行结果为 _ 。 #includeiostream.h void main() char a=“3“; switch(a) case“3“:cout“3“; case“2“:cout“2“;break; default:cout“1“; (分数:2.00)A.3B.321C.31D.32二级 C+-21
18、9 答案解析(总分:73.50,做题时间:90 分钟)一、选择题(总题数:40,分数:73.50)1.有如下类定义: class A char*a: public: A():a() A(char*aa)/把 aa 所指字符串拷贝到 a 所指向的存储空间 a=_; strcpy(a,aa); A()deletea; ; 横线处应填写的表达式是_。(分数:2.50)A.Dew charstrlen(aa)+1 B.charstrlen(aa)+1C.charstrlen(aa)D.new charsizeof(aa)-1解析:解析 对动态分配存储空间的考查,在 C+中,回车键需计一字符,即总的长度
19、为 strlen(aa)+1。2.有下列程序: #include stdio.h struct st int x,y,date2=1.10,2,20; void main() struct st *p=date; printf(“%d,“, p-y); printf(“%d/n“,(+p)-x); 程序的运行结果是_。(分数:2.50)A.10,1B.20,1C.10,2 D.20,2解析:解析 data2是两个结构体组成的数组,p 指向结构体数组的首地址,p-y 访问第一个结构体的第二个元素;(+p)x 访问第二个结构体的第一个元素。所以输出为 10,2。3.下列叙述中正确的是(分数:2.0
20、0)A.实体集之间一对一的联系实际上就是二一对应的关系B.关系模型只能处理实体集之间一对一的联系C.关系模型属于格式化模型D.以上三种说法都不对 解析:解析 实体集之间一对一的联系不一定是一一对应的关系。例如,在一个教室中,实体集“学生”与实体集“座位”之间是一对一的联系。因为实体集“学生”中的每一个学生最多与实体集“座位”中的一个座位有联系(学生坐在该座位上);并且实体集“座位”中中的每一个座位也最多与实体集“学生”中的一个学生有联系(座位上坐着该学生)。但该教室中的学生与座位之间不一定是一一对应的关系,因为有可能某些座位是空的,没有学生去坐。因此,选项 A 中的说法是错误的。在关系模型中,
21、由于使用表格数据来表示实体之间的联系,因此,可以直接描述多对多的实体联系。因此,选项 B 中的说法也是错误的。关系模型是与格式化模型完全不同的数据模型,它与层次模型、网状模型相比有着本质的区别。关系模型是用表格数据来表示实体本身及其相互之间的联系,它是建立在数学理论基础上的。因此,选项 C 中的说法也是错误的。4.C+中的模板包括_。(分数:2.50)A.对象模板和函数模板B.对象模板和类模板C.函数模板和类模板 D.变量模板和对象模板解析:解析 模板是一种对类型进行参数化的工具,通常有两种形式:函数模板和类模板。函数模板针对仅参数类型不同的函数;类模板针对仅数据成员和成员函数类型不同的类。5
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C219 答案 解析 DOC
