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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、国家计算机二级(C+)85 及答案解析(总分:460.00,做题时间:120 分钟)一、选择题(每小题 2 分,共 70 分) 下列各(总题数:35,分数:70.00)1.下面程序的运行结果是( )。 #includeiostreamh class base protected: int a; public: base( )cout“0“; ; class basel:virtual base public: basel( )cout“1“; ; class base2:virtual base public: base2( )cout“2“; ; class derived:public b

2、asel,public base2 public: derived( )cout“3“; ; void main( ) derived obj; coutendl; (分数:2.00)A.123B.3120C.312D.30122.若有说明语句 char a =“It is mine“; char *p=“It is mine“; 则以下不正确的叙述是( )。 (分数:2.00)A.a+1 表示的是字符 t 的地址B.p 指向另外的字符串时,字符串的长度不受限制C.p 变量中存放的地址值可以改变D.a 中只能存放 10 个字符3.下列函数模板的定义中,合法的是(分数:2.00)A.templa

3、teT abs(T x)return xB.template classT abs(T x)return xC.template Tabs(T x)(return xD.template T absreturn x4.在 C+语言中,不合法的实型数据的是( )。(分数:2.00)A.0.123B.123000C.21e35D.1235.数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和_。(分数:2.00)A.编码设计B.测试阶段C.运行阶段D.物理设计6.下面关于虚函数的描述,错误的是( )。 (分数:2.00)A.关系模型B.层次模型C.网状模型D.以上皆非7.以下不能正确计算代数式?

4、sin2(?)值的 C 语言表达式是_。 (分数:2.00)A.1/3*sin(1/2)*sin(1/2)B.sin(0.5)*sin(0.5)/3C.pow(sin(0.5),2)/3D.1/3.0*pow(sin(1.0/2),2)8.冒泡排序在最坏情况下的比较次数是(分数:2.00)A.n(n+1)2B.nlog2nC.n(n 一 1)2D.n29.下面程序的结果是( )。 #includeiostreamh class A int a; public: A( ):a(1) void showa( ) cout a; ; class B int a; public: B( ):a(2)

5、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( ); (分数:2.00)A.将 private int m 改为 protected int mB.将 private int m 改为 public int mC.将 private int m 改为 static iD.将 private int m 改为 int m10.已知下列语句中的 x 和 y 都是 int 型变量,其中错误的语句是【

6、】(分数:2.00)A.xy:B.xy;C.(xy)D.xy;11.下列符号中能够作为 C+标识符的是(分数:2.00)A.constB.2aC.-shapeD.-count12.与语句 coutendl;不等价的是( )。(分数:2.00)A.cout,+,*,D.next; sum+=q-next-num; sum+=r-next-next-num; printf(“%d/n“,sum); (分数:30.00)填空项 1:_国家计算机二级(C+)85 答案解析(总分:460.00,做题时间:120 分钟)一、选择题(每小题 2 分,共 70 分) 下列各(总题数:35,分数:70.00)1

7、.下面程序的运行结果是( )。 #includeiostreamh class base protected: int a; public: base( )cout“0“; ; class basel:virtual base public: basel( )cout“1“; ; class base2:virtual base public: base2( )cout“2“; ; class derived:public basel,public base2 public: derived( )cout“3“; ; void main( ) derived obj; coutendl; (分

8、数:2.00)A.123 B.3120C.312D.3012解析:本题考查的是含有虚基类的继承中构造函数的调用顺序,应该先 调用基类的构造函数,接着是按照派生类继承列表的顺序依次调用虚基类的构造函数, 最后调用派生类自己的构造函数。2.若有说明语句 char a =“It is mine“; char *p=“It is mine“; 则以下不正确的叙述是( )。 (分数:2.00)A.a+1 表示的是字符 t 的地址B.p 指向另外的字符串时,字符串的长度不受限制C.p 变量中存放的地址值可以改变D.a 中只能存放 10 个字符 解析:本题考查字符串数组和指针的引用方式。在 C+语言中,系统

