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

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

1、二级 C+分类模拟 247及答案解析(总分:73.00,做题时间:90 分钟)一、选择题(总题数:40,分数:73.00)1.下列关于线性链表的描述中,正确的是_。 、只含有一个指针域来存放下一个元素地址 、指针域中的指针用于指向该结点的前一个或后一个结点(即前件或后件) 、结点由两部分组成:数据域和指针域。(分数:2.50)A.仅、B.仅、C.仅、D.全部2.如下类定义: class AA int a; public: int getRef()constreturn / int getValue()constreturn a; / void set(int n)consta=n; / fri

2、end void show(AA aa)constcoutaa.a; / ; 其中四个函数的定义中正确的是_。(分数:2.00)A.B.C.D.3.有如下程序: #includeiostream using namespace gtd; class Sample public: Sample() Sample()cout“*“; ; int main() Sample temp2,*pTemp2; return 0; 运行这个程序输出星号*的个数为_。(分数:1.00)A.1B.2C.3D.44.将 ER 图转换到关系模式时,实体与联系都可以表示成(分数:1.00)A.属性B.关系C键D域5.

3、下列叙述中正确的是(分数:1.00)A.接口复杂的模块,其耦合程度一定低B.耦合程度弱的模块,其内聚程度一定低C.耦合程度弱的模块,其内聚程度一定高D.上述三种说法都不对6.有如下程序: #includeiostream using namespace std; class base public: void output()cout1; virtual void print()cout“B“; ; class derived:public base public: void output()cout2; void print()cout“D“; ; int main() base*ptr=n

4、ew derived; ptr-output(); ptr-print(); delete ptr; return 0; 程序的输出结果是_。(分数:2.50)A.1BB.1DC.2BD.2D7.有如下函数模板定义: templateclass T T func(T x,T y)return x*x+y*y; 在下列对 func的调用中,错误的是_。(分数:2.00)A.func(3,5);B.func(3.0,5.5);C.func(3,5.5);D.funcint(3,5.5);8.有如下程序段: int i=1; while(1) i+; if(i=10) break; if(i%2=0

5、) cout“*“; 执行这个程序段输出字符*的个数是 _ 。(分数:2.00)A.10B.3C.4D.59.下列描述中,错误的是_。(分数:1.00)A.公有继承时基类中的公有成员在派生类中仍是公有成员B.公有继承时基类中的保护成员在派生类中仍是保护成员C.保护继承时基类中的公有成员在派生类中仍是公有成员D.保护继承时基类中的保护成员在派生类中仍是保护成员10.下列关于线性链表的叙述中,正确的是 _ 。(分数:2.00)A.各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B.各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C.进行插入与删除时,不需要移动表

6、中的元素D.以上三种说法都不对11.设有以下程序段: int a5=0,*p,*q; p=a; q=a; 则下列选项中,合法的运算是 _ 。(分数:1.00)A.p+qB.p-qC.p*qD.p%q12.下面程序的输出结果是 _ 。 #includeiostream.h Class example int a; public: example(int B.a=b+; void print()aa+1 couta“; void print()constcouta“; ; void main() example x(3); Const example y(2); x.print(); y.prin

7、t(); (分数:2.00)A.2 2B.4 3C.4 2D.3 213.设 n=10,i=4,则赋值运算 n%=i+1执行后,n 的值是 _ 。(分数:2.00)A.0B.3C.2D.114.模板对类型的参数化提供了很好的支持,因此_。(分数:2.50)A.类模板的主要作用是生成抽象类B.类模板实例化时,编译器将根据给出的模板实参生成一个类C.在类模板中的数据成员都具有同样类型D.类模板中的成员函数都没有返回值15.执行下列语句: #includeiostream using namespace std; int main() int x=3; if(x=5) coutx+endl; els

