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