【计算机类职业资格】二级C++笔试375及答案解析.doc
《【计算机类职业资格】二级C++笔试375及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试375及答案解析.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试 375 及答案解析(总分:98.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.按照标识符的要求,下列选项中,( )符号不能组成标识符。(分数:2.00)A.连接符B.下划线C.大小写字母D.数字字符2.下列数组的定义中,会产生错误的是(分数:2.00)A.int a=(0,1,2,3,4,5,6);B.int a10=0,1,2,3,4,5,6;C.char a5=“hello“;D.char a5=h,e,1,1,o;3.一个函数为 void f(int,charch=a),另一个函数为 void f(int),则它们(分数:2.00)A.
2、不能在同一程序中定义B.可以在同一程序中定义并可重载C.可以在同一程序中定义,但不可以重载D.以上说法均不正确4.实现运行时的多态性要使用(分数:2.00)A.重载函数B.析构函数C.构造函数D.虚函数5.在长度为 n 的有序线性表中进行二分查找,需要的比较次数为(分数:2.00)A.log2nB.nlog2nC.n/2D.(n+1)/26.数据库设计包括两个方面的设计内容,它们是(分数:2.00)A.概念设计和逻辑设计B.模式设计和内模式设计C.内模式设计和物理设计D.结构特性设计和行为特性设计7.结构化程序设计的主要特点是(分数:2.00)A.每个控制结构要模块化B.每个控制结构具有封装性
3、C.每个控制结构具有独立性D.每个控制结构只有一个入口和一个出口8.下面关于对象概念的描述中,错误的是(分数:2.00)A.C+中的对象就是 C 语言中的结构变量B.对象代表着正在创建的系统中的一个实体C.对象是一个状态和操作(或方法)的封装体D.对象之间的信息传递是通过消息进行的9.若有定义:int k,*q;,则下列各选项中赋值表达式正确的是(分数:2.00)A.q=(public: int z; void setx(int i) x=i; int getx () return x; :class B : public Aprivate: int m;public: int p; void
4、 setvalue(int a, int b, int c) setx(a) ; z=b; m=c; void display) coutgetx ()“, “z“, “mend1; ;int main() B obj; obj. setvalue(2,3,4);obj.display(); return 0; 程序运行以后的输出结果是(分数:2.00)A.产生语法错误B.2,3,4C.2,2,2D.4,3,212.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是(分数:2.00)A.控制流B.加工C.数据存储D.源和潭13.
5、对建立良好的程序设计风格,下面描述正确的是(分数:2.00)A.程序应简单、清晰、可读性好B.符号名的命名只要符合语法C.充分考虑程序的执行效率D.程序的注释可有可无14.下列叙述中正确的是(分数:2.00)A.实体集之间一对一的联系实际上就是一一对应的关系B.关系模型只能处理实体集之间一对一的联系C.关系模型属于格式化模型D.以上三种说法都不对15.下面不属于软件工程 3 个要素的是(分数:2.00)A.工具B.过程C.方法D.环境16.有如下函数模板定义: templatetypename T1,int a2,int a3 T1 sum(T1 a1) return(a1+a2+a3); 则
6、以下调用中正确的是(分数:2.00)A.sumint,4,3(5);B.sum4,3(5);C.sumint,int,int(5);D.sum(5);17.已知枚举类型定义语句为: enum Token NAME,NUMBER,PLUS=5,MINUS,PRINT=10; 则下列说法中错误的是(分数:2.00)A.枚举常量 NAME 的值为 1B.枚举常量 NUMBER 的值为 1C.枚举常量 MINUS 的值为 6D.枚举常量 PRINT 的值为 1018.下面的描述中表达错误的是(分数:2.00)A.公有继承时基类中的 public 成员在派生类中仍是 public 的B.公有继承时基类中
7、的 private 成员在派生类中仍是 private 的C.公有继承时基类中的 protected 成员在派生类中仍是 protected 的D.私有继承时基类中的 public 成员在派生类中是 private 的19.以下程序段的输出结果是 int x=5; do coutx-end1; while(!x);(分数:2.00)A.5B.无任何输出C.4D.陷入死循环20.有如下程序: #includeiostream using namespace std; int main() cout. fill(*); cout. width(5); coutscientific314.15 92
8、6535end1; return 0; 程序运行后,输出的结果是(分数:2.00)A.3.141593e+002B.3.1416e+002C.*3.14e+002D.314.1621.下列关于关系运算的叙述中正确的是(分数:2.00)A.投影、选择、连接是从二维表的行的方向来进行运算B.并、交、差是从二维表的列的方向来进行运算C.投影、选择、连接是从二维表的列的方向来进行运算D.以上三种说法都不对22.( )是以一种完全通用的方法来设计函数或类而不必预先说明将被使用的每个对象的类型。(分数:2.00)A.模板B.类C.对象D.函数23.有以下程序:#include iostreamusing
9、namespace std;class sampleprivate: int x; static int y;public: sample(int a) ; static void print(sample s);sample: sample(int a) x=a; y+=x;void sample:print(sample s) cout “x=“s. x“, y=“ yend1;int sampte:y=0;int main() sample s1(10); sample s2(20); sample:print(s2); return 0;程序运行后的输出结果是(分数:2.00)A.x=
10、10,y=20B.x=20,y=30C.x=30,y=20D.x=30,y=3024.设有下列二叉树: (分数:2.00)A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA25.在进行任何 C+流的操作后,都可以用 C+流的有关成员函数检测流的状态;其中只能用于检测输入流状态的操作函数名称是(分数:2.00)A.failB.eofC.badD.good26.有如下程序: #include iostream using namespace std; class sample private: int x,y; public: sample(int i,int j) x=i; y=j
11、; void disp () cout“disp1“end1; void disp() const cout“disp2“end1; ;int main () const sample a(1,2); a.disp(); return 0; 该程序运行后的输出结果是(分数:2.00)A.disp1B.disp2C.disp1 disp2D.程序编译时出错27.若有以下程序:# include iostreamusing namespace std;void sub(int x, int y, int *z) *z = y+x;int main () int a,b, c; sub8,4. su
12、b (6, a, sub (a.b, couta“ , “b“, “cend1; return 0; 程序运行后的输出结果是(分数:2.00)A.12,18,30B.-12,6,8C.6,8,10D.12,-18,1628.若有以下程序: #include iostream using namespace std; class A private: int a; public: void seta(int x) a=x; void showa() couta“,“; ; class B private: int b; public: void setb (int x) b=x; void sh
13、owb() coutb“,“; ;class C :public A,private B private: int c; public: void setc(int x, inc y, int z) c=z; seta (x); setb (y); void showc() showa (); showb (); coutcend1; ; int main () C c; c. setc(1,2,3); c.showc(); return 0; 程序执行后的输出结果是(分数:2.00)A.1,2,3B.1,1,1C.2,2,2D.3,3,329.执行语句序列 ofstream outfite(
14、“data.dat“); if(.)cout“ok“;else cout“fail“; 后,如果文件打开成功,显示“ok”,否则显示“fail”。由此可知,上面 if 语句的“”处的表达式是(分数:2.00)A.outfilfail()或 outfileB.outfilgood()或!outfileC.outfilgood()或 outfileD.outfilfail()或!outfile30.为完成下面的程序,应在划线处填入的语句是 #includeiostream using namespace std; class Base private: int x; public: Base(in
15、t i) x=i; Base() ; class Derived:public Base public: _ /完成类 Derive 构造函数的定义 ; int main() Derived obj; return 0; (分数:2.00)A.Derived(int :Base(B.Derived()C.Void Derived (int :Base(D.Denved(int Base(;31.以下运算符中不能重载的运算符是(分数:2.00)A.newB.sizeofC*D.+32.在下面的类定义中,错误的语句是 class Sample public: Sample(int val); /
16、Sample():/ private: int a=2.5; / Sample(); / ;(分数:2.00)A.B.C.D.33.有以下程序:#include iostreamusing namespace std;class sampleprivate: 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=“nend1; ;int main ( sample s1(10),s2(5),s3
17、; s3.add(s1,s2); s3.disp(); return 0;程序运行后,输出的结果是(分数:2.00)A.n=10B.n=5C.n=20D.n=1534.假定 MyClass 为一个类,那么下列的函数说明中,( )为该类的析构函数。(分数:2.00)A.voidMyClass();B.MyClass(int ;C.MyClass();D.MyClass();35.运算符函数调用格式的表达式:y/x+与表达式:y. operator/(operator+(x,0)含义相同,由此可看出()。(分数:2.00)A.“/”和“+”都是作为成员函数重载的B.“/”和“+”都是作为非成员函数
18、重载的C.“/”是作为成员函数重载的,“+”是作为非成员函数重载的D.“/”是作为非成员函数重载的,“+”都是作为成员函数重载的二、B填空题/B(总题数:14,分数:28.00)36.设一棵二叉树中有 3 个叶子结点,有 8 个度为 1 的结点,则该二叉树牛总的结点数为U 【1】 /U。(分数:2.00)填空项 1:_37.类是一个支持集成的抽象数据类型,而对象是类的U 【2】 /U。(分数:2.00)填空项 1:_38.结构化设计主要分为系统设计和模块设计,U 【3】 /U的任务是决定系统的模块结构。(分数:2.00)填空项 1:_39.一般来说,数据库的设计过程要经历 3 个大的阶段,即可
19、行性分析与研究阶段、系统设计阶段、设计实施与系统运行阶段。概念设计、逻辑结构设计、物理结构设计属于数据库设计的U 【4】 /U阶段。(分数:2.00)填空项 1:_40.数据流图有两种典型的结构形式,它们分别是变换型和U 【5】 /U。(分数:2.00)填空项 1:_41.设有定义语句:double x=2.5, y=4.7;int a=7;那么表达式 x+a%3*(int)(x+ y)%2/4 的值为U 【6】 /U。(分数:2.00)填空项 1:_42.函数 swap(arr,n)可完成对 arr 数组从第 1 个元素到第 n 个元素两两交换。在运行调用函数中的语句后,a0和 a1的值分别
20、为U 【7】 /U。 a0=1;a1=2;swap(a,2);(分数:2.00)填空项 1:_43.下列程序的输出结果是U 【8】 /U #includeiostream using namespace std; int main() int num=500; int Base() ; class Derived : public Base public: U 【10】 /U/完成类 Derive 构造函数的定义 ; int main () Derived Obj; return 0; (分数:2.00)填空项 1:_46.下面是“二维向量”vector2D 的定义,其中作为成员函数重载的运算
21、符“+”的功能是将两向量的分量 x 和 y 对应相加,然后返回作为相加结果的新对象;请填空补充完整。 class vector2D double x; /x 分量 double y; /y 分量 public: vector2D(double x0=0, double y0=0):x(x0),y(y0) void show(cout (,y) ; vector2D operator + (vector2D); ; U 【11】 /Uoperator + (vector2D a) return vector2D(U 【12】 /U); (分数:2.00)填空项 1:_47.已知:double A
22、(double A) return+a;和 int A(in A) return+a;是一个函数模板的两个实例,则该函数模板定义为U 【13】 /U(分数:2.00)填空项 1:_48.有以下程序: #includeiostream.h class A int x; public: A(int a) x=a; friend class B; class B public: void print(A a) a. x-; couta.xend1; ; void main() A a(10); B b; b.print(a) ; 程序执行后的输出结果是U 【14】 /U。(分数:2.00)填空项 1
23、:_49.下面程序的输出结果是U 【15】 /U。 #include iostream using namespace std; class base protected: int a; public: base()cout“0“: ; class basel: virtual public base public: base1() cout“1“; ; class base2 : virtual public base public: base2()cout“2“; ; class derived : public base1,public base2 public: derived ()
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 375 答案 解析 DOC
