【计算机类职业资格】二级C++笔试-338及答案解析.doc
《【计算机类职业资格】二级C++笔试-338及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-338及答案解析.doc(26页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-338 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.有如下类定义: class XX int xdata: public: xx(int n=0):xdata(n) class YY:public XX int ydata; public: YY(int m=0,int n=0):xx(m),ydata(n) ; YY 类的对象包含的数据成员的个数是(分数:2.00)A.1B.2C.3D.42.软件详细设计产生的图如下,该图是 (分数:2.00)A.N-S 图B.PAD 图C.程序流程图D.E-R 图3.有以下类定义:
2、class A char*a; public: A( ):a(0) A(char*a(分数:2.00)A./把 aa 所指字符串复制到 a 所指的存储空间 a=_; strcpy(a,aA) ; A( )delete a; ; 画线处应填写的表达式是 A) new charstrlen(aA)+1B.charstC.charD.ne4.有如下程序: #includeiostream using namespaee std; class A public: A(int i):rl(i) void print( )coutErl-; void print( )constcoutCrl*rl-; p
3、rivate: int rl; ; int main( ) A al(2);eonst A a2(4); a1print( );a2print( ); return 0; 程序的输出结果是(分数:2.00)A.运行时出错B.E2-C16-C.C4-C16-D.E2-E4-5.下列关于运算符函数的叙述中,错误的是(分数:2.00)A.运算符函数的名称总是以 operator 为前缀B.运算符函数的参数可以是对象C.运算符函数只能定义为类的成员函数D.在表达式中使用重载的运算符相当于调用运算符重载函数6.在下列枚举类型的定义中,包含枚举值 3 的是(分数:2.00)A.entire test(RE
4、D,YELLOW,BLUE,BLACK);B.enum test(RED,YELLOW=4,BLUE,BLACK);C.enum test(RED=-1,YELLOW,BLUE,BLACK);D.enum test(RED,YELLOW=6,BLUE,BLACK);7.下列关于模板形参的描述中,错误的是(分数:2.00)A.模板形参表必须在关键字 template 之后B.模板形参表必须用小括号()括起来C.可以用 class 修饰模板形参D.可以用 typename 修饰模板形参8.数据库管理系统是(分数:2.00)A.操作系统的一部分B.在操作系统支持下的系统软件C.一种编译系统D.一种操
5、作系统9.有如下模板声明: templatetypename T1,typename T2class A; 下列声明中,与上述声明不等价的是(分数:2.00)A.templateclass T1,class T2class A;B.templateclass T1,typename T2class A;C.templatetypename T1,class T2class A;D.templatetypename T1,T2class A;10.对于循环队列,下列叙述中正确的是(分数:2.00)A.队头指针是固定不变的B.队头指针一定大于队尾指针C.队头指针一定小于队尾指针D.队头指针可以大于
6、队尾指针,也可以小于队尾指针11.将运算符重载为类成员函数时,其参数表中没有参数,说明该运算符是(分数:2.00)A.不合法的运算符B.一元运算符C.无操作数的运算符D.二元运算符12.算法的空间复杂度是指(分数:2.00)A.算法在执行过程中所需要的计算机存储空间B.算法所处理的数据量C.算法程序中的语句或命令条数D.算法在执行过程中所需要的临时工作单元数13.有如下程序: #includeiostream #includeiomanip using namespace std; int main( ) int S =123,234; coutrightsetfill(*)setw(6);
7、for(int i=0;i2;i+)COUtsiendl; return 0; 程序的输出结果是(分数:2.00)A.123234B.*123234C.*123*234D.*123 234*14.有如下程序: #includeiostream using namespace std; class Publication/出版物类 char name30; public: Publication(char*name=“未知名称“)strcpy(this-name,name); const char*getName( )constreturn name; /常数据成员 virtual const
8、char*getType( )constreturn“未知类型“;/虚常数据成员 ; class Book:public Publication /书类 public: Book(char*name):Publication(name) virtual const char*getType( )constreturn“书“; /虚常数据成员 ; void showPublication(Publication while(1) i+; if(i=10)break; if(i%2=0)eout$; 执行这个程序段输出字符*的个数为(分数:2.00)A.10B.3C.4D.528.有如下程序: #
9、includeiostream using namespace std; class Toy public: Toy(char*_n)strcpy(name,_n);count+; Toy()count-; char*GetName( )return name; static int getCount( )return count; private: char name10; static int count; ; int Toy:count=0: int main( ) Toy tl(“Snoopy“),t2(“Mickey“),t3(“Barbie“); coutt1getCount( )
10、endl; return 0; 程序的输出结果是(分数:2.00)A.1B.2C.3D.运行时出错29.在下列枚举符号中,用来表示“相对于当前位置”文件定位方式的是(分数:2.00)A.ios_base:CHrB.ios_base:begC.ios_base:outD.ios_base:end30.有如下程序: #includeiostream using namespace std; class Name char name20; public: Name( )strepy(name,“ “);tout?; Name(char*fname)strcpy(name,fname);cout?;
11、; int main( ) Name name3=Name(“张三“),Name(“李四“); return 0; 运行此程序输出符号“?”的个数是(分数:2.00)A.0B.1C.2D.331.有 3 个关系 R、S 和 T 如下: (分数:2.00)A.选择B.投影C.交D.并32.下列数据结构中,属于非线性结构的是(分数:2.00)A.循环队列B.代链队列C.二叉树D.带链栈33.下列数据结构中,能够按照“先进后出”原则存取数据的是(分数:2.00)A.循环队列B.栈C.队列D.二叉树34.下列关于 C+流的叙述中,错误的是(分数:2.00)A.coutA表达式可以输出字符 AB.eof
12、( )函数可以检测是否到达文件尾C.对磁盘文件进行流操作时,必须包含头文件 fstreamD.以 ios_base:out 模式打开的文件不存在时,将自动建立一个新文件35.有如下程序: #includeiostreanl using namespaee std; class AA public: AA( )cout1; ; class BB:public AA int k; public: BB( ):k(0)eout2; BB(int n):k(n)cout3; ; int main( ) BB,b(4),c; return 0; 程序的输出结果是(分数:2.00)A.1312B.132C
13、.32D.1412二、填空题(总题数:15,分数:30.00)36.某二叉树有 5 个度为 2 的结点以及 3 个度为 1 的结点,则该二叉树中共有 1 个结点。(分数:2.00)填空项 1:_37.程序流程图中的菱形框表示 1。(分数:2.00)填空项 1:_38.软件开发过程主要分为需求分析、设计、编码与测试 4 个阶段,其中 1 阶段产生“软件需求规格说明书”。(分数:2.00)填空项 1:_39.在数据库技术中,实体集之问的联系可以是一对一或一对多或多对多的,那么“学生”和“可选课程”的联系为 1。(分数:2.00)填空项 1:_40.人员基本信息一般包括身份证号、姓名、性别、年龄等。
14、其中可以作为主关键字的是 1。(分数:2.00)填空项 1:_41.若表达式(x+(y-z)+(m/n)+3 中的变量均为 double 型,则表达式值的类型为 1。(分数:2.00)填空项 1:_42.有如下循环语句: for(inti=50;i20;i-=2)couti“,“; 程序运行时循环体的执行次数是_。(分数:2.00)填空项 1:_43.利用表达式 ai可以访问 int 型数组 a 中下标为 i 的元素。在执行了语句 int*p=a;后,利用指针 p也可访问该元素,相应的表达式是 1。(分数:2.00)填空项 1:_44.下面是一个递归函数,其功能是使数组中的元素反序排列,请将函
15、数补充完整。 void reverse(int * a,int size) if(size2)return; int k=a0; a0=asize-1; asize-1=k;reverse(a+l,_); (分数:2.00)填空项 1:_45.类 Sampie 的构造函数将形参 data 赋值给数据成员 data。请将类定义补充完整。 class Sample public: Sample(int data=0); priVate: int data: ; Sample:Sample(int datA) _ (分数:2.00)填空项 1:_46.有如下类定义: class Sample pub
16、lic: Sample( ); Sample( ); private: Static int date: ; 将静态数据成员 data 初始化为 0 的语句是_。(分数:2.00)填空项 1:_47.“图形”类 Shape-中定义了纯虚函数 calArea( ),“三角形”类 Triangle 继承了类 Shape,请将Triangle 类中的 calArea 函数补充完整。 class Shape public: virtual int CalArea( )=0; class Triangle:public Shape public: Triangleint S,int h:side(S),
17、height(h) _return side * height/2; private: int side; int height; ;(分数:2.00)填空项 1:_48.有如下程序: #includeiostream using namespace std; class GrandChild public: GrandChild( )strcpy(name,“Unknown“); const char*getName( )constreturn name; virtual char * getAddress( )const=0; private: char name20; ; class G
18、randSon:public GrandChild public: GrandSon(char * name) char * getAddress( )constreturn“Shanghai“; ; int main( ) GrandChild * gs=new GrandSon(“Feifei“); coutgs-getName( )“住在“gs-getAddress( )endl; delete gs; return 0; 程序的输出结果是_。(分数:2.00)填空项 1:_49.如下程序定义了“单词”类 word,类中重载了运算符,用于比较“单词”的大小,返回相应的逻辑值。程序的输出结
19、果为:After Sorting:Happy Welcome,请将程序补充完整。 #includeiostream #includestring using namespace std; class Word public: Word(strings):str(s) string getStr( )return str; _constreturn(strwstr); friend ostream private: int rl; ; int main( ) A al(2);eonst A a2(4); a1print( );a2print( ); return 0; 程序的输出结果是(分数:2
20、.00)A.运行时出错B.E2-C16- C.C4-C16-D.E2-E4-解析:解析 在类中重载函数的情况下,常对象调用类的常成员函数,非常对象调用类的非常成员函数,故答案为 B。5.下列关于运算符函数的叙述中,错误的是(分数:2.00)A.运算符函数的名称总是以 operator 为前缀B.运算符函数的参数可以是对象C.运算符函数只能定义为类的成员函数 D.在表达式中使用重载的运算符相当于调用运算符重载函数解析:解析 运算符函数可以重载为成员函数,也可以重载为非成员函数,如重载为友元函数。6.在下列枚举类型的定义中,包含枚举值 3 的是(分数:2.00)A.entire test(RED,
21、YELLOW,BLUE,BLACK); B.enum test(RED,YELLOW=4,BLUE,BLACK);C.enum test(RED=-1,YELLOW,BLUE,BLACK);D.enum test(RED,YELLOW=6,BLUE,BLACK);解析:解析 枚举变量中的枚举元素系统是按照常量来处理的,如果没有进行元素赋值操作,那么元素将会被系统自动从 0 开始自动递增地进行赋值操作,但是,如果一旦定义了某一个元素,那么系统将对下一个元素进行前一个元素的值加 1 操作。7.下列关于模板形参的描述中,错误的是(分数:2.00)A.模板形参表必须在关键字 template 之后B.
22、模板形参表必须用小括号()括起来 C.可以用 class 修饰模板形参D.可以用 typename 修饰模板形参解析:解析 对函数模板,模板的一般格式为: templatetyname 类型参数函数类型函数名(形参)函数体 对类模板,一般格式为: templateclass 类型参数class 类名,类型参数是用一对括起来。8.数据库管理系统是(分数:2.00)A.操作系统的一部分B.在操作系统支持下的系统软件 C.一种编译系统D.一种操作系统解析:解析 数据库管理系统是指位于用户与操作系统之间的数据管理软件。数据库管理系统是为数据库建立、使用和维护而配置的软件。9.有如下模板声明: temp
23、latetypename T1,typename T2class A; 下列声明中,与上述声明不等价的是(分数:2.00)A.templateclass T1,class T2class A;B.templateclass T1,typename T2class A;C.templatetypename T1,class T2class A;D.templatetypename T1,T2class A; 解析:解析 在模板定义中,一般情况下,class 和 typename 可以互换。在选项 D 中,T2 没有类型参数限制定义,所以和题干给出的定义不同。10.对于循环队列,下列叙述中正确的是
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 338 答案 解析 DOC
