面向对象的程序设计第三阶段练习.docx

上传人:b****4 文档编号:3467862 上传时间:2022-11-23 格式:DOCX 页数:18 大小:893.09KB
下载 相关 举报
面向对象的程序设计第三阶段练习.docx_第1页
第1页 / 共18页
面向对象的程序设计第三阶段练习.docx_第2页
第2页 / 共18页
面向对象的程序设计第三阶段练习.docx_第3页
第3页 / 共18页
面向对象的程序设计第三阶段练习.docx_第4页
第4页 / 共18页
面向对象的程序设计第三阶段练习.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

面向对象的程序设计第三阶段练习.docx

《面向对象的程序设计第三阶段练习.docx》由会员分享,可在线阅读,更多相关《面向对象的程序设计第三阶段练习.docx(18页珍藏版)》请在冰豆网上搜索。

面向对象的程序设计第三阶段练习.docx

面向对象的程序设计第三阶段练习

江南大学网络教育第三阶段练习题

考试科目:

《面向对象的程序设计》第章至第章(总分100分)

__________学习中心(教学点)批次:

层次:

专业:

学号:

身份证号:

姓名:

得分:

 

一单选题(共8题,总分值8分,下列选项中有且仅有一个选项符合题目要求,请在答题卡上正确填涂。

1.在打开磁盘文件的访问方式常量中,(C)是以追加方式打开文件的。

(1分)

A.in

B.out

C.app

D.ate

2.catch(···)一般放在其他catch子句的后面,该子句的作用是(B)。

(1分)

A.抛掷异常

B.捕获所有类型的异常

C.检测并处理异常

D.有语法错误

3.建立类模板对象的实例化过程为(C)。

(1分)

A.基类-->派生类

B.构造函数-->对象

C.模板类-->对象

D.模板类-->模板函数

4.下列输出字符'A’的方法中,(B)是错误的。

(1分)

A.cout<<'A';

B.cout<<put('A');

C.cout.put('A');

D.char='A';cout<<a;

5.使用控制符进行格式输出时,应包含(C)文件。

(1分)

A.iostream.h

B.math.h

C.iomanip.h

D.fstream.h

6.下列选项中,用于清除基数格式位设置以八进制输出的语句是(C)。

(1分)

A.cout<<setf(ios:

:

dec,ios:

:

basefield);

B.cout<<setf(ios:

:

hex,ios:

:

basefield);

C.cout<<setf(ios:

:

oct,ios:

:

basefield);

D.cin>>setf(ios:

:

hex,ios:

:

basefield);

7.假定已定义整型变量data,以二进制方式把data的值写人输出文件流对象outfile中去,正确的语句是(C)。

(1分)

A.outfile.write((int*)&data,sizeof(int));

B.outfile.write((int*)&data,data);

C.outfile.write((char*)&data,sizeof(int));

D.outfile.write((char*)&data,data);

8.下列类中(A)不是输入输出流类iostream的基类。

(1分)

A.fstream

B.istream

C.ostream

D.ios

二多选题(共4题,总分值12分,下列选项中至少有2个或2个以上选项符合题目要求,请在答题卡上正确填涂。

9.下列的模板说明中,正确的是(AC)。

(3分)

A.template<typenameT1,typenameT2>

B.template<classT1,T2>

C.template(classT1,classT2)

D.template(typenameT1,T2)

10.下面(ABC)语句能把“Hello,students”赋值给一个字符数组string[50]。

(3分)

A.cin>>string;

B.cin.getline(string,80);

C.cin.get(string,40,'\n');

D.cin.get(string);

11.下列说法中错误的是(CD)。

(3分)

A.引发异常后,首先在引发异常的函数内部寻找异常处理过程

B.抛出异常是没有任何危险的

C.“抛出异常”和“捕捉异常”两种操作最好放在同一个函数中

D.异常处理过程在处理完异常后,可以通过带有参数的throw继续传播异常

12.下面(ABD)是标准模板库中的主要组件。

(3分)

A.容器

B.迭代器

C.文件

D.算法

三名词解释题(共2题,总分值4分)

13.模板类(2分)

14.类模板(2分)

 

四填空题(共15题,总分值30分)

15.使用文件流类库的程序必须用#include编译指令将头文件_fstream.H__包含进来。

(2分)

16.在小型程序开发中,一旦发生异常所采取的方法一般是_________________。

(2分)

17.最好用istream的函数和ostream的函数_________________、_________________分别来读/写二进制文件。

(2分)

18.当实际进行I/O操作时,cin与____标准输入_____________设备相关联。

(2分)

19.下列格式控制符,在iostream.h中定义的是_________________、_________________,在iomanip.h中定义的是_________________、_________________。

(2分)

20.STL迭代器主要包括5种基本类别:

_________________、_________________、_________________、_________________和_________________。

(2分)

21.如果预料某段程序(或对某个函数的调用)有可能发生异常,就将它放在

_________________中。

(2分)

22.按数据的存取方式来分类,文件可分为_________________和_________________。

(2分)

23.STL提供的容器是常用数据结构的_________________。

(2分)

24.打开文件就是使一个文件流对象与_________________相关联。

(2分)

25.在异常处理程序中发现异常,可以在_________________语句中再用throw语句抛出。

(2分)

26.如果异常类型声明是一个省略号(···),catch子句便处理_________________类型的异常,这段处理程序必须是catch块的最后一段处理程序。

(2分)

27.函数原型的抛出列表是一个空表,表示该函数

_________________任何类型的异常。

(2分)

28.重载函数模板便于定义_________________或者函数参数的类型、个数不相同所进行的_________________操作。

(2分)

29.关键字_________________是定义模板的关键字。

(2分)

 

五判断题(共10题,总分值10分正确的填涂“A”,错误的填涂“B”。

30.如果异常处理程序捕获到异常后,必须马上处理。

(1分)( B )

31.read()函数只能用于文本文件的操作中。

(1分)( B )

32.异常接口定义的异常参数表为空,表示可以引发任何类型的异常。

(1分)( B )

33.迭代器就是我们平时所用的指针。

(1分)( B )

34.一个异常可以是除类以外的任何类型。

(1分)( B )

35.函数write()是用来将一个字符串送到一种输出流中,但必须将一个字符串全部的字符都送到输出流中。

(1分)( B )

36.作为模板类型参数的关键字class,特别含义是“任何用户定义类的类型”。

(1分)( B )

37.在类模板的<模板参数表>中,可以使用函数类型参数,该参数与普通函数参数的用法和功效完全相同。

(1分)( B )

38.控制符本身是一种对象,它可以直接被提取符或插入符操作。

(1分)(A  )

39.当catch子句的异常类型声明参数被初始化后,将从对应的try块开始到异常被抛

掷处之间构造(且尚未析构)的所有自动对象进行析构。

(1分)(A  )

六综合题(共6题,总分值30分)

40.设计一个类模板,然后将该类模板实例化为整数型和字符型类。

利用类模板的成员函数为其数据成员赋值,并显示所赋给的值。

(5分)

41.#include<iostream>

#include<fstream>

usingnamespacestd;

intmain()

{

charbuf[80];

ofstreamoutfile;

outfile.open("data.txt");

if(!

outfile)

{

cout<<"Can'topenthefile"<endl;

exit

(1);

}

outfile<<"Hello,students!

"<<endl;

outfile<<"Welcomeyoutooop!

"<<endl;

outfile.close();

ifstreaminfile;

infile.open("data.txt");

if(!

infile)

{

cout<<"Can'topenthefile"<<endl;

exit

(1);

}

while(!

infile.eof())

{

infile.getline(buf,80);

cout<<buf<<endl;

}

infile.close();

return0;

}(5分)

42.编写一个程序来统计文件file.txt的字符个数。

(5分)

43.#include<iostream>

usingnamespacestd;

classNomilk

{

public:

Nomilk();

Nomilk(inthow_many);

intget_money();

private:

intcount;

};

intmain()

{

intmoney,milk;

doubledpg;

try

{

cout<<"Enternumberofmoney:

";

cin>>money;

cout<<"Enternumberofglassesofmilk:

";

cin>>milk;

if(milk<=0)

throwNomilk(money);

dpg=money/double(milk);

cout<<money<<"yuan"<<endl

<<milk<<"glassesofmilk."<<endl

<<"Youhave"<<dpg

<<"yuanforeachglassofmilk."<<endl;

}

catch(Nomilke)

{

cout<<e.get_money()<<"yuan,andNoMilk!

"<<endl

<<"Gobuysomemilk."<<endl;

}

cout<<"Endofprogram."<<endl;

return0;

}

Nomilk:

:

Nomilk()

{}

Nomilk:

:

Nomilk(inthow_many):

count(how_many)

{}

intNomilk:

:

get_money()

{

returncount;

}

写出当分别输人42和40两组数后的输出结果。

(5分)

44.从键盘输入x的值,计算y=ln(2x+1)的值,要求用异常处“负数求对数"的清况。

(5分)

45.按一行一行的方法将一个文本文件复制到另一个文件中。

(5分)

 

七简答题(共2题,总分值6分)

46.C++的异常处理机制有何优点?

(3分)

47.文本文件与二进制文件有什么区别?

并说明在什么情况下应该使用文本文件,在什么情况下使用二进制文件?

(3分)

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1