【计算机类职业资格】二级C++笔试-138及答案解析.doc
《【计算机类职业资格】二级C++笔试-138及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-138及答案解析.doc(33页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-138 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:30,分数:70.00)1.有以下程序:#include iostream#include cmathusing namespace std;class Distance;class pointpublic:friend class Distance;Point(int a,int B) x=a;Y=b;void Print()cout“X= “Xend1;cout“Y= “Yend1;private:float X,Y;class Distancepublic:float Dis(Point i
2、nt main()ofstream ofile; char ch;ofile.open(“d:/abc.txt“, W);docinch;ofile.put(ch);while(ch!=#);ofile.close();return 0;程序出错的原因是( )。(分数:2.00)A.成员函数 open 调用形式错误B.输入文件没有关闭C.成员函数 put 调用形式错误D.对象 ofile 定义错误12.在顺序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找关键码值 11,所需的关键码比较次数为( )。(分数:2.00)A.2B.3C.4D.513.若类 A 和类
3、 B 的定义如下;class Aint i,j;public:int geti()return i;clasS B:public Aint k;public:void make()k=i*j;则上述定义中非法的表达式是( )。(分数:2.00)A.k=i*jB.int k;C.return i;D.void make()14.为完成下面的程序,应在划线处填入的语句是( )。#include iostreamusing namespace std;class Baseprivate:int x;public:Base(int i)x=i;Base();class Derived : public
4、 Basepublic:_ /完成类 Derive 构造函数的定义;int main()Derived Obj;return 0;(分数:2.00)A.Derived(inti):Base(i)B.Derived()C.voidDerived(inti):Base(0)D.Derived(inti)Base(i);15.将 ER 图转换到关系模式时,实体与联系都可以表示成( )。(分数:2.00)A.属性B.关系C.键D.域16.以下选项中,( )是合法的用户标识符。(分数:2.00)A.longB._2TestC.3DmaxD.dat17.若以下定义:struct linkint data;
5、struct link *next;a,b,C,*p,*q;且变量 a 和 b 之间已有下图所示的链表结构。(分数:2.00)A.B.C.D.18.线性表的链式存储结构是一种( )的存储结构。(分数:2.00)A.随机存储B.顺序存储C.索引存储D.散列存储19.有以下程序:#include iostreamusing namespace std;int main()int y=18,i=0,j,a8;doai=y%2;i+;y=y/2;while(y=1);for(j=i-1;i=0;j-)coutaj;cout=0);D.int s=3379;while(s+%2+3%2)s+;23.首先
6、访问结点的左子树,然后访问该结点,最后访问结点的右子树,这种遍历称为 ( )。(分数:3.00)A.前序遍历B.后序遍历C.中序遍历D.层次遍历24.有以下程序:#include iostreamusing namespace std;static int days= 31,28,31,30,31,30,31,31,30,31,30,31 ;class dateprivate:int month,day,year;public:date( int m,int d,int y )month = m;day = d;year = y;date()void disp()coutyear“-“mont
7、h“-“dayend1;date operator+( iht day )date dt = * this;day += dt.day;while ( day days dt.month - 1 )day -= days dt.month - 1 ;if ( +dt.month = 13 )dt.month = 1;dt.year+;dt.day = day;return dt;int main()date dl( 6, 20, 2004 ), d2;d2 = dt + 20;d2.disp();return 0;执行后的输出结果是( )。(分数:3.00)A.2004-7-10B.2004-
8、6-20C.2004-7-20D.程序编译时出错25.下面的程序段中,有( )处错误。template class T1,T2T2 func(T1 a,b) return (ab) ?((分数:3.00)_26.有以下程序:#inClUde iostreamusing namespace std;Class Basepublic:Base(int x)a=x;void show()couta;private:int a;class Derived : public Basepublic:Derived(int i) :Base(i+1),b(i)void Show()coutb;private
9、:int b;int main()Base b(5),*pb;Derived d(1);pb=day = d;year = y;date()void disp()coutyear“-“month“-“dayend1;date operator+( iht day )date dt = * this;day += dt.day;while ( day days dt.month - 1 )day -= days dt.month - 1 ;if ( +dt.month = 13 )dt.month = 1;dt.year+;dt.day = day;return dt;int main()dat
10、e dl( 6, 20, 2004 ), d2;d2 = dt + 20;d2.disp();return 0;执行后的输出结果是( )。(分数:3.00)A.2004-7-10 B.2004-6-20C.2004-7-20D.程序编译时出错解析:解析 本题通过将“+”运算符重载为类 date 的成员函数实现简单的对象加法。类 date 中的“+”运算符重载函数中,将传入的实参值 day,加到类 date 的私有成员变量 day 上,并实现变量 month和 year 的相应变化,从而达到日期对象相加的目的。25.下面的程序段中,有( )处错误。template class T1,T2T2 f
11、unc(T1 a,b) return (ab) ?((分数:3.00)_解析:解析 本题考核函数模板的定义。函数模板的一般说明形式如下:template类型形参表返回类型函数名(形参表)/函数体26.有以下程序:#inClUde iostreamusing namespace std;Class Basepublic:Base(int x)a=x;void show()couta;private:int a;class Derived : public Basepublic:Derived(int i) :Base(i+1),b(i)void Show()coutb;private:int b
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 138 答案 解析 DOC
