【计算机类职业资格】计算机二级(C++)30及答案解析.doc
《【计算机类职业资格】计算机二级(C++)30及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】计算机二级(C++)30及答案解析.doc(14页珍藏版)》请在麦多课文档分享上搜索。
1、计算机二级(C+)30 及答案解析(总分:1765.00,做题时间:90 分钟)一、选择题(每小题 2分,共 70分) 下列各(总题数:25,分数:1750.00)1.有如下程序 #includeiostreamh void main( ) float x=20,y; if(x00)y=00; else if(x100)y=10/x; else y=10; cout y; 该程序的输出结果是( )。 (分数:70.00)A.8KB.16KC.32KD.64K2.下面程序的结果是( )。 #includeiostreamh class A int a; public: A( ):a(1) voi
2、d showa( ) cout a; ; class B int a; public: B( ):a(2) void showa( ) cout a; ; class C:public A,public B int a; public: C( ):a(3) void showa( ) cout a; ; void main( ) C c; cshowa( ); (分数:70.00)A.将 private int m改为 protected int mB.将 private int m改为 public int mC.将 private int m改为 static iD.将 private i
3、nt m改为 int m3.下面关于虚函数的描述,错误的是( )。 (分数:70.00)A.关系模型B.层次模型C.网状模型D.以上皆非4.对于重载的运算符 ,它是一个( )。(分数:70.00)A.RELEASE MEMORYB.RELEASE ALL LIKEA*C.RELEASE MEMORY LIKE A*D.CLEAR MEMORY LIKE A*5.语句 ofstream f(“SALARYDAT“,ios:appios:binary);的功能是建立流对象 f,试图打开文件 SALARYDAT 并与之连接,并且( )。 (分数:70.00)A.关系模型B.层次模型C.网状模型D.以
4、上皆非6.下面程序的结果是( )。 #include“ iostreamh“ void main( ) char * str; Str=“test!“; cout str5; (分数:70.00)A.程序错误B.!C./0D.为空字符7.下面程序输出的结果是( )。 #includeiostreamh void main( ) int i; int a33=1,2,3,4,5,6,7,8,9; for(i=0;i3;i+) coutaii“ “; (分数:70.00)A.15B.16C.510D.6108.以下关于 C+语言类的说法中正确的是( )。(分数:70.00)A.a =10 or a
5、 =0B.a =0 | a =10C.a =10 & a =0D.a =10,a =09.关于静态数据成员的描述中正确的是( )。(分数:70.00)A.类的静态数据成员不是类的所有对象共享的数据B.类的静态数据成员不能被类的成员函数调用C.类的静态数据成员不能被类的构造函数调用D.类的静态数据成员必须进行初始化10.下面关于模板的描述,错误的是( )。 (分数:70.00)A.层次模型B.关系模型C.网状模型D.以上皆非11.以下程序的输出结果是( )。 #includeiostreamh void main( ) inti,j,x=0; for(i=0;i 2;i+) x+; for(j=
6、0;j 3;j+) if (j% 2)continue; x+; x+; cout “x=“ x; (分数:70.00)A.若干个二维表B.一个 DBF文件C.一个 DBC文件D.若干个 DBC文件12.能正确表示逻辑关系:“a10 或 a0”的 C+语言表达式是( )。(分数:70.00)A.a =10 or a =0B.a =0 | a =10C.a =10 & a =0D.a =10,a =013.设有定义 int x;float y;,则 10+x+y值的数据类型是( )。(分数:70.00)A.ControlBox仍起作用B.运行时还可以看到窗口左上角显示的控制框,可以单击该控制框进
7、行窗体的移动和关闭等操作C.窗口边框上的最大化和最小化按钮失效D.窗口边框上的最大化和最小化按钮消失14.下面程序的结果为( )。 #include“ iostreamh“ void change(int a,int b) int temp; temp=a; a=b; b=temp; void main( ) int m,n; m=8; n=9; change(m,n); tout m “ “ n end1; (分数:70.00)A.永久性联系B.临时性联系C.任意的联系D.以上说法均不正确15.以下程序的输出结果是( )。 #includeiostreamh void main( ) int
8、i,j,x=0; for(i=0;i 2;i+) x+; for(j=0;j 3;j+) if (j% 2)continue; x+; x+; cout “x=“ x; (分数:70.00)A.x=4B.x=8C.x=6D.x=1216.下列描述正确的是( )。(分数:70.00)A.表示 m n 为 true或 m n 为 true的表达式为 m n m nB.switch语句结构中必须有 default语句C.if 语句结构中必须有 else语句D.如果至少有一个操作数为 true,则包含“”运算符的表达式为 true17.下面程序段的运行结果是( )。 #includeiostreamh
9、 void main( ) char*s=“abcde“; S+=2; cout&s; (分数:70.00)A.cdeB.字符cC.字符c的地址D.无确定的输出结果18.下面程序输出的结果为( )。 #include“ iostreamh“ class A public: A( ) cout “CLASS A“ end1; A( ) ; class B:public A public: B( ) cout “CLASS B“ end1; B( ) ; void main( ) A * p; p=new B; B * q; q=new B; (分数:70.00)A.DEHNE POPUPB.DE
10、FINE MENUC.DEHNE PADD.DEFINE BAR19.下面程序段的运行结果是( )。 voidmain( ) ihtt,a,b,C; a=1;b=2;C=2; while(abc) t=a;a=b;b=t;c-; couta“,“b“,“C; (分数:70.00)A.8B.9C.7D.620.C+语言对 C语言做了很多改进,C+语言相对于 C语言的最根本的变化是( )。(分数:70.00)A.12 32B.6 29C.2 3D.12 321.以下类定义中可能会引起错误的语句是( )。 class A public: A( ) /1 int i; /2 private: int
11、j; /3 A(int i) i+; /4 ; (分数:70.00)A.1B.2C.3D.422.下面关于类和对象的描述中,错误的是( )。(分数:70.00)A.类就是 C语言中的结构体类型,对象就是 C语言中的结构体变量B.类和对象之间的关系是抽象和具体的关系C.对象是类的实例,一个对象必须属于一个已知的类D.类是具有共同行为的若干对象的统一描述体23.下面程序输出的结果为( )。 #include“ iostreamh“ class A public: A( ) cout “CLASS A“ end1; A( ) ; class B:public A public: B( ) cout
12、“CLASS B“ end1; B( ) ; void main( ) A * p; p=new B; B * q; q=new B; (分数:70.00)A.CLASS A CLASS BB.CLASS A CLASS B CLASS BC.CLASS A CLASS B CLASS A CLASS BD.CLASS A CLASS B CLASS B CLASS B24.虚函数必须是类的( )。(分数:70.00)A.类 B是类 A的友元B.类 C是类 A的友元C.类 A是类 C的友元D.以上都不对25.下面程序的运行结果为( )。 #includeiostreamh claSS A st
13、atic int n; public: A( )n=1; A(int num)n=num; void print( )coutn|mn;选项 B)中 default语句可有可无;选项 C)中 if可以单独作为一条语句,不必须和 else 搭配。17.下面程序段的运行结果是( )。 #includeiostreamh void main( ) char*s=“abcde“; S+=2; cout&s; (分数:70.00)A.cdeB.字符cC.字符c的地址 D.无确定的输出结果解析:对于字符串指针,其保留的是整个串的首地址,即为第一个字符的起始地址,当该指针做算术运算时,就是该指针根据其类型向
14、后移动相应的存储空间。18.下面程序输出的结果为( )。 #include“ iostreamh“ class A public: A( ) cout “CLASS A“ end1; A( ) ; class B:public A public: B( ) cout “CLASS B“ end1; B( ) ; void main( ) A * p; p=new B; B * q; q=new B; (分数:70.00)A.DEHNE POPUPB.DEFINE MENU C.DEHNE PADD.DEFINE BAR解析:SQL 的数据定义功能中,可以对视图进行定义,语句格式为: CREAT
15、E VIEW view_name(column_name,column_name)AS select_statement。 19.下面程序段的运行结果是( )。 voidmain( ) ihtt,a,b,C; a=1;b=2;C=2; while(abc) t=a;a=b;b=t;c-; couta“,“b“,“C; (分数:70.00)A.8 B.9C.7D.6解析:本题考查的是 DOLoopUntil,结构的循环语句,不管满不满足条件,都要先执行一次。经分析当I7(或 8或 9)都满足执行三次的条件,但题目要求最小的,所以应该是 7。20.C+语言对 C语言做了很多改进,C+语言相对于 C
16、语言的最根本的变化是( )。(分数:70.00)A.12 32B.6 29 C.2 3D.12 3解析:此题是函数过程的调用。 在调用过程时,一般主调与被调过程之间有数据传递,即将主调过程的实参传递给被调用的过程,完成实参与形参的结合,然后执行被调过程,在 Visual Basic中,实参与形参的结合有两种方式:即传址与传值。这两种方法的特点如下: 传址的结合过程是,当调用一个过程时,它将实参的地址传给形参,因此在被调用的过程中,对形参的任何操作都变成了对相应实参的操作,因此实参的值会随形参的改变而改变。 传值的结合过程时:当调用一个过程时,系统将实参的值赋值给形参并断开了联系,被调用过程中的
17、操作时在形参自己的存储单元中进行的,当过程调用结束时,这些形参所占用的存储单元也同时被释放,因此在过程中对形参的任何操作不会影响实参。而题中被调过程 Proc中有两个形参,其中第一个形参 n为传址方式,第二个形参 m为传值方式。主调过程分别把实参 x、y 传递给 Proc,所以当过程调用结束后,实参 x的值应随着被调过程变化而变化,而实参 y值在主调函数中始终不变,所以输出 y的值仍为 32;在被调过程中“n=n Mod l0”被调用时,相当于“x=x Mod l0”,所有 x的值最终为 2,最后输出结果如选项 B)所示。 21.以下类定义中可能会引起错误的语句是( )。 class A pu
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C30 答案 解析 DOC