9、在每个字符串或数组的最后自动加入一个字符/0,作为字符的结束标志,在本题中,char a =“It is mine”;所表示的。字符串实际含有 11 个字符。3.下列函数模板的定义中,合法的是(分数:2.00)A.templateT abs(T x)return xB.template classT abs(T x)return xC.template Tabs(T x)(return xD.template T absreturn x解析:4.在 C+语言中,不合法的实型数据的是( )。(分数:2.00)A.0.123B.123000C.21e35 D.123解析:在 C+语言中,实数有两种

10、形式表示,即十进制数形式和指数形式,在指数形式中,e3,21e35,e3,e 等都是不合法的指数形式。再如 123e3 或 123E3 都代表 123 乘以 10 的 3 次方。注意,字母 e 的前面必须有数字,且 e 的后面必须是整数。5.数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和_。(分数:2.00)A.编码设计B.测试阶段C.运行阶段D.物理设计解析:6.下面关于虚函数的描述,错误的是( )。 (分数:2.00)A.关系模型B.层次模型 C.网状模型D.以上皆非解析:数据库管理员可以管理数据库应用系统、数据库管理系统、操作系统。7.以下不能正确计算代数式?sin2(?)值的

11、C 语言表达式是_。 (分数:2.00)A.1/3*sin(1/2)*sin(1/2) B.sin(0.5)*sin(0.5)/3C.pow(sin(0.5),2)/3D.1/3.0*pow(sin(1.0/2),2)解析:如果算术运算符“/”中参与运算的变量都是整型变量,则“/”表示整除运算,所以“1/3”的值应为 0,故选项 A 的表达式值为 0,而事实上代数式“?sin2(?)”的值并不为 0,所以选项 A 不能正确计算题 目所要求的代数式。8.冒泡排序在最坏情况下的比较次数是(分数:2.00)A.n(n+1)2B.nlog2nC.n(n 一 1)2 D.n2解析:9.下面程序的结果是(

12、 )。 #includeiostreamh class A int a; public: A( ):a(1) void 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( ); (分数:2.00)A.将 private int m 改为 protected int mB.将 private int

13、 m 改为 public int mC.将 private int m 改为 static i D.将 private int m 改为 int m解析:复选框 Checkbox 用 ItemListener 来监听 ItemEvent 事件,当复选框状态改变时用getStateChange()获取其当前状态,使用 getItem()获得被修改复选框的字符串对象。 10.已知下列语句中的 x 和 y 都是 int 型变量,其中错误的语句是【 】(分数:2.00)A.xy:B.xy;C.(xy) D.xy;解析:本题考核 C表达式类型及求值规则。自加运算符是单目运算符,运算对象必须为变量,不能是

14、常量和表达式,C 选项中的对象是表达式,故错误。11.下列符号中能够作为 C+标识符的是(分数:2.00)A.constB.2aC.-shape D.-count解析:作为标识符必须满足以下规则:所有标识符必须由一个字母(az,AZ)或下划线“_”开头;标识符的其它部分可以用字母、下划线或数字(09)组成;大小写字母表示不同意义,即代表不同的标识符;标识符只有前 32 个字符有效;标识符不能使用关键字。count 是设备保留字不能作为标识符。12.与语句 coutendl;不等价的是( )。(分数:2.00)A.cout,+,*,D.,只能用友元函数重载的是。26.有以下程序: int a=2

15、; int f(int n) static int a=3; int t=0; if(n%2) static int a=4; t+=a+; else static int a=5; t+=a+; return t+a+; main() int s=a,i; for(i=0;iA.26B.28C.29 D.24解析:解本题要弄清楚这样几点:1、定义“int a=2;”中的全局变量 a,其作用范围是从定义此变量的位 置开始到本源文件结束;2、“static int a=3;”中的静态局部变量 a 的作用范围是其所在的函数 f,并对其 只赋一次初值,以后每次调用函数时不再重新赋初值,而只是保留上次

16、函数调用结束时的值;3、复合语句“ static int a=4; t+=a+; ”和“ static int a=5; t+=a+; ”中定义的两个变量 a 属于复合语句中定义的变量,作用范围只在其本身所在的复合语句内。对于本程序来讲,第三行定义的静态局部变量并不 会对四、五两行的复合语句产生作用,这是因为复合语句中也定义了与其同名的静态局部变量。27.类的析构函数的作用是( )。(分数:2.00)A.以任何方式调用一个虚函数B.以任何方式调用一个纯虚函数C.借助于指向对象的基类指针或引用调用一个虚函数 D.借助于指向对象的基类指针或引用调用一个纯虚函数解析:本题考查 C+语言中 运算符的意

17、义。C+语言中 和 运算符都是友元函数重载,分别用于输出和输入。28.设 int a=10,b= 11,c=12;,表达式( a + b) c b= =c 的值是( )。(分数:2.00)A.类 A 的成员即类 B 的成员B.类 B 的成员即类 A 的成员C.类 A 的成员函数不得访问类 B 的成员D.类 B 不一定是类 A 的友元 解析:关键字 this 表示当前对象。与关键宇 this 相对应的关键字 super,它用来引用当前对象的父类。 29.有以下程序 fun(char p10) int n=0,i; for(i=0;iA.1B.2 C.3D.0解析:此题考核的是数组名作为函数参数,

18、当数组名作为函数参数时,是将实参数组的起始地址传送给形 参数组,作为形参数组的首地址,当形参发生变化主函数中的实参数组也发生变化。调用 fun()函数执行 for 循环语句,n=2,传递给实参其输出值相应的也为 2。30.有如下程序 #includeiostreamh void main( ) float x=20,y; if(x00)y=00; else if(x100)y=10/x; else y=10; cout y; 该程序的输出结果是( )。 (分数:2.00)A.0B.0.25C.0.5 D.1.0解析:本题考查 if 语句的使用方法。该表达式的语句是 if(表达式 1) 语句 1

19、 else if(表达式 2) 语句 2 else if(表达式 3) 语句 3 else 语句 4 由 if 表达式可知,题中直接执行 if 语句的第 2 条 else if(x100)y=1O/x;。 31.下列程序是用来判断数组中特定元素的位置所在,则输出结果为( )。 #includeconioh #includeiostreamh int fun(in *s,int t,int *k) int i; * k=0; for(i=0;i t;i+) if(s *k si) *k=i; return S *k; void main( ) int a10= 876,675,896,101,3

20、01,401,980,431,451,777 ,k; fun(a,10, void main( ) int a=10,b=20; couta“ “b; swap( if(*s) f(s,t); main() char str10=“abcdefg“,*p; p=str+strlen(str)/2+1; f(p,p-2); printf(“%s/n“,str); 程序运行后的输出结果是_。(分数:2.00)A.abcdefgB.gfedcba C.gbcdefaD.abedcfg解析:本程序的作是将字符串 str 倒序。语句“p=str+strlen(str)/2+1;”用于将指针变量 p 指向

21、 e 字符所在的存储 单元,p-2 指向了 c 字符所在的存储单元,在函数 f 中将这两个存储单元的内容交换,并使得 f 函数中指向 e 字 符的指针变量 s 加 1。指向 c 字符的指针变量 t 减 1,然后继续将 s 和 t 指向的存储单元的内容进行交换,直到 s 指 向的存储单元的内容为空为止。所以本题程序输出的结果是字符串“abcdefg”的倒序形式“gfedcba”。二、填空题(每空 2 分,共 30 分)(总题数:13,分数:390.00)36.下列程序段的输出结果是 1。 coutfixed509.123456789endl; (分数:30.00)填空项 1:_ (正确答案:50

22、9.123457)解析:fixed 的意义是在小数点后保留六位,所以 fixed 输出为 509.123457。37.以下程序的功能是输出如下形式的方阵: 13 14 15 16 9 10 11 12 5 6 7 8 1 2 3 4 请填空。 main1 int i,j,x; for(j=4;j 2 ;j-) for(i=1;i=1 或 0 , i)解析:本程序有两重 for 循环,外层 for 循环控制输出数据的行数,故第 -|_|-空填“=1”或“0”,内层循环控制每行输出的个数。在内层 for 循环中,用语句“x=(j-1)*4+ -|_|-;”控制输出方阵中的具体数据, 由于这些数据与

23、其所在的行、列(j,i)有关系x=(j-1)*4+i,故此空填 i。38.将 x+y 中的+运算符用友元函数重载应写为 1。(分数:30.00)填空项 1:_ (正确答案:operator+(x,y))解析:C+中用成员函数重载 x+y 为 xoperator+(y);,用友元函数重载 x+y 为 operator+(x,y)。 39.通过使用 new 和 delete 两个运算符进行的分配为 1 存储分配。(分数:30.00)填空项 1:_ (正确答案:动态)解析:本题考查的是对动态分配内存的掌握,在 C+语言中,使用关键字 new 和 delete 进行动态内存申请和释放。 40.请将如下

24、程序补充完整,使得输出结果为:bbaa #include using namespace std; class A public: 1coutnext; 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.next=s+2; s2.next=s;”将结构体变量 s 中各结点链接成了一个 循环链表,即最后一个结点的指针域指向了头结点(s2.next=s;),整个链表形成一个环,并通过语句“p=s; q=p-next; r=q-next;”将结构体指针变量 p、q、r 指向了各结点,故本题输出的 sum=3+2=5。

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