【计算机类职业资格】二级C++模拟494及答案解析.doc
《【计算机类职业资格】二级C++模拟494及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++模拟494及答案解析.doc(28页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+模拟 494及答案解析(总分:176.50,做题时间:90 分钟)一、选择题(总题数:40,分数:66.50)1.面向对象程序设计思想的主要特征中不包括_。(分数:2.50)A.继承性B.功能分解,逐步求精C.封装性和信息隐藏D.多态性2.有如下程序: #includeiostream #includecstring using namespace std; class XCD char* a; int b; public: XCD(char* aa,int bb) a=new charstrlen(aa)+1; strcpy(a,aa); b=bb; char* Geta()ret
2、urn a; int Getb()return b; ; intmain() char*p1=“abcd“,*p2=“weirong“; int d1=6,d2=8; XCD x(p1,d1),y(p2,d2); coutstrlen(x.Geta()+y.Getb()endl; return 0; 运行时的输出结果是_。(分数:2.00)A.12B.16C.14D.113.在结构化设计方法中,生成的结构图(SC)中,带有箭头的连线表示(分数:1.00)A.模块之间的调用关系B.程序的组成成分C.控制程序的执行顺序D.数据的流向4.算法的有穷性是指_。(分数:1.00)A.算法程序的运行时间是
3、有限的B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用5.若变量已正确定义为 inL型,要通过语句“scanf(“%d,%d“,a,b,c);”给 a赋值 1、给 b赋值 2、给 c赋值 3,以下输入形式中错误的是( 代表一个空格符)_。 A 1,2,3回车 B1 2 3回车 C1, 2, (分数:2.50)A.B.C.D.6.软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是_。(分数:1.00)A.编译程序B.操作系统C.教务管理系统D.汇编程序7.下列有关运算符重载的叙述中,正确的是_。(分数:1.00)A.运算符
4、重载是多态性的一种表现B.C+中可以通过运算符重载创造新的运算符C.C+中所有运算符都可以作为非成员函数重载D.重载运算符时可以改变其结合性8.当使用 fstram流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为(分数:2.00)A.ios:inB.ios:outC.ios:int | ios:outD.没有9.以下程序的正确运行结果是 _ 。 #includeiostream.h int f(int); void main() int a=2,i; for(i=0;i3;i+)coutf(a)“ “; coutendl; int f(int a) int b=0 static i
5、nt c=3; b+:c+; return(a+b+c); (分数:1.00)A.777B.7 10 13C.79 11D.7 8 910.下列关于析构函数的描述中,错误的是_。(分数:2.50)A.析构函数可以重载B.析构函数由系统自动调用C.每个对象的析构函数只被调用一次D.每个类都有析构函数11.下列关于 C+预定义流对象的叙述中,正确的是_。(分数:1.00)A.cin是 C+预定义的标准输入流对象B.cin是 C+预定义的标准输入流类C.cout是 C+预定义的标准输入流对象D.cout是 C+预定义的标准输入流类12.一个队列的进队列顺序是 1,2,3,4,则出队列顺序为 _ 。(
6、分数:1.00)A.4,3,2,1B.2,4,3,1C.1,2,3,4D.3,2,1,413.若为 Fraction类重载前增 1运算符+,应在类体中将其声明为_。(分数:2.00)A.FractionB.FractionC.friend FractionD.friend Fraction14.通过运算符重载,可以改变运算符原有的_。(分数:1.00)A.操作数类型B.操作数个数C.优先级D.结合性15.下列叙述中正确的是 _ 。(分数:2.00)A.一个逻辑数据结构只能有一种存储结构B.逻辑结构属于线性结构,存储结构属于非线性结构C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数
7、据处理的效率D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率16.下列数据结构中,能够按照“先进后出”原则存取数据的是_。(分数:2.50)A.循环队列B栈C.队列D.二叉树17.有如下程序: #includeiostream using namespace std; class Basel public: Basel(int d) coutd; Base1() ; class Base2 public: Base2(int d) coutd; Base2() ; class Derived:public Base1,Base2 public: Derived(int
8、a,int b,int c,int d); Base1(b),Base2(a),b1(d),b2(c) Private: int b1; int b2; ; int main() Derived d(1,2,3,4); return 0; 运行时的输出结果是_。(分数:2.00)A.1234B.2134C.12D.2118.以下关键字不能用来声明类的访问权限的是_。(分数:1.00)A.publicB.staticC.protectedD.private19.在软件开发中,需求分析阶段可以使用的工具是_。(分数:1.00)A.N-S图B.DFD图C.PAD图D.程序流程图20.有如下程序: #
9、include iostream.h #include iomanip.h using namespace std; class CSum int x,y; public: CSum (int x0,int y0):x(x0),y(y0) friend ostream return os; ; int main () CSum y(3,5); coutsetfill(“*“)8; couty; return 0; 执行上面程序的输出是(分数:2.00)A.88B.*88C.*8*8D.8*821.若 MyClass为一个类,执行“MyClass a4, *p5;”语句时会自动调用该类的构造函数
10、的次数是_。(分数:2.50)A.2B.5C.4D.922.有三个关系 R、S 和 T如下: R A B C a 1 2 b 2 1 c 3 1 S A B C a 1 2 b 2 1 T A B C c 3 1 则由关系 R和 S得到关系 T的操作是_。(分数:1.00)A.自然连接B差C交D并23.有如下程序: #includeiostream using namespace std; void f1(int void f2(int x)+x; int main() int x=10,y=12; f1(x); f2(y); coutx+yendl; return 0; 运行这个程序的输出结
11、果是_。(分数:2.00)A.22B.23C.24D.2524.有以下程序: #include iostream using namespace std; int main() int num23,*p; int t,i,j,k=10; p=num0; for(i=0;i2;i+) for(j=0;j3;j+) k+; *p=k; for(t=2;t*p;t+) if(!(*pt) j-; *p-; break; *p+; cout*(p-1)end1; return 0; 程序运行后的输出结果是 _ 。(分数:1.00)A.19B.11C.29D.2325.有如下程序: #includeio
12、stream using namespace std; class Media public: void Name(); void Show(); protected: int page; ; class Book:private Media public: void Print() coutpageendl; void Show()Media:Show();) / ; int main() Book Bible; Bible.Name(); / Bible.Print(); / Bible.Show(); / return 0; 编译时有错误的是_。(分数:2.00)A.语句B.语句C.语句
13、D.语句26.下列关于派生类构造函数和析构函数的说法中,错误的是_。(分数:1.00)A.派生类的构造函数会隐含调用基类的构造函数B.如果基类中没有缺省构造函数,那么派生类必须定义构造函数C.在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数D.在销毁派生类对象时,先调用基类的析构函数,再调用派生类的析构函数27.下列语句中,与语句“n=(ab?(bc?1:0):0);”的功能等价的是_。(分数:2.00)A.if(a=b)n=0;B.if(ab)|(bc)n=1;else n=0;C.if(ab)if(bc)n=1;else n=0;else n=0;D.if(ab)n=1;e
14、lse if(b=c)n=1;else if(bc)n=1;else n=0;28.执行语句 for(i=1;i+4;);,后变量 i的值是(分数:1.00)A.3B.4C.5D.不定29.有下列二叉树,对此二叉树前序遍历的结果为 _ 。 (分数:2.00)A.ACFHIBEDGB.ABCDEFGHIC.ABDEGCFHID.ABCDEFHGI30.若需要向一个二进制文件尾部添加数据,则该文件的打开方式为_。(分数:2.50)A.ios_base:appB.ios_base:binary|ios_base:outC.ios_base:outD.ios_base:binary|ios_base:
15、app31.执行语句:coutsetfill(“*“)setw(10)setfill(“#“)left123“OK“endl;return 0;后将输出_。(分数:2.50)A.123*OKB.123#OKC.123*OK*D.123#OK#32.已知语句 int m=10;则下列引用的表示中正确的是(分数:2.00)A.intB.intC.intD.float33.以下关键字不能用来声明类的访问权限的是_。(分数:1.00)A.publicB.staticC.protectedD.private34.有如下程序 #includeiostream using namespace std; cl
16、ass Base protected: Base()cout“A“; Base(char C)coutc; ; class Derived:public Base public: Derived(char C)coutc; ; int main() Derived d1(“B“); return 0; 执行这个程序屏幕上将显示输出_。(分数:2.00)ABB.BAC.ABD.BB35.下面属于黑盒测试方法的是_。(分数:2.50)A.基本路径测试B.等价类划分C.判定覆盖测试D.语句覆盖测试36.数据库设计中反映用户对数据要求的模式是_。(分数:1.00)A.内模式B.概念模式C.外模式D.设
17、计模式37.若有以下程序: #include iostream using namespace std; class Base private: int a,b; public: Base(int x, int y) a=x; b=y; void show() couta“, “bend1; ; class Derive : public Base private: int c, d; public: Derive(int x, int y, int z,int m):Base(x,y) c=z; d=m; void show() coutc“, “dend1; ; int main ( )
18、Base b(50,50) ,*pb; Derive d(10,20,30,40); pb= pb-show ); return 0; (分数:1.00)A.10,20B.30,40C.20,30D.50,5038.通常的拷贝初始化构造函数的参数是 _ 。(分数:1.00)A.某个对象名B.某个对象的成员名C.某个对象的引用名D.某个对象的指针名39.下列关于运算符重载的描述中,正确的是(分数:2.00)A.运算符重载为成员函数时,若参数表中无参数,重载的是一元运算符B.一元运算符只能作为成员函数重载C.二元运算符重载为非成员函数时,参数表中有一个参数D.C+中可以重载所有的运算符40.下面是
19、类 Shape的定义: class Shape public: virtual void Draw()=0; ; 下列关于 Shape类的描述中,正确的是_。(分数:2.50)A.类 Shape是虚基类B.类 Shape是抽象类C.类 Shape中的 Draw函数声明有误D.语句“Shape s;”能够建立 Shape的一个对象 s二、基本操作题(总题数:1,分数:40.00)41.请使用菜单命令或直接使用 VC6打开 下的工程 proj1,其中有“MP3 播放器”类 MP3Player和主函数main的定义。程序中位于每个/ERROR *found*下的语句行有错误,请加以更正。更正后程序的
20、输出应该是: 天籁-1 黑色 注意:只能修改每个/ERROR *found*下的那一行,不要改动程序中的其他内容。 #includeiostream #includeiostream using namespace std; class MP3Player /“MP3播放器”类 char*type;/型号 char*color;/颜色 public: /ERROR *found* MP3Player(const char*ty=NULL, const char*co) /ERROR *found* if(ty=NULL) type=NULL; else type=new eharstden(t
21、y)+1; strcpy(type, ty); if(co=NULL) color=NULL; else color=new charstrlen(co)+1; strcpy(color, co); MP3Player() if(type) deletetype; /ERROR *found* if(color) delete color; const char *getType()const return type; const char *getColor()const return color; ; int main() MP3Piayer myplayer(“天籁-1”, “黑色”);
22、 coutmyplayer.getType()endl; coutmyplayer.getColor()endl; return 0; (分数:40.00)_三、简单应用题(总题数:1,分数:30.00)42.使用 VC+6.0打开 下的源程序文件 2.cpp。请完成以下两个函数。 (1)funl(int n)求出 n的阶乘,必须使用递归调用。 (2)fun2(int n)求出 n的阶乘,不能使用递归调用。如果 n小于 1则返回 0。 注意:不能修改函数的其他部分。 试题程序: #includeiostream.h /必须使用递归 int funl(int n) /不能使用递归 int fun
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 模拟 494 答案 解析 DOC
