【计算机类职业资格】二级C++-231及答案解析.doc
《【计算机类职业资格】二级C++-231及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-231及答案解析.doc(20页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-231 及答案解析(总分:71.00,做题时间:90 分钟)一、选择题(总题数:38,分数:71.00)1.若有如下类定义: classB void fun1() protected: double var1; public: void fun2() ; class D:public B protected: void fun3() ; 己知 obj 是类 D 的对象,下列句中不违反类成员访问控制权限的是_。(分数:2.00)A.obj.fun1();B.obj.var1;C.obj.fun2();D.obj.fun3();2.下列各组类型声明符中,含义相同的一组是_。(分数:1.
2、00)A.unsigned long int 和 longB.signed short 和 shortC.unsigned short 和 shortD.short int 和 int3.下列选项中不属于字符常量的是_。(分数:2.50)A.“C“B.“C“C.“/xCC“D.“/072“4.应用数据库的主要目的是(分数:1.00)A.解决数据保密问题B.解决数据完整性问题C.解决数据共享问题D.解决数据量大的问题5.在学生管理的关系数据库中,存取一个学生信息的数据单位是_。(分数:2.50)A.文件B.数据库C.字段D.记录6.下列叙述中正确的是_。(分数:1.00)A.栈是一种先进先出的线
3、性表B.队列是一种后进先出的线性表C.栈与队列都是非线性结构D.以上三种说法都不对7.在软件开发中,需求分析阶段可以使用的工具是_。(分数:1.00)A.N-S 图B.DFD 图C.PAD 图D.程序流程图8.有以下类定义 class MyClass public: MyClass() cout1; ; 则执行语句 MyClass a,b 2,*p2;后,程序的输出结果是 _ 。(分数:2.00)A.11B.111C.1111D.111119.下列关于虚基类的描述中,错误的是_。(分数:2.50)A.使用虚基类可以消除由多继承产生的二义性B.构造派生类对象时,虚基类的构造函数只被调用一次C.声
4、明“class B:virtual public A”说明类 B 为虚基类D.建立派生类对象时,首先调用虚基类的构造函数10.在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是(分数:2.00)A.友元函数B.虚函数C.构造函数D.析构函数11.将 ER 图转换到关系模式时,实体与联系都可以表示成(分数:1.00)A.属性B.关系C键D域12.若有下面的函数调用: fun(a+b,3,max(n-1,b) 则 fun 的实参个数是_。(分数:2.00)A.3B.4C.5D.613.为了使模块尽可能独立,要求 _ 。(分数:2.00)A.模块的内聚程度要
5、尽量高,且各模块间的耦合程度要尽量强B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强14.下列程序执行后,输出的结果是_。 int x=-5,y=0; while(+x) y+; coutyendl;(分数:2.50)A.1B.2C.4D.515.有如下类声明: class SAMPLE int n; public: SAMPLE(int i=0):n(i) void setValue(int n0); ; 下列关于 getValue 成员函数的定义中,正确的是_。(分数:1
6、.00)A.SAMPLE: setValue(int n0) n=n0; B.void SAMPLE: setValue(int n0) n=n0;C.void setValue(int n0) n=n0;D.setValue(int n0) n=n0;16.当派生类继承一个基类时,默认的继承方式为_。(201203)(分数:2.00)A.publicB.protectedC.privateD.不确定17.下列声明语句中没有起到定义作用的是_。(分数:2.50)A.int count;B.const double pi=3.14159;C.int max(int a,int b)return
7、ab? a:b;D.extern long index;18.下列关于信息和数据的叙述不正确的是 _ 。(分数:2.00)A.信息是数据的符号表示B.信息是数据的内涵C.信息是现实世界事物的存在方式或运动状态的反映D.数据是描述现实世界事物的符号记录19.将 x+y*z 中的“+”用成员函数重载,“*”用友元函数重载应写为_。(分数:2.50)A.operator+(operator*(y,z)B.operator+(operator*(y,z)C.operator+(x*(y,z)D.x+(operator*(y,z)20.若为 Fraction 类重载前增 1 运算符+,应在类体中将其声明
8、为_。(分数:2.50)A.FractionB.FractionC.friend FractionD.friend Fraction21.以下程序执行后的输出结果是 _ 。 #include iostream using namespace std; void try(int,int,int,int); int main() int x,y,z,r; x=1; y=2; try(x,y,z,r); coutrendl; return 0; void try(int x,int y,int z,int r) z=x+y; x=x*x; y=y*y; r=z+x+y; (分数:2.00)A.18B
9、.9C.10D.不确定22.若 MyClass 为一个类,执行“MyClass a4, *p5;”语句时会自动调用该类的构造函数的次数是_。(分数:2.50)A.2B.5C.4D.923.关于 this 指针的说明不正确的是(分数:1.00)A.不能在程序中修改 this 指针B.this 指针可以给其他指针赋值,但不能修改 this 指针C.静态成员函数中没有 this 指针D.this 指针可以被赋值24.假定 MyClass 为一个类,则执行 MyClass a,b(2),*p;语句时,自动调用该类构造函数 _ 次。(分数:2.50)A.2B.3C.4D.525.函数重载是指 _ 。(分
10、数:1.00)A.两个或两个以上的函数取相同的函数名,但形参的个数或类型不同。B.两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同。C.两个以上的函数名字不同,但形参的个数或类型相同。D.两个以上的函数取相同的函数名,并且函数的返回类型相同。26.若有如下程序: #includeiostream using narnespace std; class TestClass public: void who()cout“TestClass“endl; ; class TestClassl: public TestClass public: void who()cout“Test
11、Class1“endl; int main() TestClass*p; TcstClass1 obj1; p=obj1; p-who(); return 0; 则该程序运行后的输出结果是_。(分数:1.00)A.TestClasslB.TestClassC.0D.无输出27.有如下程序: #includeiostream using namespace std; class Book public: Book(char* t=“) strcpy(title, t); _ private: char title40; ; class Novel:public Book public: Nove
12、l(char*t=“):Book(t) char* Category() const return“文学“; ; int main() Book *pb; pb=new Novel(); coutpb-Category(); return 0; 程序运行时出现结果是“文学”,则画线处缺失的语句是_。(分数:2.50)A.char*Category();B.char*Category() const;C.virtual char*Category()const;D.virtual char* Category()const=0;28.以下程序的执行结果为_。 #includeiostream.h
13、 class Sample int n; public: Sample(int i)n=i; operator+()n+; /前缀重载运算符 operator+(int)n+=2; /后缀重载运算符 void disp() cout“n=“nendl; ; void main() Sample A(2),B(2); A+; +B; A.disp(); B.disp(); (分数:2.50)A.n=4n=3B.n=1n=2C.n=3n=4D.n=5n=629.若要对类 BigNumber 中重载的类型转换运算符 long 进行声明,下列选项中正确的是_。(分数:2.50)A.operator l
14、ong()const;B.operator long(BigNumber);C.long operator long()const;D.long operator long(BigNumber);30.要利用 C+流实现输入输出的各种格式控制,必须在程序中包含的头文件是_。(分数:2.00)A.fstreamB.istreamC.cstdlibD.iomanip31.有如下程序: #includeiostream #includecstring using namespace std; class MyString public: char str80; MyString(const char
15、*s)strcpy(str,s); MyString return*this; ; ostream int main() MyString x(“abc“),y(“cde“); cout(x+=y)endl; return 0; 运行这个程序的输出结果是_。(分数:2.00)A.abcB.cdeC.abcdeD.abccde32.有如下程序: #includeiostream #includeiomanip using namespace std; int main() cOUtsetw(10)serfill(“x“)setprecision(8)left; cout12.3456793_98
16、765; return 0; 若程序的输出是 12.345679x98765xxxxx,则划线处缺失的部分是_。(分数:2.50)A.setw(10)B.setfill(“x“)C.setprecision(8)D.right33.有关构造函数的说法不正确的是 _ 。(分数:1.00)A.构造函数名字和类的名字一样B.构造函数在说明类变量时自动执行C.构造函数无任何函数类型D.构造函数有且只有一个34.设有以下定义和程序: #includeiostream.h classA1 public: void show1() cout“classA1”end1; ; classA2:public A1
17、 public: void show2() cout“classA2“end1; ; class A3:protected A2 public: voidshow3() cout“class A1”end1; ; void main() A1obj1; A2obj2; A3obj3; 则以下不合语法的调用语句是(分数:1.00)A.obj1show1();B.obj2show1();C.obj3show1();D.obj2show2();35.若有定义语句“int i=2,j=3;”,则表达式 i/j 的结果是_。(分数:2.00)A.0B.0.7C.0.666 67D.0.666 666 6
18、736.有以下程序: #includeiostream using namespace std; class sample private: int n; public: sample() sample(int m) n-m; sample add(sample s1,sample s2) this-n=s1.n+s2.n; return(*this): void disp() cout“n=“nendl; ; int main() sample s1(10),s2(5),s3; s3.add(s1,s2); s3.disp(); return 0; 程序运行后,输出的结果是_。(分数:1.0
19、0)A.n=10B.n=5C.n=20D.n=1537.检查软件产品是否符合需求定义的过程称为_。(分数:2.50)A.确认测试B.集成测试C.验证测试D.验收测试38.下列叙述中正确的是(分数:2.00)A.数据库系统是一个独立的系统,不需要操作系统的支持B.数据库技术的根本目的是解决数据的共享问题C.数据库管理系统就是数据库系统D.以上 3 种说法都不对二级 C+-231 答案解析(总分:71.00,做题时间:90 分钟)一、选择题(总题数:38,分数:71.00)1.若有如下类定义: classB void fun1() protected: double var1; public: v
20、oid fun2() ; class D:public B protected: void fun3() ; 己知 obj 是类 D 的对象,下列句中不违反类成员访问控制权限的是_。(分数:2.00)A.obj.fun1();B.obj.var1;C.obj.fun2(); D.obj.fun3();解析:解析 此题考查的是基类成员在派生类中的访问属性。派生类中的成员不能访问基类中的私有成员,可以访问基类中的公有成员和保护成员。派生类从基类公有继承时,基类的公有成员和保护成员在派生类中仍然是公有成员和保护成员;派生类从基类私有继承时,基类的公有成员和保护成员在派生类中都变成私有成员;派生类从基
21、类保护继承时,基类的公有成员在派生类中变成保护成员,基类的保护成员在派生类中仍然是保护成员。根据以上分析可知,本题中只有从 B 类继承的 fun2()为公有属性,故选 C 选项。2.下列各组类型声明符中,含义相同的一组是_。(分数:1.00)A.unsigned long int 和 longB.signed short 和 short C.unsigned short 和 shortD.short int 和 int解析:解析 本题考查的知识点是基本类型的派生类型的定义。派生类型声明符是由基本类型关键字char、int、float、double 前面加上类型修饰符组成的。类型修饰符包括 sh
22、ort 短类型,缩短字长;long 长类型,加长字长;signed 有符号类型,取值范围包括正负值;unsigned 无符号类型,取值范围只包括正值。其中 signed 和 unsigned 只能同时出现一个,如果省略则默认为 signed。short 和 long 也只能同时出现一个,如果修饰的类型是 int,则可以省略 int。unsignedlong int 的省略形式为 unsigned long;选项 B 中,signedshort int 的省略形式就是 short,正确;unsigned short int 的省略形式是unsigned short;short int 的省略形式
23、是 short。故本题选 B。3.下列选项中不属于字符常量的是_。(分数:2.50)A.“C“B.“C“ C.“/xCC“D.“/072“解析:解析 字符常量是用一对单引号括起来的,而字符串常量是用双引号括起来的字符序列,所以选项 B 不正确;选项 C 中“/xCC“是十六进制表示的转义字符;选项 D 中“/072“是八迸制表示的转义字符。4.应用数据库的主要目的是(分数:1.00)A.解决数据保密问题B.解决数据完整性问题C.解决数据共享问题 D.解决数据量大的问题解析:解析 数据库中的数据具有“集成”与“共享”的特点,亦即是数据库集中了各种应用的数据,进行统一构造与存储,而使它们可以被不同
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C231 答案 解析 DOC