8、e coutxendl; return 0; 程序的输出是_。(分数:2.50)A.3B.4C.5D.616.有如下程序: #includeiostream using namespace std; class Sample public: Sample() Sample()cout“*“;) ; int main() Sample temp2,*pTemp2; return 0: 执行这个程序输出星号(*)的个数为_。(分数:3.00)A.1B.2C.3D.417.下列叙述不属于线性链表较之线性表顺序存储结构的优点的是 _ 。(分数:1.00)A.线性链表存储方式简单B.线性链表运算效率高C

9、.线性链表的存储空间易于扩展D.线性链表便于存储空间的动态分配18.设有下列程序段: char s20=“Beijing“,*p; p=s; 则执行“p=s;”语句后,下列叙述正确的是 _ 。(分数:2.00)A.可以用*p 表示 s0B.s数组中元素的个数和 p所指字符串长度相等C.s和 p都是指针变量D.数组 s中的内容和指针变量 p中的内容相同19.在 C+中,打开一个文件时与该文件建立联系的是_。(分数:2.00)A.流对象B.模板C.函数D类20.下列关于模板的叙述中错误的是_。(分数:2.50)A.调用模板函数时,有时可以省略模板实参B.函数模板的每个实例就是一个函数定义C.类模板

10、的每个实例就是一个类定义D.类模板的实例是一个类对象21.下列表示纯虚函数的成员函数是(分数:2.00)A.virtual int func (int);B.void func(int)=0;C.virtual void func=0;D.virtual void flmc(int)22.数据管理技术发展的三个阶段中,_没有专门的软件对数据进行管理。 人工管理阶段 文件系统阶段 数据库阶段(分数:2.50)A仅B仅C.和D.和23.在重载一个运算符为成员函数时,其参数表中没有任何参数,这说明该运算符是(分数:2.00)A.后缀一元运算符B.前缀一元运算符C.无操作数的运算符D.二元运算符24.

11、要定义一个引用变量 p,使之引用类 MyClass的一个对象,正确的定义语句是_。(分数:2.50)A.MyClass p=MyClass;B.MyClass p=new MyClass;C.MyClassp=new MyClass;D.MyClass a,p=a;25.有如下程序 #includeiostream using namespace std; class MyClass public: MyClass()+count; MyClass()-count; static int getcount()return count; private: static int count; ;

12、int MyClass:count=0; int main() MyClass obj; coutobj.getcount(); MyClass*ptr=new MyClass; coutMyClass:getcount(); delete ptr; coutMyClass:getcount(); return 0; 程序的输出结果是_。(分数:2.50)A.121B.232C.221D.12226.下列关于类和对象的叙述中,错误的是_ 。(分数:2.00)A.一个类只能有一个对象B.对象是类的具体实例C.类是对某一类对象的抽象D.类和对象的关系是一种数据类型与变量的关系27.数据库系统的核心

13、是_。(分数:2.00)A.数据库B.数据库管理系统C.数据模型D.软件工具28.有如下程序: #includeiostream using namespace std; class Power public: Power(int x):val(x) _ protected: int val; ; class Square:public Power public: Square(int x):Power(x) void Display() coutval“的平方是“val*valendl; ; int main() Power*p=new Square(3); p-Display(); del

14、ete p; return 0; 若运行时的输出结果为“3 的平方是 9”,则划线处缺失的语句可能是_。(分数:1.00)A.void Display()B.virtual void Display()=0C.void virtual Display()=0;D.void Display()virtual 29.下列语句中,正确的是_。(分数:2.00)A.char*myString=“Hello-World!“;B.char myString=“Hello-World!“;C.char myString11=“Hello-World!“;D.char myString12=“Hello-Wo

15、rld!“;30.下列字符串中,正确的 C抖标识符是 _ 。(分数:2.00)A.foo-1B.2bC.newD._25631.下列叙述中正确的是_。(分数:1.00)A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D.线性表的链式存储结构与顺序存储结构在存储空间的需求上没有可比性32.有如下类定义: class Point private; static int how_many; ; _how_many=0; 要初始化 Point类的静态成员 how_m

