【计算机类职业资格】二级C++笔试56及答案解析.doc
《【计算机类职业资格】二级C++笔试56及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试56及答案解析.doc(13页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试 56 及答案解析(总分:84.00,做题时间:90 分钟)一、B选择题/B(总题数:30,分数:60.00)1.一个类的友元函数或友元类可以通过成员操作符访问该类的( )。(分数:2.00)A.私有成员B.保护成员C.公有成员D.所有成员2.下面的程序段中,有( )处错误和警告。 #includestdioh int main() int x; cinx coutx; (分数:2.00)A.1B.2C.3D.43.有以下程序: #include iostream using namespace std; int f1(int x, int y) return xy ? x:y;
2、 int f2(int x, int y) return xy? y:x; int main ( ) int a = 4,b = 3,c = 5,d,e,f; d = f1(a,b) ; d = f1(d,c) ; e = f2 (a,b) ; e = f2(e,c) ; f = a+b+c-d-e; coutd“, “e“, “fend1; return 0; 执行后的输出结果是 ( )。(分数:2.00)A.3,4,5B.5,3,4C.5,4,3D.3,5,44.若有以下程序 #include iostream using namespace std; class A public: A(
3、int i,int j) a=i; b=j; void move(int x, int y) a+=x; b+=y; void show() cout a “ , “ b end1; private: int a,b; ; class B : private A public: B(int i,int j) :A(i,j) void fun ( ) move (3, 5); void f1 ( ) A:show(); ; int main ( ) B d(3,4); d. fun ( ); d.f1(); return 0; 程序执行后的输出结果是 ( )。(分数:2.00)A.3,4B.6,
4、8C.6,9D.4,35.下面内容不属于使用软件危机的是( )。(分数:2.00)A.软件质量难以保证B.软件的成本不断提高C.软件需求增长缓慢D.软件不可维护或维护程度非常低6.下列关于链式存储的叙述中,正确的是( )。(分数:2.00)A.链式存储结构的空间不可以是不连续的B.数据节点的存储顺序与数据元素之间的逻辑关系必须一致C.链式存储方式只可用于线性结构D.链式存储也可用于非线性结构7.对下列程序的描述中,正确的是( )。 #includeiostream using namespace std; int Fun(int,int); int main() coutFun(5,50)en
5、d1; return 0; int Fun(int x,int y) return x*x+y*y; (分数:2.00)A.该函数定义正确,但函数调用方式错误B.该函数调用方式正确,但函数定义错误C.该函数的定义和调用方式都是正确的D.该函数的定义和调用方式都是错误的8.下列各项特点中,属于线性表的顺序存储结构的是( )。(分数:2.00)A.线性表中所有元素所占的存储空间是不连续的B.线性表的数据元素在存储空间中是随便存放的C.线性表中所有元素所占的存储空间是连续的D.前后件两个元素在存储空间是随便存放的9.关于类型转换的说法中,错误的是( )。(分数:2.00)A.如果 a 为血型变量,b
6、 为 char 型变量,则 a+b 的值为血型B.如果 a 为 float 型变量,b 为 int 型变量,则 a-b 的值为 float 型C.如果 a 为 double 型变量,b 为 float 型变量,则 a*b 的值为 double 型D.如果 a 为血型变量,b 为血型变量,则 a(doublb 的值为 int 型10.下面对静态数据成员的描述中,正确的是( )。(分数:2.00)A.静态数据成员可以在类体内进行初始化B.静态数据成员不可以通过类的对象调用C.静态数据成员不能受 private(私有)控制符的作用D.静态数据成员可以直接通过类名调用11.下列各项中不属于算法基本特征
7、的是( )。(分数:2.00)A.可行性B.递归性C.确定性D.有穷性12.数据字典(DD) 是定义以下哪种系统描述工具中的数据的工具( )。(分数:2.00)A.数据流程图B.系统流程图C.程序流程图D.软件结构图13.对于输入输出,在设计和编程时都应该考虑的原则是( )。(分数:2.00)A.对部分输入数据检验数据的合法性B.不允许默认值C.输入一批数据时,最好使用输入结束标志D.输入数据时,不允许使用自由格式14.有如下程序: #include iostream using namespace std; int getSum(int num); int main () int i; fo
8、r (i=1; i4; i+) coutgetSum(i); return 0; int getSum(int hum) static int sum=O; sum+=num; return sum; 上述程序执行后的输出结果是( )。(分数:2.00)A.136B.248C.123D.13515.以下各项说法中,正确的是( )。(分数:2.00)A.当通过引用传递参数时,函数创建一个变量以存储参数的值B.当通过引用传递参数时,函数无法访问参数的值C.当通过引用传递参数时,调用程序创建一个临时变量以容纳参数的值D.当通过引用传递参数时,函数访问调用程序中参数的原始值16.有以下程序: #inc
9、lude iostream using namespace std; int main ( ) char s110,s210; char *p=s1,*q=s2; cins1s2; while (*p ! = /0 ) p+; while (*q!=/0) *p+=*q+; *p=/0; couts1end1; return 0; (分数:2.00)A.abcd0ghijB.abcd0ghij0C.abcdD.abcdghij17.以下程序执行结果是 ( )。 #include iostream.h class Base public virtual void fun() cout“B“; ;
10、 class Derived public: Derived() cout“D“; virtual void fun() Base:fun(); cout“C“; int main () Base *ptr; Derived obj; ptr= p-fun ( ); return 0; (分数:2.00)A.DBCB.DCBC.BDCD.CBD18.下列描述中,( )是抽象类的特性。(分数:2.00)A.可以说明虚函数B.可以进行构造函数重载C.可以定义友元函数D.不能说明其对象19.对待排序文件的初始状态不作任何要求的排序方法有( )。(分数:2.00)A.直接插入和快速排序B.直接插入和归
11、并排序C.归并和快速排序D.归并和直接选择排序20.一个关系数据库文件中的各条记录( )。(分数:2.00)A.前后顺序不能任意颠倒,一定要按照输入的顺序排列B.前后顺序可以任意颠倒,不影响库中数据的数据关系C.前后顺序可以任意颠倒,但排列顷序不同,统计处理的结果就可能不同D.前后顺序不能任意颠倒,一定要按照关键词段值的顺序排列21.有如下程序: #include iostream using namespace std; class sample private: int x, y; public: sample(int i,int j) x=i; y=j; void disp() cout
12、“displ“end1; void disp() const cout“disp2“end1; ; int main () const sample a(i,2); a.disp (); return 0; 该程序运行后的输出结果是( )。(分数:2.00)A.disp1B.disp2C.disp1 disp2D.程序编译时出错22.下列关于栈的叙述中,不正确的是( )。(分数:2.00)A.在栈中能插入数据B.在栈中能删除数据C.栈是先进先出的线性表D.栈是先进后出的线性表23.若有定义“int k,*q;”,则下列各选项中,赋值表达式正确的是( )。(分数:2.00)A.q=( ; cla
13、ss Base2 public: void fun() cout“Base2“end1; class Derived : public Basel,public Base2 ; void main() Derived Obj; Obj.fun(); (分数:2.00)A.BaselB.Base2C.BaselBase2D.程序产生二义性26.执行语句序列 ofstream outfile(“data.dat“); if(.) cout“ok“;else cout“fail“; 后,如果文件打开成功,显示“ok”,否则显示“fail”。由此可知,上面 if 语句“.”处的表达是 ( )。(分数:
14、2.00)A.outfilfail() 或 outfileB.outfilgood()或!outfileC.outfilgood()或 outfileD.outfilfail()或!outfile27.若有以下程序: void g(int *q) (*q) +; (*q) +; void main() int line 5; int *p=line; for (i=0; i5; i+) *p=i; g( for (i=0; i5; i+) coutlinei; coutend1; 该程序运行后的输出结果为( )。(分数:2.00)A.12345B.01234C.11111D.5555528.下
15、列对派生类的描述中,错误的是( )。(分数:2.00)A.一个派生类可以作为另一个派生类的基类B.派生类至少有一个基类C.派生类的默认继承方式是私有派生D.派生类只继承了基类的公有成员和保护成员29.有以下程序: #include iostream using namespace std; class A private: int x,y; public: void set (int i,int j) x=i; y=j; int get_y() return y; ; class box private: int length,width; A label; public: void set(
16、int 1,int w, int s,int p) length=1; width=w; label.set(s,p); int get_area() return length*width; ; int main() box small; small.set(2,4,1,35); coutsmall.get_area()end1; return 0; 运行后的输出结果是( )。(分数:2.00)A.8B.4C.35D.7030.下列叙述中,正确的是( )。(分数:2.00)A.while 语句构成的循环不能用其他语句构成的循环来代替B.do-while 语句构成的循环只能用 break 语句
17、退出C.用 while 语句构成的循环,只有在 while 后的表达式为非 0 时才执行循环D.do-while 语句构成的循环,只有在 while 后的表达式为 0 时才结束循环二、B填空题/B(总题数:12,分数:24.00)31.对于长度为 n 的线性表,若进行顺序查找,则时间复杂度为U 【1】 /U。(分数:2.00)填空项 1:_32.已知某序列为49,38,65,97,76,13,27,试采用该序列的第一个元素为枢轴进行快速排序,则经过一趟快速排序之后所得到的序列为:U 【2】 /U。(分数:2.00)填空项 1:_33.软件生命周期一般可分为以下阶段:问题定义、可行性研究、U 【
18、3】 /U、设计、编码、U【4】 /U、运行与维护。(分数:2.00)填空项 1:_34.在选择运算所得到的结果关系中,所含的元组数不合U 【5】 /U原关系中的元组数。(分数:2.00)填空项 1:_35.当输入 10,11,12 时,下面程序运行结果是U 【6】 /U。 #include iostream using namespace std; int main() int a,b,c,max; cinabc; max=a; if (maxB) max=b; if (maxC) max=c; coutmaxend1; return 0; (分数:2.00)填空项 1:_36.下面程序的功
19、能是:将字符数组 a 中下标值为偶数的元素从小到大排列,其他元素不变。请填空完成此程序。 #include iostream #include string using namespace std; int main ( ) char a=“changuage“,t,m; int i,j,k; k=strlen(A) ; for (i=0; i=k-2; i+=2) m=i; for (j=i+2; j=k;U 【7】 /U) if (am a j m=j; if(U 【8】 /U) t=ai; ai=am; a m =t; coutaend1; return 0; (分数:2.00)填空项
20、1:_37.阅读下面程序: #include iostream using namespace std; int fun( int a, int b) int c; c = a * b; return c; int main ( ) int a = 3, b = 5, c = 4, x = O; x = fun( fun( a, b ), c ); coutxend1; return 0; 其运行结果是U 【9】 /U。(分数:2.00)填空项 1:_38.在 C+语言中,每个类都有一个隐含的指针叫U 【10】 /U指针。该指针指向U 【11】 /U。(分数:2.00)填空项 1:_39.经常
21、和一个运算符连用,构成一个运算符函数名的 C+关键词是U 【12】 /U。(分数:2.00)填空项 1:_40.若有以下程序: #include iostream using namespace std; template class T T min(T x,T y) if(xy) return x; else return y; int main() int n1=2,n2=10; double d1=1.5;d2=5.6; coutmin(n1,n2)“,“; coutmin(d2,d2)end1; return 0; 程序运行后的输出结果是U 【13】 /U。(分数:2.00)填空项 1
22、:_41.以下程序运行后的输出结果是U 【14】 /U。 #include iostream #include string using namespace std; class Y; class X int x; char *strx; public: X(int a,char *str) x=a; strx=new charstrlen(str)+1; strcpy(strx,str); void show(Y ; class Y private: int y; char *stry; public: Y(int b,char *str) y=b; stry=new charstrlen(
23、str)+1; strcpy(stry, str); friend void X:show(Y ; void X:show(Y coutob.stryend1; int main() X a(10,“stringX“); Y b(20,“stringY“); a. show (b) ; return O; (分数:2.00)填空项 1:_42.有如下的程序: #include iostream #include fstream using namespace std; int main() ofstream outf(“D:/temp.txt“,ios_base:trunc) ; outf“W
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 56 答案 解析 DOC
