【计算机类职业资格】二级C++-225及答案解析.doc

上传人:花仙子 文档编号:1324052 上传时间:2019-10-17 格式:DOC 页数:16 大小:65.50KB
下载 相关 举报
【计算机类职业资格】二级C++-225及答案解析.doc_第1页
第1页 / 共16页
【计算机类职业资格】二级C++-225及答案解析.doc_第2页
第2页 / 共16页
【计算机类职业资格】二级C++-225及答案解析.doc_第3页
第3页 / 共16页
【计算机类职业资格】二级C++-225及答案解析.doc_第4页
第4页 / 共16页
【计算机类职业资格】二级C++-225及答案解析.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、二级 C+-225 及答案解析(总分:66.50,做题时间:90 分钟)一、选择题(总题数:38,分数:66.50)1.在 C+语言中函数返回值的类型是由_决定的。(分数:1.00)A.调用该函数时系统临时B.return 语句中的表达式类型C.定义该函数时所指定的函数类型D.调用该函数时的主调函数类型2.下列关于运算符重载的叙述中,错误的是_。(分数:1.00)A.有的运算符可以作为非成员函数重载B.所有的运算符都可以通过重载而被赋予新的含义C.不得为重载的运算符函数的参数设置默认值D.有的运算符只能作为成员函数重载3.下列选项中正确的语句是_。(分数:1.00)A.char s;s=“BO

2、OK!“;B.chsr *s;s=“BOOK!“;C.char s10;s=“BOOK!“;D.char *s;s=“BOOK!“;4.下列定义语句中,错误的是_。(分数:2.00)A.int px*;B.char*acp10;C.char(*pac)10;D.int(*p)();5.在结构化设计方法中,生成的结构图(SC)中,带有箭头的连线表示(分数:2.00)A.模块之间的调用关系B.程序的组成成分C.控制程序的执行顺序D.数据的流向6.将 E-R 图转换为关系模式时,实体和联系都可以表示为_。(分数:1.00)A.属性B键C.关系D域7.有如下四个语句: cout“A“setfIll(“

3、*“)leftsetw(7)“B“endl; coutsetfill(“*“)leftsetw(7)“A“B“endl; cout“A“serfill(“*“)rightsetw(7)“B“endl; coutsetfill(“*“)rightsetw(7)“A“B“endl; 其中能显示 A*B 的是_。(分数:1.00)A.和B.和C.和D.和8.在满足实体完整性约束的条件下_。(分数:2.50)A.一个关系中应该有一个或多个候选关键字B.一个关系中只能有一个候选关键字C.一个关系中必须有多个候选关键字D.一个关系中可以没有候选关键字9.在 C 语言中,引用数组元素时,其数组下标的数据类型