16、any,下划线处应填入的内容是_。(分数:2.00)A.ingB.static intC.int Point:D.static int Point:33.下列关于 C+流的描述中,错误的是_。(分数:2.00)A.cout“A表达式可输出字符 AB.eof()函数可以检测是否到达文件尾C.对磁盘文件进行流操作时,必须包含头文件 fstreamD.以 ios_base:out模式打开的文件不存在时,将自动建立一个新文件34.通过派生类的对象可直接访问的是_。(分数:1.00)A.公有继承基类中的公有成员B.私有继承基类中的公有成员C.公有继承基类中的保护成员D.私有继承基类中的保护成员35.下面

17、关于数组的描述错误的是(分数:1.00)A.在 C+语言中数组的名字就是指向该数组第一个元素的指针B.长度为 n的数组,下标的范围是 0n-1C.数组的大小必须在编译时确定D.数组只能通过值参数和引用参数两种方式传递给函数36.如下程序的输出结果是 #includeiostream #includeiomanip using namespace std; class CSum int x,y; public: CSum(int x0,int y0):X(x0),y(y0) friend ostream 则下列说法中错误的是_。(分数:1.00)A.枚举常量 YELLOW的值为 1B.枚举常量

18、RED的值为 6C.枚举常量 BLACK的值为 10D.枚举常量 WHITE的值为 138.某类中有一个无参且无返回值的常成员函数 Show,则正确的 Show函数原型是_。(分数:2.00)A.const void Show();B.void const Show();C.void Show()const;D.void Show(const);39.己知函数 print()没有返回值,如果在类中将之声明为常成员函数,正确的是_。(分数:2.00)A.void print() const;B.const void print();C.void const print();D.void prin

19、t(const);40.下面类的定义,有 _ 处错误。 class MyClass public: void MyClass(); MyClass(int value); private: int i=0;(分数:1.00)A.1B.2C.3D.4二级 C+分类模拟 247答案解析(总分:73.00,做题时间:90 分钟)一、选择题(总题数:40,分数:73.00)1.下列关于线性链表的描述中,正确的是_。 、只含有一个指针域来存放下一个元素地址 、指针域中的指针用于指向该结点的前一个或后一个结点(即前件或后件) 、结点由两部分组成:数据域和指针域。(分数:2.50)A.仅、B.仅、C.仅、D

20、.全部 解析:解析 在定义的链表中,若只含有一个指针域来存放下一个元素地址,称这样的链表为单链表或线性链表。 在链式存储方式中,要求每个结点由两部分组成:一部分用于存放数据元素值,称为数据域;另一部分用于存放指针,称为指针域。其中指针用于指向该结点的前一个或后一个结点(即前件或后件)。2.如下类定义: class AA int a; public: int getRef()constreturn / int getValue()constreturn a; / void set(int n)consta=n; / friend void show(AA aa)constcoutaa.a; /

21、; 其中四个函数的定义中正确的是_。(分数:2.00)A.B. C.D.解析:3.有如下程序: #includeiostream using namespace gtd; class Sample public: Sample() Sample()cout“*“; ; int main() Sample temp2,*pTemp2; return 0; 运行这个程序输出星号*的个数为_。(分数:1.00)A.1B.2 C.3D.4解析:解析 本题考查构造函数和析构函数,题中定义了对象数组,那么析构时就析构两次,输出两个*。答案为 B。4.将 ER 图转换到关系模式时,实体与联系都可以表示成(分

