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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、国家计算机二级(C+)86 及答案解析(总分:460.00,做题时间:120 分钟)一、选择题(每小题 2分,共 70分) 下列各(总题数:35,分数:70.00)1.表示在输出时显示小数位,和在文件输入时判断文件尾的函数分别是( )。(分数:2.00)A.6B.7C.8D.92.有以下程序 #include“iostream.h“ void main( ) int i=1,j=1,k=2; if( (j+|k+) printf(“%d/n“,*p+*q); 程序运行后的输出结果是_。 (分数:2.00)A.16B.10C.8D.64.有以下程序: main() int i=1,j=2,k=3

2、; if(i+=1 程序运行后的输出结果是_。 (分数:2.00)A.1 2 3B.2 3 4C.2 2 3D.2 3 35.有如下程序 #include #include using namespace std; class MyClass public: MyClass()cout =D.private cout printf18.下列关于虚基类的描述,错误的是( )。(分数:2.00)A.设置虚基类的目的是为了消除二义性B.虚基类的构造函数在非虚基类之后调用C.若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用D.若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调

3、用派生类的构造函数19.有如下程序: #include using namespace std; class Base public: void output()coutPrint(); delete ptr; return 0; ) 程序的输出结果是 (分数:2.00)A.IBB.iDC.2BD.2D20.执行以下程序后,test.txt 文件的内容是(若文件能正常打开)_。 #include main() FILE *fp; char *s1=“Fortran“,*s2=“Basic“; if(fp=fopen(“test.txt“,“wb“)=NULL) printf(“Cant ope

4、n test.txt file/n“); exit(1); fwrite(s1,7,1,fp); /*把从地址 s1开始的 7个字符写到 fp所指文件中*/ f seek(fp, 0L,SEEK_SET); /*文件位置指针移到文件开头*/ fwrite(s2,5,1,fp); fclose(fp); (分数:2.00)A.BasicanB.BasicFortranC.BasicD.FortranBasic21.有如下定义: int a51,3,5,7,9, * p=a;下列表达式中不能得到数值 5的是(分数:2.00)A.a2B.a3C.*(p+2)D.*p+422.下列叙述中正确的是(分数

5、:2.00)A.程序执行的效率与数据的存储结构密切相关B.程序执行的效率只取决于程序的控制结构C.程序执行的效率只取决于所处理的数据量D.以上三种说法都不对23.若有下面的函数调用 fun(a+b,3,max(n-1,b)则 fun的实参个数是【 】(分数:2.00)A.3B.4C.5D.624.下面程序的运行结果是( )。 # include iostreamh void main( ) int num=1; intref=num; ref=ref+2; cout num; num=num+3; cout ref endl; (分数:2.00)A.13B.16C.36D.3325.有如下程序

6、 #include using namespace std; class A public: virtual Void funcl()coutfuncl(); p-func2(); retum0; 运行程序,屏幕上将显示输出_。 (分数:2.00)A.B1B2B.A1A2C.B1A2D.A1B226.有如下程序 #include using namespace std; class Base protected: Base()cout0) switch(k) default : break; case 1 : n+=k; case 2 : case 3 : n+=k; k-; printf(“

7、%d/n“,n); 程序运行后的输出结果是_。 (分数:2.00)A.0B.4C.6D.733.下面有关 for循环的正确描述是( )。(分数:2.00)A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表达式C.在 for循环中,不能用 break语句跳出循环体D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来34.已知枚举类型声明语句为: enum COLORWHITE,YELLOW,GREEN5,RED,BLACK10;则下列说法中错误的是(分数:2.00)A.枚举常量 YELLOW的值为 1B.枚举常量 RED的值为 6C.枚举常量

8、BLACK的值为 10D.枚举常量 WHITE的值为 135.下面这个程序的结果是( )。 #includeiostreamh classA private: inta; public: voidseta( );intgeta( ); voidA:seta( ) a=1; intA:geta( ) returna; classB private: inta; publiC: voidseta( );intgeta( ); voidB:seta( ) a=2; intB:geta( ) returna; classC:publicA,publicB private: intb; public:

9、voiddisplay( ); voidC:display( ) int b:geta( ); coutb; voidmain( ) Cc; cseta( ); c.display( ); (分数:2.00)A.1B.2C.随机输出 1或 2D.程序有错二、填空题(每空 2分,共 30分)(总题数:13,分数:390.00)36.类模板不同于函数模板,类模板只可用 1 型参数。(分数:30.00)填空项 1:_37.以下程序中函数 huiwen 的功能是检查一个字符串是否是回文,当字符串是回文时,函数返回字符串 yes!,否则函数返回字符串 no!,并在主函数中输出,所谓 回文即正向与反向的拼

