【计算机类职业资格】二级C++-232及答案解析.doc
《【计算机类职业资格】二级C++-232及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-232及答案解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-232 及答案解析(总分:62.00,做题时间:90 分钟)一、选择题(总题数:36,分数:62.00)1.类的析构函数的作用是_。(分数:1.00)A.一般成员函数的初始化B.类的初始化C.对象的初始化D.删除类创建的对象2.有类定义如下: class Type public: Type(int i=0); Type operator-(int); friend Type operator+(Type,Type); private: int val: 若有对象定义“Type c1;”,则下列语句序列中,错误的是_。(分数:2.00)A.Type(3)+c1;B.c1+Type(3
2、);C.3-c1;D.c1-3;3.有如下定义: int a5=1,3,5,7,9,*p=a; 下列表达式中不能得到数值 5 的是_。(分数:2.00)A.a2B.a3C.*(p+2)D.*p+44.已知类 Base 和类 Derived 的定义如下: class Base int n; public; Base(int d); n(d) ; class Derived: public Base public: _ ; 其中横线处应为类 Derived 的构造函数的定义。 在下列构造函数的定义中正确的是_。(分数:2.50)A.Derived(int i)Base(i); B.Derived(
3、int i): Base(i); C.Derived(int i)n=i; D.Derived(int i): n=i5.有如下程序: #includeiostream.h void main() char ch25=“6937“,“8254“),*p2; int i,j,s=0; for(i=0;i2;i+)pi=chi; for(i=0;i2;i+) for(j=0;pij“/0“;j+=2 s=10*s+pij-“0“; couts; 该程序的输出结果是_。(分数:1.00)A.69825B.63825C.6385D.6938256.假定 AB 为一个类,则执行 AB x;语句时将自动调
4、用该类的(分数:2.00)A.有参构造函数B.无参构造函数C.拷贝构造函数D.赋值重载函数7.有如下程序: #includeiostream using namespace std; class BASE public: BASE()cout“BASE“; ; class DERIVED:public BASE public: DERIVED()cout“DERIVED“; ; int main()DERIVED x;return 0; 执行后的输出结果是_。(分数:3.00)A.BASEB.DERJVEDC.BASEDERIVEDD.DERIVEDBASE8.下列关于继承方式的描述中,错误的
5、是_。(分数:1.00)A.如果不显式地指定继承方式,则默认的继承方式是私有 privateB.采用公有继承方式时,基类中的公有成员在派生类中仍然是公有成员C.采用保护继承方式时,基类中的保护成员在派生类中仍然是保护成员D.采用保护继承方式时,基类中的公有成员在派生类中仍然是公有成员9.下面程序的运行结果是 #includeiostream,h void fun(int*a,int*b) int X= *a; * a= *b; *b=X; cout *a *b“ “; void main() int x=1, y=2; fun( int fun(int*k) b=*k+b;return(b);
6、 void main() int a10=1,2,3,4,5,6,7,8,i; for(i=2;i4;i+)(b=fun(ai)+b;printf (“%d“,b); printf(“/n“; 程序运行后的输出结果是_。(分数:1.00)A.10 12B.8 10C.10 28D.10 1614.若 PAT 是一个类,则程序运行时,语句“pAT(*ad)3;”调用 PAT 的构造函数的次数是_。(分数:2.50)A.0B.1C.2D.315.有类定义如下: class Type public: Type(int i=0); Type operator-(int); friend Type op
7、erator+(Type,Type); private: int val; ; 若有对象定义 Type c1;则下列语句序列中,错误的是_。(分数:2.00)A.Type(3)+c1;B.c1+Type(3);C.3-c1;D.c1-3;16.在 C+中既可以用于文件输入又可以用于文件输出的流类是_。(分数:2.50)A.fstreamB.ifstreamC.ofstreamD.iostream17.以下程序的输出结果是_。 main() int a=4,b=5,c=0,d; d=!a coutdendl; (分数:2.50)A.1B.0C.非 0 的数D.-118.下列控制格式输入输出的操作
8、符中,能够设置浮点数精度的是_。(分数:2.50)A.setprecisionB.setwC.setfillD.showpoint19.下列关于输入流类成员函数 getline()的描述中,错误的是_。(分数:2.00)A.该函数是用来读取键盘输入的字符串的B.该函数读取的字符串长度是受限制的C.该函数读取字符串时,遇到终止符便停止D.该函数读取字符串时,可以包含空格20.耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是_。(分数:1.00)A.提高耦合性降低内聚性有利于提高模块的独立性B.降低耦合性提高内聚性有利于提高模块的独立性C.耦合性是指一个模块内部各个元素间彼此结合的紧
9、密程度D.内聚性是指模块间互相连接的紧密程度21.以下关键字不能用来声明类的访问权限的是 _ 。(分数:1.00)A.publicB.staticC.protectedD.private22.下列描述正确的是_。(分数:1.00)A.表示 mn 为 true 或 mn 为 true 的表达式为 mnmnB.switch 语句结构中必须有 default 语句C.if 语句结构中必须有 else 语句D.如果至少有一个操作数为 true,则包含|运算符的表达式为 true23.有如下程序: #includeiostream using namespace std; class B public:
10、 B(int xx):x(xx)+count;x+=10; virtual void show()const coutcount“_“xendl; protected: static int count; private: int x; ; class D:public B public: D(int xx,int yy):B(xx),y(yy)(+count;y+=100; virtual void show()const coutcount“_“yendl; private: int y; ; int B:count=0; int main() B*ptr=new D(10,20); pt
11、r-show(); delete ptr; return 0; 运行时的输出结果是_。(分数:2.50)A.1_120B.2_120C.1_20D.2_2024.数据库管理系统是_。(分数:1.00)A.操作系统的一部分B.在操作系统支持下的系统软件C.一种编译系统D.一种操作系统25.数据结构中,与所使用的计算机无关的是数据的(分数:1.00)A.存储结构B.物理结构C.逻辑结构D.物理和存储结构26.下列关于线性链表的叙述中,正确的是 _ 。(分数:2.00)A.各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B.各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间
12、必须连续C.进行插入与删除时,不需要移动表中的元素D.以上三种说法都不对27.概要设计中要完成的事情是 _ 。(分数:2.00)A.系统结构和数据结构的设计B.系统结构和过程的设计C.过程和接口的设计D.数据结构和过程的设计28.在 C+中既可以用于文件输入又可以用于文件输出的流类是_。(分数:2.50)A.fstreamB.ifstreamC.ofstreamD.iostream29.有如下程序: #indudeiostream using namespace std; class A public: A()cout“A“; A()cout“A“; ; class B A*p; public
13、: B()cout“B“;p=new A; B()cout“B“;delete p; ; int main() B obj; return 0; 执行这个程序的输出结果是_。(分数:1.00)A.BAAABAB.ABABAAC.BAABAAD.ABAABA30.下列运算符函数中肯定不属于类 FunNumber 的成员函数的是_。(分数:1.00)A.int operator-(FunNumber);B.FunNumber operator-();C.FunNumber operator-(int);D.int operator-(FunNumber, FunNumber);31.以下有关析构函
14、数的叙述不正确的是(分数:2.00)A.一个类只能定义一个析构函数B.析构函数和构造函数一样可以有形参C.析构函数不允许有返回值D.析构函数名前必须冠有符号“”32.已知有定义 const int D=5; int i=1; double f=032; char c=15; 则下列选项错误的是(分数:1.00)A.+i;B.D-;C.c+;D.-f33.有如下程序: #includeiostream void fun(intx=y;y=t; int main() int a2=23,42; fun(a1,a0); std:couta0“,“a1std:endl; return 0; 执行后的输
15、出结果是_。(分数:2.00)A.42,42B.23,23C.23,42D.42,2334.下列虚基类的声明中正确的是_。(分数:1.00)A.class virtual B:public AB.virtual class B:public AC.class B:public A virtualD.class B:virtual public A35.有如下程序: #includeiostream using namespace std; class TV public: TV(int s=41):size(s) void Print()cout“/“N“size; void Print()
16、constcout“/“C“size; void Print(int s)cout“/“S“size; private: int size; ; int main() TV rooml; const TV room2(54); rooml.Print(); room2.Print(); return 0; 运行时的输出结果是_。(分数:1.00)A./N41/C54B./N41/S54C./C41/N54D./C41/C5436.下列重载函数中,正确的是 _ 。(分数:2.00)A.void fun(int a,float b);void fun(int c,float d)B.void fu
17、n( int a,float b);void fun(float a,int b)C.float fun(int a,float b);int fun(int b,float a)D.int fun(int a,int b);float fun(int a,int b)二级 C+-232 答案解析(总分:62.00,做题时间:90 分钟)一、选择题(总题数:36,分数:62.00)1.类的析构函数的作用是_。(分数:1.00)A.一般成员函数的初始化B.类的初始化C.对象的初始化D.删除类创建的对象 解析:解析 析构函数就是用来释放对象的,它的调用完成之后,对象也就消失了,相应的内存空间也被释
18、放了。2.有类定义如下: class Type public: Type(int i=0); Type operator-(int); friend Type operator+(Type,Type); private: int val: 若有对象定义“Type c1;”,则下列语句序列中,错误的是_。(分数:2.00)A.Type(3)+c1;B.c1+Type(3);C.3-c1; D.c1-3;解析:3.有如下定义: int a5=1,3,5,7,9,*p=a; 下列表达式中不能得到数值 5 的是_。(分数:2.00)A.a2B.a3 C.*(p+2)D.*p+4解析:解析 此题考查的是
19、指针引用数组元素。B 选项中,a3是数组的第四个元素,即 7;其它选项的引用均可得到 5。4.已知类 Base 和类 Derived 的定义如下: class Base int n; public; Base(int d); n(d) ; class Derived: public Base public: _ ; 其中横线处应为类 Derived 的构造函数的定义。 在下列构造函数的定义中正确的是_。(分数:2.50)A.Derived(int i)Base(i); B.Derived(int i): Base(i); C.Derived(int i)n=i; D.Derived(int i
20、): n=i解析:解析 本题考查的是构造函数的定义。构造函数的定义一般为:类名(形参):成员名(表达式)(),根据该公式,可以判断出选择 B。5.有如下程序: #includeiostream.h void main() char ch25=“6937“,“8254“),*p2; int i,j,s=0; for(i=0;i2;i+)pi=chi; for(i=0;i2;i+) for(j=0;pij“/0“;j+=2 s=10*s+pij-“0“; couts; 该程序的输出结果是_。(分数:1.00)A.69825B.63825C.6385 D.693825解析:解析 该题需要搞清楚以下几
21、点:定义了一个指针数组 char*p2后,程序中第一个循环“for(i=0;i2;i+)pi=chi”的作用是使指针数组的 p0元素(它本身是一个指针)指向了二维数组ch 的第一行字符串,并使指针数组的 p1元素指向了二维数组 ch 的第二行字符串,这样,就使指针数组p 和二维数组 ch 建立起了一种对应关系,以后对二维数组 ch 的某个元素的引用就有两种等价的形式:chij或 pij。对二维数组 ch 的初始化,使其第一行 ch0中存入了字符串“6937”,第二行ch1中的内容为字符串“8254”。程序中第二个循环中的循环体“s=s*10+pij-“0“”的功能是这样的,每执行一次,将 s
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C232 答案 解析 DOC