22、数:1.00)A.属性B.关系 C键D域解析:解析 数据库逻辑设计的主要工作是将 E-R图转换成指定 RDBMS中的关系模式。首先,从 E-R图到关系模式的转换是比较直接的,实体与联系都可以表示成关系,E-R 图中属性也可以转换成关系的属性。实体集也可以转换成关系。5.下列叙述中正确的是(分数:1.00)A.接口复杂的模块,其耦合程度一定低B.耦合程度弱的模块,其内聚程度一定低C.耦合程度弱的模块,其内聚程度一定高 D.上述三种说法都不对解析:解析 影响模块之间耦合的主要因素有两个:模块之间的连接形式,模块接口的复杂性。一般来说,接口复杂的模块,其耦合程度要比接口简单的的模块强,所以 选项 A

23、的说法错误; 耦合程度弱的模块,其内聚程度一定高,选项 B错误;选项 C正确。6.有如下程序: #includeiostream using namespace std; class base public: void output()cout1; virtual void print()cout“B“; ; class derived:public base public: void output()cout2; void print()cout“D“; ; int main() base*ptr=new derived; ptr-output(); ptr-print(); delete

24、ptr; return 0; 程序的输出结果是_。(分数:2.50)A.1BB.1D C.2BD.2D解析:解析 本题考查虚函数的使用。虚函数的作用是允许在派生类中重新定义与基类同名的函数,并且可以通过基类指针或引用来访问基类和派生类中的同名函数。由虚函数实现的动态多态性就是:同一类族中不同类的对象,对同一函数调用作出不同的响应。 题中,基类指针 ptr指向动态生成的派生类的对象空间。output()没有虚特性,“ptr-output();”只能访问基类中的函数,输出“1”;print()有虚特性,则“ptr-print();”访问的是派生类中的函数,输出“D”。故答案选 B。7.有如下函数模

25、板定义: templateclass T T func(T x,T y)return x*x+y*y; 在下列对 func的调用中,错误的是_。(分数:2.00)A.func(3,5);B.func(3.0,5.5);C.func(3,5.5); D.funcint(3,5.5);解析:解析 此题考查的是函数模板的使用。引用模板函数和引用一般函数在语法形式上基本相同。需要注意的是说明一个函数模板后,当编译系统发现有一个对应的函数调用时,将根据实参中的类型来确认是否匹配函数模板中的对应形参。本题 C选项中,编译系统从第一个参数“3”获得信息“int”和从第二个参数获得信息“double”两者矛盾

26、,错误;A、B 选项正确;D 选项中,函数名后的int是模板实参表,编译系统会将 double型的形参“5.5”自动转化成 int类型。8.有如下程序段: int i=1; while(1) i+; if(i=10) break; if(i%2=0) cout“*“; 执行这个程序段输出字符*的个数是 _ 。(分数:2.00)A.10B.3C.4 D.5解析:解析 本题主要考查 while的作用。只有 i为偶数时才输出“*”,而本题只有 2,4,6,8 时才满足条件,而当 i为 10时程序结束,即只有 4个“*”被输出。9.下列描述中,错误的是_。(分数:1.00)A.公有继承时基类中的公有成

27、员在派生类中仍是公有成员B.公有继承时基类中的保护成员在派生类中仍是保护成员C.保护继承时基类中的公有成员在派生类中仍是公有成员 D.保护继承时基类中的保护成员在派生类中仍是保护成员解析:解析 保护继承时,类成员的访问级别只能降低为保护模式,因此即使是基类的公有成员也被缩小为保护模式。10.下列关于线性链表的叙述中,正确的是 _ 。(分数:2.00)A.各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B.各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C.进行插入与删除时,不需要移动表中的元素 D.以上三种说法都不对解析:解析 线性表的链式存储结构称为线性链

28、表。在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。11.设有以下程序段: int a5=0,*p,*q; p=a; q=a; 则下列选项中,合法的运算是 _ 。(分数:1.00)A.p+qB.p-q C.p*qD.p%q解析:解析 本题考核指针的运算。C+语言中,指向同一字符串的指针之间能且只能进行减运算,减运算后返回的是一整型数,表示指针之间的地址偏移量。12.下面程序的输出结果是 _ 。 #includeiostream.h Class example int a; public: e