4、允许是_。(分数:2.50)A.整型表达式B.整型常量C.整型常量或整型表达式D.任何类型的表达式10.软件设计中划分模块的一个准则是_。(分数:2.50)A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合11.有如下程序: int x =3; do x- =2; cout x; while(! (-x); 执行这个程序的输出结果是 _ 。(分数:1.00)A.1B.30C.1-2D.死循环12.面向对象的开发方法中,类与对象的关系是_。(分数:2.50)A.抽象与具体B.具体与抽象C.部分与整体D.整体与部分13.关于抽象类,下列表述中正确的是_。(分数:2.50)A.抽象类的

5、成员函数中至少有一个是没有实现的函数(即无函数体定义的函数)B.派生类必须实现作为基类的抽象类中的纯虚函数C.派生类不可能成为抽象类D.抽象类不能用来定义对象14.将 E-R 图转换为关系模式时,实体和联系都可以表示为_。(分数:1.00)A.属性B键C.关系D域15.有如下程序段: int i=2; do i*=i; cout“#“; if(i1000)break; while(1); 运行时,输出字符“#“个数是_。(分数:2.00)A.3B.4C.5D.616.下列关于 this 指针的叙述中,正确的是 _ 。(分数:2.00)A.this 指针是一个隐含指针,它隐含于类的成员函数中B.

6、只有在使用 this 时,系统才会将对象的地址赋值给 thisC.类的友元函数也有 this 指针D.this 指针表示了成员函数当前操作的数据所属的对象17.下面类的定义,有 _ 处错误。 class MyClass public: void MyClass(); MyClass(int value); private: int i0;(分数:2.00)A.1B.2C.3D.418.对关系 S 和 R 进行集合运算,结果中既包含 S 中的所有元组也包含 R 中的所有元组,这样的集合运算称为_。(分数:1.00)A.并运算B.交运算C.差运算D.积运算19.当使用 fstram 流类定义一个流

7、对象并打开一个磁盘文件时,文件的隐含打开方式为(分数:2.00)A.ios:inB.ios:outC.ios:int | ios:outD.没有20.下面关于数组的初始化正确的是_。(分数:1.00)A.char str=“a“, “b“, “c“B.char str2=“a“, “b“, “c“C.char str23=“a“, “b“, “c“, “d“, “e“, “f“D.char str()=“a“, “b“, “c“21.建立一个有成员对象的派生类对象时,各构造函数体的执行次序为_。(分数:2.00)A.派生类、成员对象类、基类B.成员对象类、基类、派生类C.基类、成员对象类、派生

8、类D.基类、派生类、成员对象类22.有如下头文件: int f1( ); static int f2( ); class MA public: int f3( ); static int f4( ); ; 在所描述的函数中,具有隐含的 this 指针的是(分数:2.00)Af1Bf2Cf3Df423.在每个 C+程序中必须有且仅有一个_。(分数:2.50)A.函数B.主函数C.预处理指令D.语句24.有以下程序: #includeiostream. h void fun(int a, int b, int c) a=456, b=567, c=678; void main() int x=10

9、, y=20, z=30; fun(x, y, z); coutx“,“y“,“zendl; 输出结果是_。(分数:1.00)A.30,20,10B.10,20,30C.456,567,678D.678,567,45625.有如下程序: #includeiostream using namespace std; class MyClass putdic: MyClass(int i=0)cout1; MyClass(const MyClass MyClassreturn*this; MyClass()cout4; ; int main() MyClass obj1(1),obj2(2),obj

10、3(obj1); return 0; 运行时的输出结果是_。(分数:2.50)A.112444B.11114444C.121444D.1131444426.有如下程序段: int i=1; while(1) i+; if(i=10)break; if(i%2=0)cout“*“; 执行这个程序段输出字符“*“的个数是_。(分数:2.50)A.10B.3C.4D.527.在深度为 5 的满二叉树中,叶子结点的个数为(分数:1.00)A.32B.31C.16D.1528.下列线性链表的叙述中,正确的是_。(分数:2.50)A.各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B.各

11、数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C.进行插入与删除时,不需要移动表中的元素D.以上三种说法都不对29.下列程序的执行结果是 _ 。 #includeiostream.h #includestdlib.h Class TestClass public: int x,y; TestClass()x=y=0; TestClass(int a,int b)x=a;y=b; void disp() cout“x=“x“,y=“yend1; ; void main() TestClass s1(2,3); s1.disp(); (分数:2.00)A.x=2,y=2B.x=3

12、,y=3C.x=2,y=3D.x=3,y=230.要利用 C+流实现输入/输出的各种格式控制中,必须在持续中包含的头文件是_。(分数:2.50)A.fstreamB.istreamC.ostreamD.iomanip31.有如下函数模板声明: templatetypename,T T Max(T a,T b)return(ab)?a:b; 下列对函数模板 Max()的调用中错误的是_。(分数:1.00)A.Max(3.5,4.5)B.Max(3.5,4)C.Maxdouble(3.5,4.5)D.Maxdouble(3.5,4)32.设有定义: class C public: int valu

13、e; ; int x,*p; 则以下引用形式中,正确的是(分数:2.00)A.x=value;B.x=C:value;C.p= Public: AA(int n=0): a(n) ; class BB: public AA public: BB(int n) ; 其中横线处的缺失部分是_。(分数:1.00)A.: a(n) B.: AA(n) C.a(n);D.a=n;34.下列语句中,错误的是(分数:2.00)A.const int buffei=256;B.const double*point;C.int const buffer=256;D.double*const point:;35.

14、针对数组定义 int data10;,下列表述中错误的是(分数:1.00)A.用*data 可访问到数组的首元素B.用 data9可访问到数组的末元素C.用 data10访问数组元素会超出数组边界D.data 共有 10 个元素,其首元素是 data136.下列语句中,错误的是_。(分数:2.00)A.const int buffer=256;B.const int temp;C.const double *point;D.const double *rt=new double(5.5);37.下列关于模板的说法正确的是_。(分数:1.00)A.模板的实参在任何时候都可以省略B.类模板与模板类

15、所指的是同一概念C.类模板的参数必须是虚拟类型的D.类模板中的成员函数全部都是模板函数38.有如下程序段: int *a=new int2; a0=0; a1=1; int *b= cout*b; 运行这个程序段将输出_。(分数:2.50)A.整数 1B.a0的地址C.a1的地址D.整数 0二级 C+-225 答案解析(总分:66.50,做题时间:90 分钟)一、选择题(总题数:38,分数:66.50)1.在 C+语言中函数返回值的类型是由_决定的。(分数:1.00)A.调用该函数时系统临时B.return 语句中的表达式类型C.定义该函数时所指定的函数类型 D.调用该函数时的主调函数类型解析

16、:解析 函数类型决定了函数返回值的类型。函数值返回类型可以由编译器自动完成类型转换。在函数有返回值的调用中,编译器将 return 后面的表达式的类型强制转换为该函数定义时指定的返回值类型。2.下列关于运算符重载的叙述中,错误的是_。(分数:1.00)A.有的运算符可以作为非成员函数重载B.所有的运算符都可以通过重载而被赋予新的含义 C.不得为重载的运算符函数的参数设置默认值D.有的运算符只能作为成员函数重载解析:解析 重载运算符的规则如下:C+不允许用户自己定义新的运算符,只能对已有的 c+运算符进行重载;c+十不能重载的运算符只有 5 个;重载不能改变运算符运算对象的个数;重载不能改变运算

17、符的优先级和结合性;重载运算符的函数不能有默认的参数;重载的运算符必须和用户定义的自定义类型的对象一起使用,至少应有一个是类对象,即不允许参数全部是 C+的标准类型。所以答案为B。3.下列选项中正确的语句是_。(分数:1.00)A.char s;s=“BOOK!“;B.chsr *s;s=“BOOK!“;C.char s10;s=“BOOK!“;D.char *s;s=“BOOK!“; 解析:解析 在选项 D 中,字符指针 s 指向字符串常量 BOOK!。故选项 D 正确。4.下列定义语句中,错误的是_。(分数:2.00)A.int px*; B.char*acp10;C.char(*pac)

18、10;D.int(*p)();解析:5.在结构化设计方法中,生成的结构图(SC)中,带有箭头的连线表示(分数:2.00)A.模块之间的调用关系 B.程序的组成成分C.控制程序的执行顺序D.数据的流向解析:解析 让考生对常用的软件结构设计工具要有较深入的了解。 解题要点 常用的软件结构设计工具是结构图(SC,Structure Chart),也称程序结构图。其中,矩形内用于注明模块的功能和名字;箭头表示模块间的调用关系,带实心圆的箭头表示传递的是控制信息,带空心圆的箭头表示传递的是数据。 考点链接 根据结构图设计思想,了解结构图构成的基本形式。6.将 E-R 图转换为关系模式时,实体和联系都可以

19、表示为_。(分数:1.00)A.属性B键C.关系 D域解析:解析 从 E-R 图到关系模式的转换是比较直接的,实体与联系都可以表示成关系,E-R 图中属性也可以转换成关系的属性。7.有如下四个语句: cout“A“setfIll(“*“)leftsetw(7)“B“endl; coutsetfill(“*“)leftsetw(7)“A“B“endl; cout“A“serfill(“*“)rightsetw(7)“B“endl; coutsetfill(“*“)rightsetw(7)“A“B“endl; 其中能显示 A*B 的是_。(分数:1.00)A.和B.和C.和 D.和解析:解析 本题

20、考查 C+流的使用。setfill()的作用是设置填充字符;left 的作用是使输出数据在指定宽度内左对齐;right 的作用是使输出数据在指定宽度内右对齐。8.在满足实体完整性约束的条件下_。(分数:2.50)A.一个关系中应该有一个或多个候选关键字 B.一个关系中只能有一个候选关键字C.一个关系中必须有多个候选关键字D.一个关系中可以没有候选关键字解析:解析 一个关系对应脱实世界中一个实体集。现实世界中的实体是可以相互区分、识别的,也即它们应具有某种唯一性标识。在关系模式中,以主关键字作为唯一性标识,而主关键字中的属性(称为主属性)不能取空值,否则,表明关系模式中存在着不可标识的实体(因空

21、值是“不确定/”的),这与现实世界的实际情况相矛盾,这样的实体就不是一个完整实体。按实体完整性规则要求,主属性不得取空值,如主关键字是多个属性的组合,则所有主属性均不得取空值。9.在 C 语言中,引用数组元素时,其数组下标的数据类型允许是_。(分数:2.50)A.整型表达式B.整型常量C.整型常量或整型表达式 D.任何类型的表达式解析:解析 在 C 语言中,引用数组元素时,其数组下标的数据类型可以是整型常量,也可以是整型表达式。10.软件设计中划分模块的一个准则是_。(分数:2.50)A.低内聚低耦合B.高内聚低耦合 C.低内聚高耦合D.高内聚高耦合解析:解析 耦合性和内聚性是模块独立性的两个

22、标准。在程序结构中,各模块的内聚性越强则耦合性就越弱。一般较为优秀的软件设计,应尽量做到高内聚、低耦合。11.有如下程序: int x =3; do x- =2; cout x; while(! (-x); 执行这个程序的输出结果是 _ 。(分数:1.00)A.1B.30C.1-2 D.死循环解析:解析 本题考查 do. while 语句,执行 do. while 语句时,先执行循环体内的语句,然后判断 while 中表达式的值,表达式为非零时,返回重新执行循环体语句。在本题中,先执行循环体内的语句,输出 2,然后判断表达式,为非零,且此时 x 为 0;再次执行循环体时,输出-2,然后判断表达

23、式为 0,不执行,退出,所以答案为 C。12.面向对象的开发方法中,类与对象的关系是_。(分数:2.50)A.抽象与具体 B.具体与抽象C.部分与整体D.整体与部分解析:解析 现实世界中的很多事物都具有相似的性质,把具有相似的属性和操作的对象归为类,也就是说类是具有共同属性、共同方法的对象的集合,是对对象的抽象。它描述了该对象类型的所有对象的性质,而一个对象则是对应类的一个具体实例。所以本题正确答案为 A 选项。13.关于抽象类,下列表述中正确的是_。(分数:2.50)A.抽象类的成员函数中至少有一个是没有实现的函数(即无函数体定义的函数)B.派生类必须实现作为基类的抽象类中的纯虚函数C.派生

24、类不可能成为抽象类D.抽象类不能用来定义对象 解析:14.将 E-R 图转换为关系模式时,实体和联系都可以表示为_。(分数:1.00)A.属性B键C.关系 D域解析:解析 从 E-R 图到关系模式的转换是比较直接的,实体与联系都可以表示成关系,E-R 图中属性也可以转换成关系的属性。15.有如下程序段: int i=2; do i*=i; cout“#“; if(i1000)break; while(1); 运行时,输出字符“#“个数是_。(分数:2.00)A.3B.4 C.5D.6解析:16.下列关于 this 指针的叙述中,正确的是 _ 。(分数:2.00)A.this 指针是一个隐含指针

25、,它隐含于类的成员函数中B.只有在使用 this 时,系统才会将对象的地址赋值给 thisC.类的友元函数也有 this 指针D.this 指针表示了成员函数当前操作的数据所属的对象 解析:17.下面类的定义,有 _ 处错误。 class MyClass public: void MyClass(); MyClass(int value); private: int i0;(分数:2.00)A.1B.2C.3 D.4解析:解析 上述类的定义共有 3 处错误。(1) 类的成员变量不能在定义时进行初始化;(2) 类的:构造函数不能有返回值(包括 void 类型);(3) 类的析构函数不能有参数。1

26、8.对关系 S 和 R 进行集合运算,结果中既包含 S 中的所有元组也包含 R 中的所有元组,这样的集合运算称为_。(分数:1.00)A.并运算 B.交运算C.差运算D.积运算解析:解析 关系的并运算是指由结构相同的两个关系合并,形成一个新的关系,其中包含两个关系中的所有元组。19.当使用 fstram 流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为(分数:2.00)A.ios:inB.ios:outC.ios:int | ios:outD.没有 解析:解析 C+中没在规定文件打开时的隐含打开方式,因此考生在写程序是必须指定打开方式,否则将出现错误。20.下面关于数组的初始化正确

27、的是_。(分数:1.00)A.char str=“a“, “b“, “c“ B.char str2=“a“, “b“, “c“C.char str23=“a“, “b“, “c“, “d“, “e“, “f“D.char str()=“a“, “b“, “c“解析:解析 本题考查的是字符数组的初始化。选项 B 中用 3 个元素初始化大小为 2 的数组,越界了;选项 C 中应该是 2 行 3 列的数组,题中使用 3 行 2 列初始化;选项 D 中数组合后应用方括号。21.建立一个有成员对象的派生类对象时,各构造函数体的执行次序为_。(分数:2.00)A.派生类、成员对象类、基类B.成员对象类、基

28、类、派生类C.基类、成员对象类、派生类 D.基类、派生类、成员对象类解析:解析 建立派生类对象的时候,构造函数的执行顺序如下:执行基类的构造函数,调用的顺序按照基类被继承时候的顺序(自左向右)。然后是执行成员对象的构造函数,调用顺序按照各个成员对象在类中的声明顺序(自上而下),最后是执行派生类的构造函数。22.有如下头文件: int f1( ); static int f2( ); class MA public: int f3( ); static int f4( ); ; 在所描述的函数中,具有隐含的 this 指针的是(分数:2.00)Af1Bf2Cf3 Df4解析:解析 C+为成员函数

29、提供一个名字为 this 的指针,每当创建一个对象时,就把 this 用于指向该对象,并把指针赋值为该对象的起始地址。因此,具有隐含 this 指针的必须是类的成员函数,而且不能为静态成员函数,静态成员函数不能使用 this 指针调用。23.在每个 C+程序中必须有且仅有一个_。(分数:2.50)A.函数B.主函数 C.预处理指令D.语句解析:解析 在每一个 C+程序中必须有且只有一个主函数,每个程序的执行都是从主函数的开始。24.有以下程序: #includeiostream. h void fun(int a, int b, int c) a=456, b=567, c=678; void

30、 main() int x=10, y=20, z=30; fun(x, y, z); coutx“,“y“,“zendl; 输出结果是_。(分数:1.00)A.30,20,10B.10,20,30 C.456,567,678D.678,567,456解析:解析 本题考查函数中变量的作用范围,在主函数中给变量 x、y、z 赋值,然后将其作为实参传递给了函数 fun(),虽然在函数 fun()中改变了这 3 个变量的值,但只是同名的局部变量,不影响函数中变量的值,所以在调用函数 fun()结束后,主函数 3 个变量的值未改变。25.有如下程序: #includeiostream using na

31、mespace std; class MyClass putdic: MyClass(int i=0)cout1; MyClass(const MyClass MyClassreturn*this; MyClass()cout4; ; int main() MyClass obj1(1),obj2(2),obj3(obj1); return 0; 运行时的输出结果是_。(分数:2.50)A.112444 B.11114444C.121444D.11314444解析:解析 本题考查构造函数重载及析构函数调用。题中,生成的对象 obj1 和 obj2 调用第 1 个构造函数,输出两个 1;obj3

32、 调用第 2 个构造函数,输出 2。撤消对象时,析构函数调用顺序与构造函数刚好相反。依次撤消对象 obj3、obj2 和 obj1,输出三个 4。故最终的输出结果为:112444。26.有如下程序段: int i=1; while(1) i+; if(i=10)break; if(i%2=0)cout“*“; 执行这个程序段输出字符“*“的个数是_。(分数:2.50)A.10B.3C.4 D.5解析:解析 本题是一个 while 循环和 break 语句的综合应用问题。题中,while 循环条件为 1,即条件永恒成立,只有执行到循环体中的 break 语句,才能结束循环。也就是 2 到 9 范

33、围内能被 2 整除的数有几个,就输出几个字符*。所以,共输出 4 个字符*。27.在深度为 5 的满二叉树中,叶子结点的个数为(分数:1.00)A.32B.31C.16 D.15解析:解析 所谓满二叉树是指这样的一种二义树:除最后一层外,每一层上的所有结点都有两个叶子结点。这就是说,在满二叉树中,层上的结点数都达到最大值,即在满二义树的第 k 层上有 2 k-1 个结点,且深度为 m 的满二义树有 2 m-1 个结点。28.下列线性链表的叙述中,正确的是_。(分数:2.50)A.各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B.各数据结点的存储顺序与逻辑顺序可以不一致,但它

34、们的存储空间必须连续C.进行插入与删除时,不需要移动表中的元素 D.以上三种说法都不对解析:解析 在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。故 A、B 错误。线性链表在插入与删除过程中不发生数据元素移动的现象,只需改变有关结点的指针即可,故 C 正确。29.下列程序的执行结果是 _ 。 #includeiostream.h #includestdlib.h Class TestClass public: int x,y; TestClass()x=y=0; TestClass(int

35、a,int b)x=a;y=b; void disp() cout“x=“x“,y=“yend1; ; void main() TestClass s1(2,3); s1.disp(); (分数:2.00)A.x=2,y=2B.x=3,y=3C.x=2,y=3 D.x=3,y=2解析:解析 由主函数入手,定义了类 TestClass 的对象 s1(2,3),当类对象进入其作用域时调用构造函数,构造函数应该是调用具有参数的“TestClass(int a,int b)x=a;y=b;)”。然后引用成员函数disp(),则输出为“cout”x=“x”,y=“yendl;”。30.要利用 C+流实现

36、输入/输出的各种格式控制中,必须在持续中包含的头文件是_。(分数:2.50)A.fstreamB.istreamC.ostreamD.iomanip 解析:解析 该题考查的是预定义流对象,iostream:使用 cin、cout 的预定义流对象进行针对标准设备的 I/O 操作,必须包含此头文件。iomanlp:使用 setw、fixed 等大多数操作符,必须包含此头文件。因此选项 D 是正确的。31.有如下函数模板声明: templatetypename,T T Max(T a,T b)return(ab)?a:b; 下列对函数模板 Max()的调用中错误的是_。(分数:1.00)A.Max(

37、3.5,4.5)B.Max(3.5,4) C.Maxdouble(3.5,4.5)D.Maxdouble(3.5,4)解析:解析 本题考查函数模板的引用。引用模板函数和引用一般函数在语法形式上基本相同。需要注意的是,说明一个函数模板后,当编译系统发现有一个对应的函数调用时,将根据实参中的类型来确认是否调用函数模板中的对应形参。本题选项 B 中,编译系统从第一个参数“3.5”获得信息“double 型数据”和从第二个参数获得信息“inL 型数据”,两者矛盾。32.设有定义: class C public: int value; ; int x,*p; 则以下引用形式中,正确的是(分数:2.00)

38、A.x=value; B.x=C:value;C.p= Public: AA(int n=0): a(n) ; class BB: public AA public: BB(int n) ; 其中横线处的缺失部分是_。(分数:1.00)A.: a(n) B.: AA(n) C.a(n);D.a=n;解析:解析 本题考查公用继承对基类成员的访问属性。公用继承中,基类的公用成员和保护成员在派生类中保持原有访问属性,其私有成员仍为基类私有,本题中若要给派生类继承下来基类的私有成员赋值,那么只能调用基类的成员函数来对它赋值,成员变量默认的访问权限为私有,即 a 为私有变量。所以本题答案为 B。34.下

39、列语句中,错误的是(分数:2.00)A.const int buffei=256;B.const double*point; C.int const buffer=256;D.double*const point:;解析:解析 定义常变量的一般形式为: const 类型名变量名=初始值 定义常指针的一般形式为: const 类型名*变量名=初始值 或者为: 类型名*const 变量名=初始值35.针对数组定义 int data10;,下列表述中错误的是(分数:1.00)A.用*data 可访问到数组的首元素B.用 data9可访问到数组的末元素C.用 data10访问数组元素会超出数组边界D.

40、data 共有 10 个元素,其首元素是 data1 解析:36.下列语句中,错误的是_。(分数:2.00)A.const int buffer=256;B.const int temp; C.const double *point;D.const double *rt=new double(5.5);解析:解析 此题考查的是符号常量的概念。符号常量必须在声明的同时赋初值,故选项 B 错误;选项C 定义的是一个指向常量的指针变量,即通过指针不能改变它所指向的内容,而它自己的内容是可以改变的,C 选项正确。37.下列关于模板的说法正确的是_。(分数:1.00)A.模板的实参在任何时候都可以省略B

41、.类模板与模板类所指的是同一概念C.类模板的参数必须是虚拟类型的D.类模板中的成员函数全部都是模板函数 解析:解析 在 C+中规定如果一个类被声明为类模板,那么其中的所有成员函数就都成为了模板函数。38.有如下程序段: int *a=new int2; a0=0; a1=1; int *b= cout*b; 运行这个程序段将输出_。(分数:2.50)A.整数 1B.a0的地址C.a1的地址D.整数 0 解析:解析 本题考查的是程序执行相关知识。int*a=new int2的意思是从堆里申请一个 int 空间,里面存的值为 2,并将 a 指针指向那个 int 空间。&a 的意思是获取 a 的地址,在这里 a 的地址为 0,*b的意思是表示 b 是双重指针类型,*b 是对 a 的地址的值的引用,所以*b 的值为 0,所以选择 D。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

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