10、写都一样,例如:adgda。请填空。 #include char *huiwen(char *str) char *p1,*p2; int i,t=0; p1=str;p2= 1 ; for(i=0;inext; r=q-next; sum+=q-next-num; sum+=r-next-next-num; printf(“%d/n“,sum); (分数:30.00)填空项 1:_46.类模板不同于函数模板,类模板只可用 1 型参数。(分数:30.00)填空项 1:_47.已知程序的结果为 123,请填空。 #includeiostream.h templateclassT classA p

11、ublic: Tx,y,z; voiddisplay( )coutx“y“z; ; voidmain( ) Aintal; 1 2 3 al.display( ); (分数:30.00)填空项 1:_48.按“行进后出”原则组织数据的数据结构是 1 。(分数:30.00)国家计算机二级(C+)86 答案解析(总分:460.00,做题时间:120 分钟)一、选择题(每小题 2分,共 70分) 下列各(总题数:35,分数:70.00)1.表示在输出时显示小数位,和在文件输入时判断文件尾的函数分别是( )。(分数:2.00)A.6B.7 C.8D.9解析:本题中考查了 WhileWend循环语句,条

12、件是 I=1,当运行一次之后,I=I+3,I 变为 3了,不满足条件了,所以在运行中,只运行了一次就停止了,最终输出结果为 3。2.有以下程序 #include“iostream.h“ void main( ) int i=1,j=1,k=2; if( (j+|k+) printf(“%d/n“,*p+*q); 程序运行后的输出结果是_。 (分数:2.00)A.16B.10 C.8D.6解析:数组 a 各元素 a0a9的值依次为 110;在程序的说明部分,指针变量 p 初始化为 if(i+=1 程序运行后的输出结果是_。 (分数:2.00)A.1 2 3B.2 3 4C.2 2 3D.2 3

13、3 解析: 执行“i+=1 char *s1=“Fortran“,*s2=“Basic“; if(fp=fopen(“test.txt“,“wb“)=NULL) printf(“Cant open test.txt file/n“); exit(1); fwrite(s1,7,1,fp); /*把从地址 s1开始的 7个字符写到 fp所指文件中*/ f seek(fp, 0L,SEEK_SET); /*文件位置指针移到文件开头*/ fwrite(s2,5,1,fp); fclose(fp); (分数:2.00)A.Basican B.BasicFortranC.BasicD.FortranBa

14、sic解析:此题考核的是文件的读写,定义一个 FILE类型结构体的指针 fp,以“只写”方式打开一个test.txt文 件,并向文件输入指针变量 s1指向的 7个字符,则文件内的内容为“Fortran”,执行fseek函数文件位置指针 移到文件的开头,再次向文件输入指针变量 s2指向的 5个字符,虽然此时的文件前 5个字符字符已被“Forta” 所占用,但当向文件输入“Basic”这五个字符时,系统会覆盖原有的内容“Forta”,所以最后 test.txt里的 内容为:Basican。21.有如下定义: int a51,3,5,7,9, * p=a;下列表达式中不能得到数值 5的是(分数:2.

15、00)A.a2B.a3 C.*(p+2)D.*p+4解析:22.下列叙述中正确的是(分数:2.00)A.程序执行的效率与数据的存储结构密切相关 B.程序执行的效率只取决于程序的控制结构C.程序执行的效率只取决于所处理的数据量D.以上三种说法都不对解析:一种数据的逻辑结构根据需要可以表示成多种存储结构,而采用不同的存储结构,其数据处理的效率是不同的。因此,在进行数据处理时,选择合适的存储结构是很重要的。23.若有下面的函数调用 fun(a+b,3,max(n-1,b)则 fun的实参个数是【 】(分数:2.00)A.3 B.4C.5D.6解析:在 fun()中用“,“隔开的参数表示其参数的个数,

16、所以其共有 3个参数。24.下面程序的运行结果是( )。 # include iostreamh void main( ) int num=1; intref=num; ref=ref+2; cout num; num=num+3; cout ref endl; (分数:2.00)A.13B.16C.36 D.33解析:本题考查的是考生对引用的掌握,ref 实际上就是变量 num的别 名,所以 ref=ref+2时,num 已经变成了 3。25.有如下程序 #include using namespace std; class A public: virtual Void funcl()cou

17、tfuncl(); p-func2(); retum0; 运行程序,屏幕上将显示输出_。 (分数:2.00)A.B1B2B.A1A2C.B1A2D.A1B2解析:26.有如下程序 #include using namespace std; class Base protected: Base()cout0) switch(k) default : break; case 1 : n+=k; case 2 : case 3 : n+=k; k-; printf(“%d/n“,n); 程序运行后的输出结果是_。 (分数:2.00)A.0B.4C.6D.7 解析:在 switch 语句中,表达式的值

18、与某一个 case 后面的常量表达式的值相等时,就执行此 case 后面的语 句,若所有的 case 中的常量表达式的值都没有与表达式的值匹配的,就执行 default 后面的语句,各个 case 和 default 的出现次序不影响执行结果。所以在本题中,当 k=5 和 k=4 的时候,case 都没有与其匹配的值, 所以执行了 default 语句;当 k=3 时,执行“case 3 : n+=k;”得 n=3,然后执行 default;当 k=2 时,执行“case2 : case 3 : n+=k;”得 n=5,然后执行 default;当 k=1 时,执行“case 1 : n+=k

19、; case 2 : case 3 : n+=k;” 使得 n 加两次 k,得到 n=7。33.下面有关 for循环的正确描述是( )。(分数:2.00)A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表达式C.在 for循环中,不能用 break语句跳出循环体D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 解析:选项 A) for循环可以用于循环次数不确定的情况;选项 B) for循环是先判断表达式,后执行循环体语句;选项 C) 在 for循环中,可以用 break语句跳出循环体,从而接着执行循环体后面的语句。34.已知枚举类型声明语

