ImageVerifierCode 换一换
格式:DOC , 页数:14 ,大小:89KB ,
资源ID:1335182      下载积分:5000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1335182.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(【计算机类职业资格】国家计算机二级(C++)81及答案解析.doc)为本站会员(diecharacter305)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

【计算机类职业资格】国家计算机二级(C++)81及答案解析.doc

1、国家计算机二级(C+)81 及答案解析(总分:460.00,做题时间:120 分钟)一、选择题(每小题 2 分,共 70 分) 下列各(总题数:35,分数:70.00)1.下列语句不能够用于打开 C 根目录下文件 testtxt 的语句是( )。(分数:2.00)A.ifstream fin;finopen(“C:/testtxt“);B.ifstream fin(“C:/testtxt“);C.A)和 B)D.ifstream fin;fin(“C:/testtxt“);2.语句 ofstream f(“SALARY.DAT“,iosbase:app);的功能是建立流对象 f,并试图打开文件

2、SALARY.DAT 与 f 关联,而且【 】(分数:2.00)A.若文件存在,将其置为空文件;若文件不存在,打开失败B.若文件存在,将文件指针定位于文件尾;若文件不存在,建立一个新文件C.若文件存在,将文件指针定位于文件首;若文件不存在,打开失败D.若文件存在,打开失败;若文件不存在,建立一个新文件3.有以下程序: void f(int *x,int *y) int t; t=*x;*x=*y;*y=t; main() int a8=1,2,3,4,5,6,7,8,i,*p,*q; p=a;q= while(pA.8,2,3,4,5,6,7,1,B.5,6,7,8,1,2,3,4,C.1,2

3、,3,4,5,6,7,8,D.8,7,6,5,4,3,2,1,4.下面程序的结果为( )。 #includeiostream.h intC; classA private: inta; staticintb; public: A( )a=0;c=0; voidseta( )a+; voidsetb( )b+; voidsetc( )c+; voiddisplay( )couta“b“c; ; intA:b=0; voidmain( ) Aa1,a2; a1.seta( ); a1.setb( );a1.setc( ); a2.seta( ); a2,setb( ); a2.setc( ); a

4、2.display( ); (分数:2.00)A.2 3 4 3 4 5B.1 2 3 3 4 5C.1 2 3 2 4 6D.2 3 4 4 5 65.多态性指的是( )。(分数:2.00)A.以任何方式调用一个虚函数B.以任何方式调用一个纯虚函数C.借助于指向对象的基类指针或引用调用一个虚函数D.借助于指向对象的基类指针或引用调用一个纯虚函数6.下面程序错误的语句是( )。 # include iostreamh void main( ) int * p=new int1; p=9; cout * p endl; delete p; (分数:2.00)A.B.C.D.7.对表达式 for(

5、表达式 1;表达式 3)可理解为( )。(分数:2.00)A.MinB.MaxC.Max 和 Min 之间D.Max 和 Min 之外8.关于二义性的描述错误的是( )。(分数:2.00)A.一个子类的两个父类中都有某个同名成员,在子类中对该成员访问可能出现二义性B.解决二义性可以用对成员名的限定法C.父类和子类中同时出现同名函数,也可能存在二义性D.一个子类是从两个父类派生出来的,而这两个父类又有一个共同的父类,对该父类成员进行访问时,可能出现二义性9.下列语句中不是死循环的是( )。(分数:2.00)A.int i=10; while(1) i; if(i= =1)break; B.for

