【计算机类职业资格】二级C++笔试323及答案解析.doc
《【计算机类职业资格】二级C++笔试323及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试323及答案解析.doc(14页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试 323 及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.下列程序执行结果是 #includeiostream.h class A public: int a; A( ):a(10)toutaendl; ; void main( ) A obj1; A obj2(obj1); cout“ “obj2.aendl; (分数:2.00)A.10 10B.编译错误缺少拷贝构造函数C.10 随机数D.随机数随机数2.用数组表示线性表的优点是(分数:2.00)A.便于插入和删除操作B.便于随机存取C.可以动态地分配存储空间D.不需
2、要占用一片相邻的存储空间3.以下程序的输出结果是 main( ) int a=4,b=5,e=0,d; d=! a coutdend1; (分数:2.00)A.1B.0C.非 0 的数D.-14.下面不正确的描述为(分数:2.00)A.调用函数时,实参可以是表达式B.调用函数时,实参与形参可以共用内存单元C.调用函数时,将为形参分配内存单元D.调用函数时,实参与形参的类型必须一致5.定义静态成员函数的主要目的是(分数:2.00)A.方便调用B.有利于数据隐蔽C.处理类的静态成员变量D.便于继承6.有以下程序 main( ) int i=10,j=1; cout- -“,“+jendl; 执行后
3、输出结果是(分数:2.00)A.9,2B.10,2C.9,1D.10,17.设有基类定义: class Cbase private:int a; protected:int b; public:int c; ; 派生类采用何种继承方式可以使成员变量 b 成为自己的私有成员(分数:2.00)A.私有继承B.保护继承C.公有继承D.私有、保护、公有均可8.存取指针所指的值时,采用的运算符是(分数:2.00)A.#B. strcpy(arr,“you“);strepy(arr1,“me“); arr03= coutarrendl; (分数:2.00)A.you ; A k1, k2,*p1,*p2;
4、 则下面针对成员变量 m 的引用,错误的是(分数:2.00)A.k1.m=1B.k2-m=2C.p1-m=3D.(*p2).m=413.有关构造函数的说法中错误的是(分数:2.00)A.构造函数名字和类的名字一样B.构造函数在说明类变量时自动执行C.构造函数无任何函数类型D.构造函数有且只有一个14.一个 C+程序由函数 A( ),B( ),C( )和函数 P( )构成,在函数 A( )中分别调用了函数 B( )和函数 C ( ),在函数 B( )中调用了函数 A( ),且在函数 P( )中也调用了函数 A( ),则可以说(分数:2.00)A.函数 B( )中调用的函数 A( )是函数 A(
5、)的间接递归调用B.函数 A( )被函数 B( )调用是直接递归调用C.函数 P( )直接递归调用了函数 A( )D.函数 P( )中调用的函数 A( )是函数 P( )的嵌套15.考虑以下的函数原型: vold A(int a,int b=5,char Z=*) 下面的函数调用中,不正确的是(分数:2.00)A.A(7)B.A(3,4)C.16,#D.A(0,2,*)16.有以下程序 main( ) char a,b,c,*d; a=/;b=/xbc; c=/0xab;d=“/0127“; coutabc*dendl; 编译时出现错误,以下叙述中正确的是(分数:2.00)A.程序中只有 a=
6、/;语句不正确B.b=/xbc;语句不正确C.d=“/0127“;语句不正确D.a=/;和 c=/0xab;语句都不正确17.在进行了任何 C+流的操作后,都可以用 C+流的有关成员函数检测流的状态,其中只能用于检测输入操作的函数的函数名是(分数:2.00)A.failB.eofC.badD.good18.软件工程的理论和技术性研究的内容主要包括软件开发技术和(分数:2.00)A.消除软件危机B.软件工程管理C.程序设计自动化D.实现软件可重用19.关于友元的描述中错误的是(分数:2.00)A.友元函数可以访问该类的私有数据成员B.一个类的友元类中的成员函数都是这个类的友元函数C.友元可以提高
7、程序的运行效率D.类和类之间的友元关系可以继承20.有以下程序: class Date public: Date(int y,int m,int d); year=y; month=m day=d; Date(int y=2000) year=y; month=10; day=1; Date(Date month=d.month; day=d.day; void print( ) coutyear“.“month“.“dayendl; private: int year,month,day; ; Date fun(Date d) Date temp; temp=d; return temp;
8、int main( ) Date datel(2000,1,1),date2(0,0,0); Date date3(datel); date2=fun(date3); return 0; 程序执行时,Date 类的拷贝构造函数被调用的次数是(分数:2.00)A.2B.3C.4D.521.下面程序段的正确输出是 int w=4,x=3,y=2,z=1; cout(wx? w:zy? z:x)end1;(分数:2.00)A.0B.1C.2D.322.下列关于线性表、栈和队列的叙述,错误的是(分数:2.00)A.线性表是给定的 n(n 必须大于零)个元素组成的序列B.线性表允许在表的任何位置进行插入
9、和删除操作C.栈只允许在一端进行插入和删除操作D.队列允许在一端进行插入在另一端进行删除23.数据库系统的核心是(分数:2.00)A.数据库B.数据库管理系统C.模拟模型D.软件工程24.以下有关成员函数特征的叙述不正确的是(分数:2.00)A.成员函数一定是内联函数B.成员函数可以重载C.成员函数可以设置缺省参数值D.成员函数可以是静态的25.已知语句 int m=10;则下列表示引用的表示中正确的是(分数:2.00)A.int B.intC.intD.float26.数据处理的最小单位是(分数:2.00)A.数据B.数据元素C.数据项D.数据结构27.若类 A 和类 B 的定义如下 cla
10、ss A int i,j; public: int geti( ) return i; ; class B:public A int k: public: void make( ) k=i*j; ; 则上述定义中非法的语句是(分数:2.00)A.k=i*jB.int k;C.return i;D.void make()28.软件开发的结构化生命周期方法将软件生命周期划分成(分数:2.00)A.定义、开发、运行维护B.设计阶段、编程阶段、测试阶段C.总体设计、详细设计、编程调试D.需求分析、功能定义、系统设计29.若执行以下程序时从键盘上输入 9,则输出结果是 main( ) int n; ci
11、nn; if(n+10)coutnend1; else coutn - -end1; (分数:2.00)A.11B.10C.9D.830.以下程序的输出结果是 main( ) int a=0,i; for(i=1;i5;i+) switch(i) case 0: case 3:a+=2; case 1: case 2:a+=3; default:a+=5; coutaend1; (分数:2.00)A.31B.13C.10D.2031.面向对象的程序设计主要考虑的是提高软件的(分数:2.00)A.可靠性B.可重用性C.可移植性D.可修改性32.以下程序中,while 循环的循环次数是 main(
12、 ) int i=0; while(i10) if(i1)continue; if(i= =5)break; i+;) (分数:2.00)A.1B.10C.6D.死循环,不能确定次数33.阅读以下程序 #includeiostream.h void main( ) char line10; cinline; coutlineendl; 如运行时输入 This is example.CR,则程序的输出结果是(分数:2.00)A.ThisB.This isC.This is aD.This is an exampl34.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作(分数:2.0
13、0)A.软件投机B.软件危机C.软件工程D.软件产生35.下列程序执行后的输出结果是 void funcl(int i); void func2(int i); char st=“hello,friend!“; void fund(int i) coutsti; if(i3)i+=2;func2(i); void func2(int i) coutsti; if(i3)i+=2;funcl(i); main( ) int i=0;fund(i);coutendl; A ) hello B) hel C) hlo D) hlm(分数:2.00)A.B.C.D.二、B填空题/B(总题数:15,分数
14、:30.00)36.长度为 n 的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为 1。(分数:2.00)填空项 1:_37.用树结构表示实体类型及实体间联系的数据模型称为 1。(分数:2.00)填空项 1:_38.类是一个支持集成的抽象数据类型,而对象是类的 1。(分数:2.00)填空项 1:_39.数据流图的类型有 1 和事务型。(分数:2.00)填空项 1:_40.当数据的物理结构(存储结构、存取方式等)改变时,不影响数据库的逻辑结构,从而不致引起应用程序的变化,这是指数据的 1。(分数:2.00)填空项 1:_41.函数定义的格式是 1 函
15、数名(形式参数表)函数体。(分数:2.00)填空项 1:_42.语句序列 long x;x=0L;可用一个语句表示为 1。(分数:2.00)填空项 1:_43.在 C+中的实型数据分为三种类型,即单精度 float、双精度 double 和 1。(分数:2.00)填空项 1:_44.若 a. b 和 C 均是 int 型变量,则表达式 a=(b=4)+(c=2)执行后,a 的值为 1。(分数:2.00)填空项 1:_45.多态性分两类:编译时的多态性和 1。(分数:2.00)填空项 1:_46.下列程序的输出结果是_。 #includeiostream.h templateclass T T
16、max(T x,int n) int i; T maxv=x0; for(i=1;in;i+) if(maxvxi) maxv=xi; return maxv; void main( ) int a=3,2,7,6,8,9; double b=1.2,3.4,2.5,7.3,6.8; coutmax(a,4)“,“max(b,3)endl; (分数:2.00)填空项 1:_47.下列程序的运行结果是_。 #includeiostream.h class Base public: virtual void func(int i)cout“class Base:“iend1;) ; class D
17、erived: public Base public: void func(double d)cout“class Derived:“dendl; ; void main( ) Base a,*p=a; Derived b; p= (*p).func(3.3); (分数:2.00)填空项 1:_48.下列程序的输出结果是_。 #includeiostream.h int CalcDigital(char*str) if(str= =NULL) return 0; int num_of_digital=0; for(int i=0;stri!=0x0;i+) if(stri=9 return n
18、um_of_digital; void main( ) char a=“Beijing20080lympic“; coutCalcDigital(a)endl; (分数:2.00)填空项 1:_49.下列程序的输出结果是_。 #includeiostream using namespace std; class base public: int n; base(int x)n=x; virtual void set(int m)n=m;coutn; ; class deriveA:public base public: deriveA(int x):base(x) void set(int m
19、)n+=m;coutn; ;class deriveB:public base public: deriveB(int x):base(x) void set(int m)n+=m;coutn; ; int main( ) deriveA d1(1); deriveB.d2(3); base*pbase; pbase= pbase-set(1); pbase= pbase-set(2); return 0; (分数:2.00)填空项 1:_50.下列程序编译错误,是由于划线处缺少某个语句,该语句是_。 #includeiostream.h class A private: int numl;
20、public: A( ):numl(0) A(int i):numl(i) ; class B private: int num2; public: B( ):num2(0) B(int i):num2(i) int my_math(A obj1, B obj2); ; int B:my_math(A obj1,B obj2) return(obj1.numl+obj2.num2); void main(void) A objl(4); B obj,obj2(5); cout“obj1+obj2:“obj.my_math(obj1,obj2); (分数:2.00)填空项 1:_二级 C+笔试
21、323 答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.下列程序执行结果是 #includeiostream.h class A public: int a; A( ):a(10)toutaendl; ; void main( ) A obj1; A obj2(obj1); cout“ “obj2.aendl; (分数:2.00)A.10 10 B.编译错误缺少拷贝构造函数C.10 随机数D.随机数随机数解析:解析 本题考察拷贝构造函数的知识。如果类中没有实现拷贝构造函数,则编译器会为其自动生成一个。对于本题这种简单对象,默认生成的拷贝
22、构造函数可以完成数据成员的自动赋值,对于复杂对象,则可能需要显式定义拷贝构造函数。2.用数组表示线性表的优点是(分数:2.00)A.便于插入和删除操作B.便于随机存取 C.可以动态地分配存储空间D.不需要占用一片相邻的存储空间解析:解析 对顺序存储的线性表进行插入和删除操作时,需要移动大量的元素,因此不便于进行插入删除操作,A 选项错误;数组的存储空间大小一开始就已经分配好,不能动态分配存储空间,所以 C 选项错误;数组正是占用一片相邻的存储空间,所以 D 选项也错误。3.以下程序的输出结果是 main( ) int a=4,b=5,e=0,d; d=! a coutdend1; (分数:2.
23、00)A.1 B.0C.非 0 的数D.-1解析:解析 本题考查逻辑运算符!逻辑“非”, cout- -“,“+jendl; 执行后输出结果是(分数:2.00)A.9,2B.10,2 C.9,1D.10,1解析:解析 本题还是考察前置和后置自增与自减运算符的使用方法。在 i 输出时,还是 10,输出之后才变成 9,而+j 则是先加一在将新值输出。7.设有基类定义: class Cbase private:int a; protected:int b; public:int c; ; 派生类采用何种继承方式可以使成员变量 b 成为自己的私有成员(分数:2.00)A.私有继承 B.保护继承C.公有
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 323 答案 解析 DOC
