版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、姓名:_ 班级:_ 学号:_-密-封 -线- 全国计算机等级考试二级c+模拟试题(9)考试时间:120分钟 考试总分:100分题号一二三四五总分分数遵守考场纪律,维护知识尊严,杜绝违纪行为,确保考试结果公正。笔试部分一、选择题1.设一棵二叉树中有3个叶子结点,有8个度为1的结点,则该二叉树中总的结点数为( )a.12 b.13 c.14 d.15【参考答案】 b2.下列叙述中,不属于结构化程序设计方法的主要原则的是( )a.自顶向下 b.由底向上 c.模块化 d.限制使用goto语句【参考答案】 b3.为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图
2、称为( )a.pad图 b.n-s图 c.结构图 d.数据流图【参考答案】 b4.下列叙述中,不属于数据库系统的是( )a.数据库 b.数据库管理系统 c.数据库管理员 d.数据库应用系统【参考答案】 b5.视图设计一般有3种设计次序,下列不属于视图设计的是( )a.自顶向下 b.由外向内 c.由内向外 d.自底向上【参考答案】 b6.栈通常采用的两种存储结构是( )a.线性存储结构和链表存储结构b.散列方式和索引方式c.链表存储结构和数组d.线性存储结构和非线性存储结构【参考答案】 a7.完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是( )a.黑箱测试法 b.
3、白箱测试法 c.错误推测法 d.安装测试法【参考答案】 a8.下列选项中,不属于模块间耦合的是( )a.数据耦合 b.同构耦合 c.异构耦合 d.公用耦合【参考答案】 c9.为用户与数据库系统提供接口的语言是( )a.高级语言 b.数据描述语言(ddl) c.数据操纵语言(dml) d.汇编语言【参考答案】 c10.需求分析阶段的任务是确定( )a.软件开发方法 b.软件开发工具 c.软件开发费用 d.软件系统功能【参考答案】 d. 11.c+语言中用于定义类的关键字是( )a.class b.struct c.default d.sizeof【参考答案】 a12.以下程序的输出结果是( )#
4、includevoid main()int a=21,b=11;cout-a+b;a.30 b.31 c.32 d.33【参考答案】 b13.与y=(x0?1:x0?-1:0);的功能相同的if语句是( )a.if(x0) y=1; b.if(x)else if(x0) y=-1; if(x0) y=1;else y=0; else if(x0) y=-1;c.y=-1; d.y=0;if(x) if(x=0)if(x0) y=1; if(x0) y=1;else if(x=0) y=0; else y=-1;else y=-1;【参考答案】 a14.下面程序段的运行结果是( )#inclco
5、ut a.该程序完全正确b.该程序有错,只要将语句swap(中的参数改为a,b即可c.该程序有错,只要将swap()函数中的形参p和q以及t均定义为指针 (执行语句不变)即可d.以上说法都不对【参考答案】 d16.关于抽象类下面说法正确的是( )a.抽象类就是其中有函数定义但没有实现的类b.抽象类是可以被实例化的c.派生类不能成为抽象类d.抽象类的子类必须实现父类中的纯虚函数【参考答案】 d17.如果表达式-x+y中,-是作为成员函数重载的,+是作为成员函数重载的,则该表达式还可为( )a.y.operator+(x.operator-(0) b.y.operator+(x.operator-
6、()c.y.operator+(operator-(x,0) d.operator+(x.operator-()【参考答案】 b18.以下哪个基类中的成员函数表示纯虚函数?( )a.virtual void vf(int) b.void vf(int)=0c.virtual void vf(=0) d.virtual void yf(int) 【参考答案】 b19.派生类继承基类的方式有( )a.public b.privatec.protected d.以上都对【参考答案】 d20.有以下程序#includevoid ss(char *s,char t) while(*s) if(*s=t)
7、 *s=t-a+a;s+; void main() char str1100=abcddfefdbd,c=d; ss(str1,c);cout程序运行后的输出结果是( )a.abcddefedbd b.abcddfefdbd c.abcaafefaba d.abcddfefdbd【参考答案】 b. 21.已知各变量的定义如下int i=8,k,a,b;unsigned long w=5;double x=1.42,y=5.2;则以下符合c+语言语法的表达式是( )a.a+=a-=(b=4)*(a=3) b.a=a*3+2c.x%(-3) d.y=float i【参考答案】 a22.对于下面的程
8、序,说法正确的是( )#includevoid main() int x=3,y=4,z=2;if(x=y+z)coutx=y+z;else coutx!=y+z;a.不能通过编译 b.输出6 c.输出x!=y+z d.输出x=y+z【参考答案】 d23.以下哪个不是c+语言中的有效标识符?( )a.34a b._ab c.a_b d.a25【参考答案】 a24.下面程序的运行结果是( )#includeiostream.h#define sum(a,b)a*bvoid main() int x;x=sum(1+2,3)couta.0 b.9 c.7 d.5【参考答案】 c25.关于conti
9、nue语句叙述不正确的是( )a.continue语句用于循环体中,结束循环b.continue语句用于循环体中,它使执行流跳出循环体中尚未执行的语句,并进行下一循环判断c.continue可以用于if语句中d.continue语句不能代替break语句【参考答案】 a26.下面程序的执行结果是( )#includeiostream.hvoid main() int *p,r;p=new int;*p=20;r=sizeof(*p);coutdelete p; a.程序错误 b.内存为20地址的大小 c.20 d.4【参考答案】 d27.下列程序的输出结果是( )#include iostre
10、amusing namespace std;int max(int a,int b)if(ab)return a;elsereturn b;void main()int m,n;m=10,n=5;int max=max(m,n);couta.10 b.程序有误 c.1 d.0【参考答案】 a28.c+中类定义中默认的访问权限是( )a.publicb.protectedc.private d.default【参考答案】 c29.关于构造函数a()的拷贝构造函数正确的是( )a.a(a*b); b.a(ab); c.a(a d.a(a);【参考答案】 c30.虚函数必须是类的( )a.成员函数
11、b.友元函数 c.构造函数 d.析构函数【参考答案】 a. 31.不能重载的运算符是( )a.new b.sizeof c.* d.+【参考答案】 c32.关于模板下列说法不正确的是( )a.用类模板定义一个对象时,不能省略实参 b.类模板只能有虚拟类型参数c.类模板本身在编译中不会生成任何代码 d.类模板的成员函数都是模板函数【参考答案】 b33.下面程序的结果为( )#includeiostream.hvoid 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);couta
12、.8 9 b.9 8 c.程序有错误 d.9 9【参考答案】 a34.下面程序输出的结果为( )#include iostream.hclass a public:a()coutclass aa() ;class b:public a public:b()coutclass bb() ;void main() a *p;p=new b;b *q;q=new b; a.class a b.class a c.class a d.class aclass b class b class b class bclass b class a class bclass b class b【参考答案】 c3
13、5.下列程序的运行结果为( )#includetemplateclass ff tt a1,a2,a3;public:ff(tt b1,tt b2,tt b3)a1=b1;a2=bl【参考答案】2.【2】过程3.在程序设计阶段应该采取【3】和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,进而用某种程序设计语言写成程序。【参考答案】3.【3】自顶而下4.数据库系统阶段的数据具有较高独立性,数据独立性包括物理独立性和【4】两个含义。【参考答案】4.【4】逻辑独立性5.栈和队列通常采用的存储结构是【5】。【参考答案】5.【5】链式存储和顺序存储6. 以下程序的输出结果是【6】。#
14、includel#includetemplateclass a public:t x,y,z;void display()coutvoid main() aa1;【13】【14】【15】a1.display(); 【参考答案】13.【13】a1.x=1; 【14】a1.y=2; 【15】a1.z=3;. 上机部分一、改错题使用vc6打开考生文件夹下的工程kt9_1,此工程包含一个源程序文件kt9_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:4,520源程序文件清单如下:#includeclassa protected:intn,m;public:voidset(i
15、nta,intb)m=a;n=b;voidshow()cout/*found*/ classb:publica ints;public:voidset()s=m*n;voidshows()coutvoidmain()bb;/*found*/b.set();b.show();b.set();/*found*/b.show();【参考答案】(1)在“”后添加分号(2)将b.set();改为:b.a:set(4,5);(3)将b.show();改为:b.shows();【试题解析】(1)主要考查对类定义格式的掌握,类的结尾应该使用”;”;(2)主要考查对基类与派生类函数调用关系的掌握,根据所要求的输
16、出结果,应该调用的函数为类a的set,而不是类b自身的set函数,应该避免调用的二义性;(3)主要考查对继承与派生的理解,由所要求输出结果可知正确:b.shows()。. 二、简单应用题请编写一个函数intcalcdigital(char*str),该函数可返回字符串str中数字字符(即“0”-“9”这10个数字)的个数,如字符串”olympic2008”中数字字符的个数为4。请用if条件判断语句与for循环语句来实现该函数。注意:部分源程序已存在文件中。请勿修改主函数main和其他函数中的任何内容,仅在函数find的花括号中填写若干语句。文件kt9_2.cpp的内容如下:#include#i
17、ncludeintcalcdigital(char*str);voidmain() char*str;str=newchar255;cout”输入字符串:”;cinstr;intnum=calcdigital(str);coutintcalcdigital(char*str)【参考答案】int calcdigital(char *str) if(str=null) return 0;int num_of_digital=0;int len=strlen(str);for(int i=0;iif(stri=9 =0)num_of_digital+;return num_of_digital; 【
18、试题解析】本题考查对于if条件判断语句与for循环语句的熟练使用程度。注意判断条件(判断是否是数字是直接比较ascii码)的使用。. 3.综合应用题使用vc6打开考生文件夹下的工程kt9_3,此工程包含一个源程序文件kt9_3.cpp,其中定义了circle类与money类,circle类可对半径为r的圆进行周长与面积的计算,而money类用于计算一圆形游泳池的造价。游泳池四周有原形过道,过道外围上栅栏,过道宽度为3米,根据键入的游泳池半径,每米栅栏价格及每平方米过道价格,即可计算出游泳池的造价。请按要求完成下列操作,将程序补充完整。(1)定义符号常量pi(值为3.14159f)与width(
19、值为3.00f),分别用于表示圆周率与过道的固定宽度。请在注释“/*1*”之后添加适当的语句。(2)定义circle类默认构造函数,把私有成员radius初始化为参数r的值。请在注释“/*2*”之后添加适当的语句;(3)完成money类默认构造函数的定义,把私有成员fenceprice(每米栅栏的价格)、concreteprice(每平方米过道的价格)初始化为参数f,c的值。请在注释“/*3*”之后添加适当的语句。(4)完成money类成员函数floatmoney:totalmoney(floatfencelen,floatconarea)的定义,根据参数fencelen(栅栏的长度)和con
20、area(过道的面积),返回栅栏与过道的总造价。请在注释“/*4*”之后添加适当的语句。注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。源程序文件kt9_3.cpp清单如下:#include/*1*classcircle private:floatradius;public:/*2*floatcircumference()return2*pi*radius;floatarea()returnpi*radius*radius; ;classmoney private:floatfenceprice;floatconcreteprice;public:money(floatf,floatc);. floattotalmoney(floatfencelen,floatconarea); ;money:money(floatf,floatc) /*3* floatmoney:totalmo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论