6、(int i=1;i who6; p= int i; for(i=0;i填空项 1:_43.有以下程序: int sub(int n) return(n/10+n%10); main1 int x,y; scanf(“%d“, y=sub(sub(sub(x); printf(“%d/n“,y); 若运行时输入 1234,程序的输出结果是 2。 (分数:30.00)填空项 1:_44.表达式 operator + (x,y)还可以表示为 1。(分数:30.00)填空项 1:_45.下面程序的运行结果是 1 和 2。 #includeiostreamh #define N 10 #define

7、s(x)x * x #define f(x)(x * x) void main3 int i1,i2; i1=1000/s(N);i2=1000/f(N); cout i1 “ “ i2; (分数:30.00)填空项 1:_46.C+语句 const char * const p= “hello“;,所定义的指针 p 和它所指的内容都不能被 1。(分数:30.00)填空项 1:_47.如果不能使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基数继承的成员,下列程序没有使用多态机制,其输出结果是 1。 #include using namespace std; class

8、Base public: Void print2coutprint5; pd-print6; delete pd; return 0; (分数:30.00)48.下列软件系统结构图的宽度为 1 (分数:30.00)填空项 1:_国家计算机二级(C+)81 答案解析(总分:460.00,做题时间:120 分钟)一、选择题(每小题 2 分,共 70 分) 下列各(总题数:35,分数:70.00)1.下列语句不能够用于打开 C 根目录下文件 testtxt 的语句是( )。(分数:2.00)A.ifstream fin;finopen(“C:/testtxt“);B.ifstream fin(“C:

9、/testtxt“);C.A)和 B)D.ifstream fin;fin(“C:/testtxt“); 解析:C+语言中打开文件有两种方式ifstream fin(“testdar“,)ifstream fin;finopen(“testdat“,);。2.语句 ofstream f(“SALARY.DAT“,iosbase:app);的功能是建立流对象 f,并试图打开文件SALARY.DAT 与 f 关联,而且【 】(分数:2.00)A.若文件存在,将其置为空文件;若文件不存在,打开失败B.若文件存在,将文件指针定位于文件尾;若文件不存在,建立一个新文件 C.若文件存在,将文件指针定位于文

10、件首;若文件不存在,打开失败D.若文件存在,打开失败;若文件不存在,建立一个新文件解析:ofstream 是文件输出流类,其对象与磁盘上的文件的关系是:如果文件不存在,那么它将被建立;如果文件存在,将被截断并用新的数据代替里面的旧数据。3.有以下程序: void f(int *x,int *y) int t; t=*x;*x=*y;*y=t; main() int a8=1,2,3,4,5,6,7,8,i,*p,*q; p=a;q= while(pA.8,2,3,4,5,6,7,1,B.5,6,7,8,1,2,3,4,C.1,2,3,4,5,6,7,8,D.8,7,6,5,4,3,2,1, 解

11、析:本程序中函数 f 的作用是交换指针变量 x 和 y 所指向的存储单元的值。4.下面程序的结果为( )。 #includeiostream.h intC; classA private: inta; staticintb; public: A( )a=0;c=0; voidseta( )a+; voidsetb( )b+; voidsetc( )c+; voiddisplay( )couta“b“c; ; intA:b=0; voidmain( ) Aa1,a2; a1.seta( ); a1.setb( );a1.setc( ); a2.seta( ); a2,setb( ); a2.se

12、tc( ); a2.display( ); (分数:2.00)A.2 3 4 3 4 5 B.1 2 3 3 4 5C.1 2 3 2 4 6D.2 3 4 4 5 6解析:a 数组的元素的下标应为 0-2,注意数组的下标从零开始。5.多态性指的是( )。(分数:2.00)A.以任何方式调用一个虚函数B.以任何方式调用一个纯虚函数C.借助于指向对象的基类指针或引用调用一个虚函数 D.借助于指向对象的基类指针或引用调用一个纯虚函数解析:本题考查多态性的基本概念。多态性主要是指借助于指向对象的基类指针或引用调用一个虚函数。6.下面程序错误的语句是( )。 # include iostreamh v

13、oid main( ) int * p=new int1; p=9; cout * p endl; delete p; (分数:2.00)A.B. C.D.解析:本题考查的是指针的使用,p 是指向 int 型的指针,若想给它指向 的元素赋值,应使用 * 符号,直接赋值相当于改变了原来 P 存储的地址。7.对表达式 for(表达式 1;表达式 3)可理解为( )。(分数:2.00)A.Min B.MaxC.Max 和 Min 之间D.Max 和 Min 之外解析:复选框也称检查框,它的 Value 属性值可以设置或返回 0,1,2。 0:表示没有选中复选框。 1:表示选中该复选框。 2:表示该复

14、选框被禁止,显示为灰色。 8.关于二义性的描述错误的是( )。(分数:2.00)A.一个子类的两个父类中都有某个同名成员,在子类中对该成员访问可能出现二义性B.解决二义性可以用对成员名的限定法C.父类和子类中同时出现同名函数,也可能存在二义性 D.一个子类是从两个父类派生出来的,而这两个父类又有一个共同的父类,对该父类成员进行访问时,可能出现二义性解析:基类和其继承类同时出现同名函数,则在继承类中实现对象中调用该函数是使用继承类中的定义,这种情况下是不会产牛二义性的。9.下列语句中不是死循环的是( )。(分数:2.00)A.int i=10; while(1) i; if(i= =1)brea

15、k; B.for(int i=1;i who6; p= int i; for(i=0;i填空项 1:_ (正确答案:abcbcc)解析:字符数组 ch 的值abc分别复制到了二维数组 x 的每一行,使得二维数组中每一行的值均为abc,再 通过第二个 for 循环打印出每一行上所要求输出的字符串。43.有以下程序: int sub(int n) return(n/10+n%10); main1 int x,y; scanf(“%d“, y=sub(sub(sub(x); printf(“%d/n“,y); 若运行时输入 1234,程序的输出结果是 2。 (分数:30.00)填空项 1:_ (正确

16、答案:10)解析:本题考查的是函数的调用,函数 sub 调用后的返回值仍被作为实参传递给函数 sub 的形参,此种调 用连续进行 3 次,第一次调用:sub(1234)的返回值为 1234/10+1234%10,即 127;第二次调用:sub(127)的 返回值为 127/10+127%10;即 19;第三次调用:sub(19)的返回值为 19/10+19%10,即 10。所以程序输出的 结果是 10。44.表达式 operator + (x,y)还可以表示为 1。(分数:30.00)填空项 1:_ (正确答案:x+y)解析:本题考查的是运算符函数的调用,可以像一般函数那样用函数名进行调用,也

17、可通过运算符构成表达式的形式进行调用。45.下面程序的运行结果是 1 和 2。 #includeiostreamh #define N 10 #define s(x)x * x #define f(x)(x * x) void main3 int i1,i2; i1=1000/s(N);i2=1000/f(N); cout i1 “ “ i2; (分数:30.00)填空项 1:_ (正确答案:1000)解析:对于 define 宏定义语句,系统会在编译前进行替换。本题替换过程如下: i1=1000/s(N) i1=1000/s(10) i1=1000/10*10 i1=1000 i2=1000

18、/f(N) i2=1000/f(10) i2=1000/(10*10) i2=10 46.C+语句 const char * const p= “hello“;,所定义的指针 p 和它所指的内容都不能被 1。(分数:30.00)填空项 1:_ (正确答案:改变)解析:本题考查的是定义常量的关键字 const,由 sonst 定义的变量的值不可以再改变,所以定义时必须进行初始化。47.如果不能使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基数继承的成员,下列程序没有使用多态机制,其输出结果是 1。 #include using namespace std; class Base public: Void print2coutprint5; pd-print6; delete pd; return 0; (分数:30.00)解析:48.下列软件系统结构图的宽度为 1 (分数:30.00)填空项 1:_ (正确答案:3)解析:在程序结构图的有关术语中,宽度的概念是:整体控制跨度,即各层中所含的模块数的最大值,由图可得此软件系统结构图的宽度为 3。

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1