29、xample(int B.a=b+; void print()aa+1 couta“; void print()constcouta“; ; void main() example x(3); Const example y(2); x.print(); y.print(); (分数:2.00)A.2 2B.4 3C.4 2 D.3 2解析:解析 “+”是右结合的,所以先赋值为 3,最后输出 3+1;常成员函数只有常对象才能调用,所以输出 2。13.设 n=10,i=4,则赋值运算 n%=i+1执行后,n 的值是 _ 。(分数:2.00)A.0 B.3C.2D.1解析:14.模板对类型的参数化

30、提供了很好的支持,因此_。(分数:2.50)A.类模板的主要作用是生成抽象类B.类模板实例化时,编译器将根据给出的模板实参生成一个类 C.在类模板中的数据成员都具有同样类型D.类模板中的成员函数都没有返回值解析:解析 使用类模板使用户可以为类声明一种模式,使得类中的某些数据成员、成员函数的参数、成员函数的返回值,能取任意类型(包括基本类型和用户自定义类型)。故 A、C、D 错误,B 正确。15.执行下列语句: #includeiostream using namespace std; int main() int x=3; if(x=5) coutx+endl; else coutxendl;

31、 return 0; 程序的输出是_。(分数:2.50)A.3B.4C.5 D.6解析:解析 if条件语句 1 else语句 2,语句的执行过程是:首先判断条件是否为真(不为 0),为真则执行语句 1,否则执行语句 2。题目中的条件是 x=5,意思是把 5赋予变量 x,它将 x置 5且返回一个真值。16.有如下程序: #includeiostream using namespace std; class Sample public: Sample() Sample()cout“*“;) ; int main() Sample temp2,*pTemp2; return 0: 执行这个程序输出星

32、号(*)的个数为_。(分数:3.00)A.1B.2 C.3D.4解析:解析 在 main函数中,定义了 Sample temp2的一个包含两个对象的数组,还定义了一个*pTemp2,是包含两个指向类对象的指针的数组,故定义的指针当 main函数结束后是不会调用析构函数的,只有包含两个对象的数组 temp2会调用析构函数,因此只输出两个*。17.下列叙述不属于线性链表较之线性表顺序存储结构的优点的是 _ 。(分数:1.00)A.线性链表存储方式简单 B.线性链表运算效率高C.线性链表的存储空间易于扩展D.线性链表便于存储空间的动态分配解析:解析 线性链表存储方式要求每个数据节点由两个部分组成,比

33、线性表的顺序存储结构复杂,选项 A是错误的。在平均情况下,线性表的顺序存储结构插入和删除元素需要移动线性表中约一半的元素,效率低下。而线性链表只需改变有关节点的指针,效率较高,选项 B是正确的。线性表的顺序存储存储空间必须是连续的,不利于存储空间扩展;而线性链表不需要连续的存储空间,存储空间易于扩展,选项 C是正确的。为保证线性表的存储空间连续且顺序分配,会导致在对某个线性表进行动态分配存储空间时,必须要移动其他线性表中的数据元素,不便于存储空间的动态分配,选项 D是正确的。18.设有下列程序段: char s20=“Beijing“,*p; p=s; 则执行“p=s;”语句后,下列叙述正确的

34、是 _ 。(分数:2.00)A.可以用*p 表示 s0 B.s数组中元素的个数和 p所指字符串长度相等C.s和 p都是指针变量D.数组 s中的内容和指针变量 p中的内容相同解析:解析 程序定义了字符数组 s和字符型指针变量 p,并且使 p指向数组 s的首地址,执行 p=s语句后,*p 表示 s0;s 数组中元素的个数和 p所指字符串长度不相等,s 数细中包括字符串结束标志“/0”,而 p所指字符串不包括“/0”,数组 s中的内容和指针变量 p中的内容不相同,数组中存放的是字符串,而指针变量 p存放的是数组的首地址。19.在 C+中,打开一个文件时与该文件建立联系的是_。(分数:2.00)A.流

35、对象 B.模板C.函数D类解析:解析 在 C+中,打开一个文件时与该文件建立联系的是流对象。20.下列关于模板的叙述中错误的是_。(分数:2.50)A.调用模板函数时,有时可以省略模板实参B.函数模板的每个实例就是一个函数定义C.类模板的每个实例就是一个类定义 D.类模板的实例是一个类对象解析:21.下列表示纯虚函数的成员函数是(分数:2.00)A.virtual int func (int);B.void func(int)=0;C.virtual void func=0; D.virtual void flmc(int)解析:解析 本题考查纯虚函数的定义形式。由于纯虚函数在最后要有“=0”

36、,故据此排除 A和 D。而B中没有出现 virtual关键词,故正确答案为 C。22.数据管理技术发展的三个阶段中,_没有专门的软件对数据进行管理。 人工管理阶段 文件系统阶段 数据库阶段(分数:2.50)A仅 B仅C.和D.和解析:解析 数据管理技术发展的三个阶段中,只有人工管理阶段,没有操作系统,没有管理数据的软件,数据处理方式是批处理。在文件系统阶段,操作系统中已经有了专门数据管理软件,一般称为文件系统。在数据库系统阶段,出现了统一管理数据的专门软件系统,即数据库管理系统。23.在重载一个运算符为成员函数时,其参数表中没有任何参数,这说明该运算符是(分数:2.00)A.后缀一元运算符B.

37、前缀一元运算符 C.无操作数的运算符D.二元运算符解析:解析 在成员函数重载中,一元函数重载在函数声明中可以没有任何形参,操作数就是对象本身;但是作为后缀运算符重载时,则必须在形参中添加参数。24.要定义一个引用变量 p,使之引用类 MyClass的一个对象,正确的定义语句是_。(分数:2.50)A.MyClass p=MyClass;B.MyClass p=new MyClass;C.MyClassp=new MyClass;D.MyClass a,p=a; 解析:解析 选项 A错误不存在这样的定义方式;选项 B定义了一个 MyClass类的对象 p;选项 C是Java里的定义方式。25.有

38、如下程序 #includeiostream using namespace std; class MyClass public: MyClass()+count; MyClass()-count; static int getcount()return count; private: static int count; ; int MyClass:count=0; int main() MyClass obj; coutobj.getcount(); MyClass*ptr=new MyClass; coutMyClass:getcount(); delete ptr; coutMyClass

39、:getcount(); return 0; 程序的输出结果是_。(分数:2.50)A.121 B.232C.221D.122解析:解析 本题主要考查构造函数和析构函数的调用,以及静态成员的使用。生成对象,自动调用构造函数,执行“+count;”,count 变为 1。通过对象调用成员函数 getcount(),输出 count值为 1。定义指针 ptr指向动态分配的对象空间,也要自动调用构造函数,count 第二次自增,值为 2。通过类名和作用域运算符“:”可以直接访问类的静态成员,输出 count值为 2。“delete ptr;”需要回收 new为其分配的动态空间,要自动调用析构函数,c

40、ount 自减后值为 1。26.下列关于类和对象的叙述中,错误的是_ 。(分数:2.00)A.一个类只能有一个对象 B.对象是类的具体实例C.类是对某一类对象的抽象D.类和对象的关系是一种数据类型与变量的关系解析:解析 类可以有多个对象。27.数据库系统的核心是_。(分数:2.00)A.数据库B.数据库管理系统 C.数据模型D.软件工具解析:解析 数据库管理系统是数据库系统的核心。28.有如下程序: #includeiostream using namespace std; class Power public: Power(int x):val(x) _ protected: int val

41、; ; class Square:public Power public: Square(int x):Power(x) void Display() coutval“的平方是“val*valendl; ; int main() Power*p=new Square(3); p-Display(); delete p; return 0; 若运行时的输出结果为“3 的平方是 9”,则划线处缺失的语句可能是_。(分数:1.00)A.void Display()B.virtual void Display()=0 C.void virtual Display()=0;D.void Display(

42、)virtual 解析:解析 由题意可知,基类指针 p指向的是派生类的对象,当 p调用 Display()时,输出的结果是派生类中的 Display(),可知 Display()必为虚函数,这样才能满足动态联编。虚函数的定义是在声明前加关键字 virtual,选项 A不是虚函数,错误;选项 C、D 定义虚函数的格式不对,错误;答案为 B选项。29.下列语句中,正确的是_。(分数:2.00)A.char*myString=“Hello-World!“; B.char myString=“Hello-World!“;C.char myString11=“Hello-World!“;D.char m

43、yString12=“Hello-World!“;解析:解析 对于 B来说,会造成溢出,对于 C和 D来说同样如此,因为“Hello-world!”一个是 12个字符组成,加上空字符一共 13个,所以都会造成溢出,只有 A是将字符串的地址赋给字符型指针。30.下列字符串中,正确的 C抖标识符是 _ 。(分数:2.00)A.foo-1B.2bC.newD._256 解析:31.下列叙述中正确的是_。(分数:1.00)A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构 C.线性表的链式存储结构所需要的存储空间一般要少于顺序存

44、储结构D.线性表的链式存储结构与顺序存储结构在存储空间的需求上没有可比性解析:解析 线性链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,所以一般要多于顺序存储结构。32.有如下类定义: class Point private; static int how_many; ; _how_many=0; 要初始化 Point类的静态成员 how_many,下划线处应填入的内容是_。(分数:2.00)A.ingB.static intC.int Point: D.static int Point:解析:解析 此题考查的是静态数据成员的初始化。静态数据成员应在类体外进行初始化,且初始

45、化的一般格式为:数据类型 类名:静态数据成员名=初始值。33.下列关于 C+流的描述中,错误的是_。(分数:2.00)A.cout“A表达式可输出字符 A B.eof()函数可以检测是否到达文件尾C.对磁盘文件进行流操作时,必须包含头文件 fstreamD.以 ios_base:out模式打开的文件不存在时,将自动建立一个新文件解析:解析 cout 是一个标准输出流对象。称之为提取运算符,它的功能是从输入流中提取数据赋值给一个变量。为插入运算符,其功能是把表达式的值插入到输出流中。当系统执行 coutx 操作时,首先根据 x值的类型调用相应的插入运算符重载器函数,把 x的值传送给对应的形参,接

46、着执行函数体,把 x的值输出到显示器屏幕上,在当前屏幕光标位置处显示出来,然后返回 ostream流,以便继续使用插入运算符输出下一个表达式的值。对于本题来说,要输出字符A的值应该写成 cout“A“。因而选项 A是错误的。34.通过派生类的对象可直接访问的是_。(分数:1.00)A.公有继承基类中的公有成员 B.私有继承基类中的公有成员C.公有继承基类中的保护成员D.私有继承基类中的保护成员解析:解析 类的对象可直接访问的只能是该类的公有成员,采用公有继承方式时,基类的公有成员在派生类中仍然是公有成员,可以直接访问,而基类的保护成员在派生类中仍然是保护成员,不可以直接访问,选项 A正确,选项 C错误;采用私有继承方式时,基类中的公有成员和保护成员在派生类中都是私有成员,派生类对象无法直接访问,选项 B、D 错误。答案为 A选项。35.下面关于数组的描述错误的是(分数:1.00)A.在 C+语言中数组的名字就是指向该数组第一个元素的指针B.长度为 n的数组,下标的范围是 0n-1C.数组的大小必须在编译时确定D.数组只能通过值参数和引用参数两种方式传递给函数 解析:解析 本题考查的是数组的基本使用,数组还可以通过对应的指针调用传递参数,其余选项的说法都是正确的。36.如下程序的输出结果是 #incl

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

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

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