20、句为: enum COLORWHITE,YELLOW,GREEN5,RED,BLACK10;则下列说法中错误的是(分数:2.00)A.枚举常量 YELLOW的值为 1B.枚举常量 RED的值为 6C.枚举常量 BLACK的值为 10D.枚举常量 WHITE的值为 1 解析:枚举值是常量,不是变量。不能在程序中用赋值语句再对它赋值;枚举元素本身由系统定义了一个表示序号的数值,从 0开始顺序定义为 0,1,2。所以枚举函数中对象的值应从。开始,依次加 1,如果有的对象已赋值,则后面也按照前面的值依次加 1的原则。35.下面这个程序的结果是( )。 #includeiostreamh classA

21、private: inta; public: voidseta( );intgeta( ); voidA:seta( ) a=1; intA:geta( ) returna; classB private: inta; publiC: voidseta( );intgeta( ); voidB:seta( ) a=2; intB:geta( ) returna; classC:publicA,publicB private: intb; public: voiddisplay( ); voidC:display( ) int b:geta( ); coutb; voidmain( ) Cc;

22、cseta( ); c.display( ); (分数:2.00)A.1B.2C.随机输出 1或 2D.程序有错 解析:在类 A中有 geta( )函数,在类 B中也有 geta( )函数,类 C继承了类 A和类 B,这样就产生了二义性,所以程序会出错。二、填空题(每空 2分,共 30分)(总题数:13,分数:390.00)36.类模板不同于函数模板,类模板只可用 1 型参数。(分数:30.00)填空项 1:_ (正确答案:类)解析:本题考查的是类模板的定义,C+语言中模板分为两种:类模板和函数模板, 类模板只能用于类型参数,函数模板可以重载。 37.以下程序中函数 huiwen 的功能是检查

23、一个字符串是否是回文,当字符串是回文时,函数返回字符串 yes!,否则函数返回字符串 no!,并在主函数中输出,所谓 回文即正向与反向的拼写都一样,例如:adgda。请填空。 #include char *huiwen(char *str) char *p1,*p2; int i,t=0; p1=str;p2= 1 ; for(i=0;inext; r=q-next; sum+=q-next-num; sum+=r-next-next-num; printf(“%d/n“,sum); (分数:30.00)填空项 1:_ (正确答案:5)解析:程序通过语句“s0.next=s+1; s1.nex

24、t=s+2; s2.next=s;”将结构体变量 s 中各结点链接成了一个 循环链表,即最后一个结点的指针域指向了头结点(s2.next=s;),整个链表形成一个环,并通过语句“p=s; q=p-next; r=q-next;”将结构体指针变量 p、q、r 指向了各结点,故本题输出的 sum=3+2=5。46.类模板不同于函数模板,类模板只可用 1 型参数。(分数:30.00)填空项 1:_ (正确答案:类)解析:本题考查的是类模板的定义,C+语言中模板分为两种:类模板和函数模板, 类模板只能用于类型参数,函数模板可以重载。 47.已知程序的结果为 123,请填空。 #includeiostream.h templateclassT classA public: Tx,y,z; voiddisplay( )coutx“y“z; ; voidmain( ) Aintal; 1 2 3 al.display( ); (分数:30.00)填空项 1:_ (正确答案:a1.x=1;)解析:通过程序的结果知道数据类型是 int,所以调用时声明模板实参为 int的,再对 x,y,z 进行赋值。48.按“行进后出”原则组织数据的数据结构是 1 。(分数:30.00)解析:

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