【计算机类职业资格】二级C++-114及答案解析.doc

上传人:eastlab115 文档编号:1323968 上传时间:2019-10-17 格式:DOC 页数:19 大小:89KB
下载 相关 举报
【计算机类职业资格】二级C++-114及答案解析.doc_第1页
第1页 / 共19页
【计算机类职业资格】二级C++-114及答案解析.doc_第2页
第2页 / 共19页
【计算机类职业资格】二级C++-114及答案解析.doc_第3页
第3页 / 共19页
【计算机类职业资格】二级C++-114及答案解析.doc_第4页
第4页 / 共19页
【计算机类职业资格】二级C++-114及答案解析.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

1、二级 C+-114 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:53,分数:100.00)1.模板对类型的参数化提供了很好的支持,因此_。(分数:1.00)A.类模板的主要作用是生成抽象类B.类模板实例化时,编译器将根据给出的模板实参生成一个类C.在类模板中的数据成员都具有同样类型D.类模板中的成员函数都没有返回值2.关于关键字 class 和 typename,下列表述中正确的是_。(分数:1.00)A.程序中的 typename 都可以替换为 classB.程序中的 class 都可以替换为 typenameC.在模板形参表中只能用 typename 来声明参

2、数的类型D.在模板形参表中只能用 class 或 typename 来声明参数的类型3.下列关于类模板的模板参数的叙述中,错误的是_。(分数:1.00)A.模板参数可以作为数据成员的类型B.模板参数可以作为成员函数的返回类型C.模板参数可以作为成员函数的参数类型D.模板参数不能作为成员函数的局部变量的类型4.下列模板声明中,有语法错误的是_。(分数:1.00)A.templatetypename TT fun(T x)return x;B.templatetypename TT fun(T x,int n)return x*n;C.templateclass TT fun(T *p)retur

3、n *p;D.templateclass TT ctassAT n;5.在定义一个类模板时,模板形参表是用一对括号括起来的,所采用的括号是_。(分数:1.00)A.()B.C.D.6.有如下模板声明: templatetypename T1,typename T2class A; 下列声明中,与上述声明不等价的是_。(分数:1.00)A.templateclass T1,class T2class A;B.templateclass T1,typename T2class A;C.templatetypename T1,class T2class A;D.templatetypename T1

4、,T2class A;7.若 MyTemp 是一个只有一个虚拟类型参数的类模板,且有如下语句序列 MyTempdoublep2; MyTemplongp32; 编译系统在处理上面的语句序列时,所生成的模板 MyTemp 的实例的个数是_。(分数:2.00)A.1B.2C.3D.08.下列关于模板的叙述中,错误的是_。(分数:2.00)A.调用模板函数时,有时可以省略模板实参B.函数模板的每个实例就是一个函数定义C.类模板的每个实例就是一个类定义D.类模板的实例是一个类对象9.下列类模板的定义中语法格式错误的是_。(分数:2.00)A.templateclass Tclass Buffer/*.

5、*/;B.templatetypename T,class Buffer/*.*/;C.templateclass T1,class T2class Buffer/*.*/;D.templateTclass Buffer/*.*/;10.下列关于 C+流的说明中,正确的是_。(分数:2.00)A.与键盘、屏幕、打印机和通信端口的交互都可以通过流类来实现B.从流中获取数据的操作称为插入操作,向流中添加数据的操作称为提取操作C.cin 是一个预定义的输入流类D.输出流有一个名为 open 的成员函数,其作用是生成一个新的流对象11.在语句 cindata;中,cin 是_。(分数:2.00)A.C

6、+的关键字B.类名C.对象名D.函数名12.如果利用 C+流进行输入输出,下面的叙述中正确的是_。(分数:2.00)A.只能借助于流对象进行输入输出B.只能进行格式化输入输出C.只能借助于 cin 和 cout 进行输入输出D.只能使用运算符和进行输入输出13.下列有关 C+流的叙述中,错误的是_。(分数:2.00)A.C+操作符 setw 设置的输出宽度永久有效B.C+操作符 endl 可以实现输出的回车换行C.处理文件 I/O 时,要包含头文件 fstreamD.进行输入操作时,eof()函数用于检测是否到达文件尾14.在语句“cout“A“;”中,cout 是_。(分数:2.00)A.类

7、名B.对象名C.函数名D.C+的关键字15.下列关于 C+流的描述中,错误的是_。(分数:2.00)A.cout“A表达式可输出字符 AB.eof()函数可以检测是否到达文件尾C.对磁盘文件进行流操作时,必须包含头文件 fstreamD.以 ios_base:out 模式打开的文件不存在时,将自动建立一个新文件16.在 C+中,cin 是一个_。(分数:2.00)A类B.对象C.模板D.函数17.下列关于 C+预定义流对象的叙述中,正确的是_。(分数:2.00)A.cin 是 C+预定义的标准输入流对象B.cin 是 C+预定义的标准输入流类C.cout 是 C+预定义的标准输入流对象D.co

8、ut 是 C+预定义的标准输入流类18.C+系统预定了 4 个用于标准数据流的对象,下列选项中不属于此类对象的是_。(分数:2.00)A.coutB.cinC.cerrD.cset19.要利用 C+流实现输入输出的各种格式控制,必须在程序中包含的头文件是_。(分数:2.00)A.fstreamB.istrearaC.ostreamD.iomanip20.在 C+中,打开一个文件时与该文件建立联系的是_。(分数:2.00)A.流对象B.模板C.函数D类21.下列关于输入输出流的叙述中,正确的是_。(分数:2.00)A.一个文件流可以与一个数据文件相联系B.cin 是专门从键盘输入数据的输入流类C

9、.流运算符用来从输入流中读取数据D.宽度设置的效果永久有效22.在 C+中既可以用于文件输入又可以用于文件输出的流类是_。(分数:2.00)A.fstreamB.ifstreamC.ofstreamD.iostream23.对于语句 coutendlx;中的各个组成部分,下列叙述中错误的是_。(分数:2.00)A.“cout“是一个输出流对象B.“endl“的作用是输出回车换行C.“x“是一个变量D.“称作提取运算符24.有如下程序: #includeiostream using namespace std; int main() cout.fill(“*“); cout.width(6);

10、cout.fill(“#“); cout123endl; return 0; 执行后的输出结果是_。(分数:2.00)A.#123B.123#C.*123D.123*25.下面关于 C+流的叙述中,正确的是_。(分数:2.00)A.cin 是一个输入流对象B.可以用 ifstream 定义一个输出流对象C.执行语句序列 char*y=“PQMN“;couty;将输出字符串”PQMN”的地址D.执行语句序列 char x80;cin.getline(x,80);时,若键入 Happy new year 则 x 中的字符串是“Happy“26.有如下程序: #includeiostream #in

11、cludeiomanip using namespace std; int main() cout.fill(“*“); coutleftsetw(4)123“OK“endl; return 0; 执行这个程序的输出结果是_。(分数:2.00)A.123*OKB.123*OK*C.*123OKD.*123*OK27.下列关于输入流类成员函数 getline()的描述中,错误的是_。(分数:2.00)A.该函数是用来读取键盘输入的字符串的B.该函数读取的字符串长度是受限制的C.该函数读取字符串时,遇到终止符便停止D.该函数读取字符串时,可以包含空格28.有如下程序 #includeiostrea

12、m #includeiomanip using namespace std; int main() coutsetprecision(3)fixedsetfill(“*“)setw(8); cout12.345_34.567; return 0; 若程序的输出是: *12.345*34.567 则程序中下划线处遗漏的操作符是_。(分数:2.00)A.setprecision(3)B.fixedC.setfill(“*“)D.setw(8)29.使用输入输出操作符 setw,可以控制_。(分数:2.00)A.输出精度B.输出宽度C.对齐方式D.填充字符30.已知一程序运行后执行的第一个输出操作是

13、_。 coutsetw(10)setfill(“*“)1234; 则此操作的输出结果是(分数:2.00)A.1234B.*1234C.*1234D.1234*31.有如下 4 个语句: cout“A“setfill(“*“)leftsetw(7)“B“endl; coutsetfill(“*“)leftsetw(7)“A“B“endl; cout“A“serfill(“*“)rightsetw(7)“B“endl; coutsetfill(“*“)rightsetw(7)“A“B“endl; 其中能显示 A*B 的是_。(分数:2.00)A.和B.和C.和D.和32.下列语句分别是不同程序中的

14、第一个输入输出语句,若去掉其中的“left”,输出效果将发生变化的是_。(分数:2.00)A.coutleftsetfill(“*“)357;B.coutleftsetw(5)357;C.coutleftsetw(5)“ABCDE“;D.coutleft“ABCDE“;33.假定下列语句都是程序运行后首次执行的输出语句,其中输出结果与另外三条语句不同的语句是_。(分数:2.00)A.coutsetfill(“*“)123setw(9)321;B.coutsetfill(“*“)setw(6)left123setw(6)right321;C.cout123setfill(“*“)setw(6)3

15、21;D.coutsetfill(“*“)setw(9)left123321;34.有如下程序: #includeiostream #includeiomanip using namespace std; int main() int s=123,234; coutrightsetfill(“*“)setw(6); for(int i=0;i2;i+)coutsiendl; return 0; 运行时的输出结果是_。(分数:2.00)A.123234B.*123234C.*123*234D.*123234*35.下列控制格式输入输出的操作符中,能够设置浮点数精度的是_。(分数:2.00)A.s

16、etprecisionB.setwC.setfillD.showpoint36.有如下程序: #includeiostream #includeiomanip using namespace std; int main() coutsetw(10)setfill(“x“)setprecision(8)left; cout12.3456793_98765; return 0; 若程序的输出是 12.345679x98765xxxxx,则划线处缺失的部分是_。(分数:2.00)A.setw(10)B.setfill(“x“)C.setprecision(8)D.right37.下列语句都是程序运行

17、时的第 1 条输出语句,其中一条语句的输出效果与其他三条语句不同,该语句是_。(分数:2.00)A.coutinternal12345;B.coutleft12345;C.coutright12345;D.coutsetw(6)12345;38.有如下程序: #includeiomanip #includeiostream using namespace std; int main() coutsetfill(“*“)setw(6)123456; return 0; 运行时的输出结果是_。(分数:2.00)A.*123*456B.*123456*C.*123456D.12345639.下列控制

18、对齐方式的操作符中,错误的是_。(分数:2.00)A.internalB.centerC.leftD.right40.有如下程序: #includeiostream #includeiomanip using namespace std; int main() coutsetfill(“#“)setw(4)“OK“123endl; return 0; 运行这个程序的输出结果是_。(分数:2.00)A.#OK123B.#OK#123C.OK#123D.OK#123#41.若磁盘上己存在某个文本文件,其全路径文件名为 d:/ncre/test.txt,下列语句中不能打开该文件的是_。(分数:2.0

19、0)A.ifstream file(“d:/ncre/test.txt“);B.ifstream file(“d:/ncre/test.txt“);C.ifstream file;file.open(“d:/ncre/test.txt“);ifstream(“d:/ncre/test.txt“);D.ifstream*pFile=new42.语句 ofstream f(“SALARY.DAT“,ios_base:app);的功能是建立流对象 f,并试图打开文件SALARY.DAT 与 f 关联,而且_。(分数:2.00)A.若文件存在,将其置为空文件;若文件不存在,打开失败B.若文件存在,将文

20、件指针定位于文件尾;若文件不存在,建立一个新文件C.若文件存在,将文件指针定位于文件首;若文件不存在,打开失败D.若文件存在,打开失败;若文件不存在,建立一个新文件43.如下函数的作用是以双倍行距输出文件: void double space(ifstream whilc(_) ;_ if(c=“/n“)t.put(c); 画线处缺失的部分是_。(分数:2.00)A.get(c)与 t.put(c)B.put(c)与 t.get(c)C.get(c)与 f.put(c)D.put(c)与 f.get(c)44.要利用 C+流进行文件操作,必须在程序中包含的头文件是_。(分数:2.00)A.io

21、streamB.fstreamC.strstreamD.iomanip45.当使用 ofstream 流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为_。(分数:2.00)A.ios base:inB.ios_base:binaryC.ios_base:in|ios_base:outD.ios_base:out46.要建立文件流并打开当前目录下的文件 file.dat 用于输入,下列语句中错误的是_。(分数:2.00)A.ifstream fin=ifstream.open(“file.dat“);B.ifstream*fin=new ifstream(“file.dat“);C.

22、ifstream fin;fin.open(“file.dat“);D.ifstream*fin=new ifstream();fin-open(“file.dat“);47.当使用 ifstream 流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为_。(分数:2.00)A.ios_base:inB.ios_base:in | ios_base:outC.ios_base:outD.ios_base:in fin.open(“d:/test.txt“,ios_base:in);B.fstream fio;fio.open(“d:/test.txt“,ios_base:out);C.

23、ofstream fout;four.open(“d:/test.txt“,ios_base:out);D.ofstream fout;fout.open(“d:/test.txt“,ios_base:app);52.如需要向一个二进制文件尾部添加数据,则该文件的打开方式为_。(分数:2.00)A.ios_base:appB.ios_base:binary | ios_base:outC.ios_base:outD.ios_base:binary | ios_base:app53.有如下语句序列: ifstream infile(“DATA.DAT“); if(infile.good()cou

24、t“A“; else cout“B“; ofstream outfile(“DATA.DAT“); if(outfile.fail()cout“C“;else cout“D“; 若执行这个语句序列显示的是 BD,则说明文件 DATA.DAT_。(分数:2.00)A.以读方式打开成功B.以读方式打开失败,但以写方式打开成功C.以读方式打开失败,以写方式打开也失败D.以读方式打开成功,以写方式打开也成功二级 C+-114 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:53,分数:100.00)1.模板对类型的参数化提供了很好的支持,因此_。(分数:1.00)A.类模板的主

25、要作用是生成抽象类B.类模板实例化时,编译器将根据给出的模板实参生成一个类 C.在类模板中的数据成员都具有同样类型D.类模板中的成员函数都没有返回值解析:解析 此题考查了类模板的概念。在定义对象的过程中,系统会自动地根据需要生成相应的类定义,这种依据类模板生成具体类的过程称为类模板的实例化。2.关于关键字 class 和 typename,下列表述中正确的是_。(分数:1.00)A.程序中的 typename 都可以替换为 class B.程序中的 class 都可以替换为 typenameC.在模板形参表中只能用 typename 来声明参数的类型D.在模板形参表中只能用 class 或 t

26、ypename 来声明参数的类型解析:解析 此题考查的是 class 和 typename 两个关键字。关键字 class 除了能用来定义类以外还能用来声明模板的虚拟类型参数。在用作声明虚拟类型参数时 typename 与 class 可以互换,但不能使用typename 来定义类;在模板形参表中除了可以用 typename 和 class 声明虚拟类型参数外,还可以使用普通类型声明常规函数,故选项 C 错误。3.下列关于类模板的模板参数的叙述中,错误的是_。(分数:1.00)A.模板参数可以作为数据成员的类型B.模板参数可以作为成员函数的返回类型C.模板参数可以作为成员函数的参数类型D.模板

27、参数不能作为成员函数的局部变量的类型 解析:解析 此题考查的是模板参数。模板参数是一种参数化的数据模型,在模板类或模板函数中,只要使用数据类型的地方都能使用模板参数来代表一种未知的数据类型。所以,模板参数可以作为成员函数的局部变量类型。4.下列模板声明中,有语法错误的是_。(分数:1.00)A.templatetypename TT fun(T x)return x;B.templatetypename TT fun(T x,int n)return x*n;C.templateclass TT fun(T *p)return *p;D.templateclass TT ctassAT n;

28、解析:解析 第四个选项是定义类模板的,但是 class 前面的 T 是多余的。对于第二个选项,同一个类的对象相乘还是同一个类的对象,但是可能要考虑溢出的问题。5.在定义一个类模板时,模板形参表是用一对括号括起来的,所采用的括号是_。(分数:1.00)A.()B.C. D.解析:解析 声明一个类模板的格式是:template模板形参声明类声明。6.有如下模板声明: templatetypename T1,typename T2class A; 下列声明中,与上述声明不等价的是_。(分数:1.00)A.templateclass T1,class T2class A;B.templateclass

29、 T1,typename T2class A;C.templatetypename T1,class T2class A;D.templatetypename T1,T2class A; 解析:解析 在类模板中,数据类型本身成了它的参数,因而是一种参数化类型的类,是类的生成器。声明一个类模板的格式是:template模板形参表声明类声明,模板形参表声明是由一个或多个模板形参组成。对于本题来说,模板形参表中包括类型 T1 和 T2 两个类型参数,而在选项 D 中 T1说明其类型,而 T2 没有说明其类型,与题干中的模板说明不一致。7.若 MyTemp 是一个只有一个虚拟类型参数的类模板,且有如下

30、语句序列 MyTempdoublep2; MyTemplongp32; 编译系统在处理上面的语句序列时,所生成的模板 MyTemp 的实例的个数是_。(分数:2.00)A.1B.2C.3 D.0解析:解析 p2 是一个 double 型的 MyTemp,p32是一个 long 型 MyTemp 数组,其中包括两个元素。所以共有 3 个 MyTemp 的实例。8.下列关于模板的叙述中,错误的是_。(分数:2.00)A.调用模板函数时,有时可以省略模板实参B.函数模板的每个实例就是一个函数定义C.类模板的每个实例就是一个类定义D.类模板的实例是一个类对象 解析:解析 在定义对象的过程中,编译系统会

31、自动地根据需要生成相应的类定义,这种依据类模板生成类定义的过程称为类模板的实例化。类模板实例化所生成的每一个类定义就是相应类模板的一个实例。9.下列类模板的定义中语法格式错误的是_。(分数:2.00)A.templateclass Tclass Buffer/*.*/;B.templatetypename T,class Buffer/*.*/;C.templateclass T1,class T2class Buffer/*.*/;D.templateTclass Buffer/*.*/; 解析:解析 定义类模板的一般形式是: template类型名参数名 1,类型名参数名 2, class

32、 类名 类声明体; 模板的类型参数由关键字 class 或关键字 typename 及其后的标识符构成。在模板参数表中关键字 class和 typename 的意义相同。10.下列关于 C+流的说明中,正确的是_。(分数:2.00)A.与键盘、屏幕、打印机和通信端口的交互都可以通过流类来实现 B.从流中获取数据的操作称为插入操作,向流中添加数据的操作称为提取操作C.cin 是一个预定义的输入流类D.输出流有一个名为 open 的成员函数,其作用是生成一个新的流对象解析:解析 此题考查的是 C+流的概念。从输入流中提取数据称为提取操作,把表达式插入到输出流中的操作称为插入操作,故选项 B 错误;

33、cin 是一个预定义的输入流对象而不是流类,故选项 C 错误;输入输出流中没有 open 成员函数,故选项 D 错误。11.在语句 cindata;中,cin 是_。(分数:2.00)A.C+的关键字B.类名C.对象名 D.函数名解析:解析 此题考查的是预定义流对象。C+有 4 个预定义的流对象:cin标准输入;cout标准输出;cerr准出错信息输出;clog带缓冲的标准出错信息输出。12.如果利用 C+流进行输入输出,下面的叙述中正确的是_。(分数:2.00)A.只能借助于流对象进行输入输出 B.只能进行格式化输入输出C.只能借助于 cin 和 cout 进行输入输出D.只能使用运算符和进

34、行输入输出解析:解析 此题考查的知识点是 C+流。利用 C+流既可以进行有格式输入输出,也可以进行无格式输入输出,所以选项 B 错误;C+的 4 个预定义的流对象为:cin标准输入,cout标准输出,cerr标准出错信息输出,clog带缓冲的标准出错信息输出,选项 C 错误;C+流除了可以使用提取“”插入“”进行输入输出外,还可以通过流对象的一些成员函数进行输入输出,故选项 D 错误。13.下列有关 C+流的叙述中,错误的是_。(分数:2.00)A.C+操作符 setw 设置的输出宽度永久有效 B.C+操作符 endl 可以实现输出的回车换行C.处理文件 I/O 时,要包含头文件 fstrea

35、mD.进行输入操作时,eof()函数用于检测是否到达文件尾解析:解析 此题考查的是 C+流。C+操作符 setw()的作用是设置输入输出宽度,且只对当前一次有效,并非永久有效,故选项 A 叙述错误。14.在语句“cout“A“;”中,cout 是_。(分数:2.00)A.类名B.对象名 C.函数名D.C+的关键字解析:解析 C+有四个预定义的流对象:cin 标准输,cout 标准输出,cerr 标准出错信息输出,clog带缓冲的标准出错信息输出。15.下列关于 C+流的描述中,错误的是_。(分数:2.00)A.cout“A表达式可输出字符 A B.eof()函数可以检测是否到达文件尾C.对磁盘

36、文件进行流操作时,必须包含头文件 fstreamD.以 ios_base:out 模式打开的文件不存在时,将自动建立一个新文件解析:解析 cout 是一个标准输出流对象。称之为提取运算符,它的功能是从输入流中提取数据赋值给一个变量。为插入运算符,其功能是把表达式的值插入到输出流中。当系统执行 coutx 操作时,首先根据 x 值的类型调用相应的插入运算符重载器函数,把 x 的值传送给对应的形参,接着执行函数体,把 x 的值输出到显示器屏幕上,在当前屏幕光标位置处显示出来,然后返回 ostream 流,以便继续使用插入运算符输出下一个表达式的值。对于本题来说,要输出字符A的值应该写成 cout“

37、A“。因而选项 A 是错误的。16.在 C+中,cin 是一个_。(分数:2.00)A类B.对象 C.模板D.函数解析:解析 cin 为 istream 流类的对象。17.下列关于 C+预定义流对象的叙述中,正确的是_。(分数:2.00)A.cin 是 C+预定义的标准输入流对象 B.cin 是 C+预定义的标准输入流类C.cout 是 C+预定义的标准输入流对象D.cout 是 C+预定义的标准输入流类解析:解析 cin 为 istream 流类的标准输入对象,标准输入设备就是指键盘。18.C+系统预定了 4 个用于标准数据流的对象,下列选项中不属于此类对象的是_。(分数:2.00)A.co

38、utB.cinC.cerrD.cset 解析:解析 C+流有 4 个预定义的流对象,它们分别是:cin 标准输入;cout 标准输出;cerr 标准出错信息输出;clog 带缓冲的标准出错信息输出。19.要利用 C+流实现输入输出的各种格式控制,必须在程序中包含的头文件是_。(分数:2.00)A.fstreamB.istrearaC.ostreamD.iomanip 解析:解析 要使用 setw、fixed 等操作符,须包含 iomanip 这个文件。20.在 C+中,打开一个文件时与该文件建立联系的是_。(分数:2.00)A.流对象 B.模板C.函数D类解析:解析 在 C+中,打开一个文件时

39、与该文件建立联系的是流对象。21.下列关于输入输出流的叙述中,正确的是_。(分数:2.00)A.一个文件流可以与一个数据文件相联系 B.cin 是专门从键盘输入数据的输入流类C.流运算符用来从输入流中读取数据D.宽度设置的效果永久有效解析:解析 当程序与外界环境进行信息交换时,存在着两个对象,一个是程序中的流对象,另一个是文件对象。程序建立一个流对象,并指定这个流对象与某个文件对象建立连接,程序操作流对象,流对象通过文件系统对所连接的文件对象产生作用。22.在 C+中既可以用于文件输入又可以用于文件输出的流类是_。(分数:2.00)A.fstream B.ifstreamC.ofstreamD

40、.iostream解析:解析 文件流以磁盘文件以及其他可按文件方式进行管理的外部设备为输入输出对象。ifstream是文件输入流类,ofstream 是文件输出流类,fstream 是文件输入输出流类,当使用 cin、cout 的预定义流对象进行针对标准设备的 I/O 操作,则需要使用 iostream 文件。23.对于语句 coutendlx;中的各个组成部分,下列叙述中错误的是_。(分数:2.00)A.“cout“是一个输出流对象B.“endl“的作用是输出回车换行C.“x“是一个变量D.“称作提取运算符 解析:解析 此题考查的是 C+语言的输出流。符号“”是预定义插入符,提取运算符是“”

41、。24.有如下程序: #includeiostream using namespace std; int main() cout.fill(“*“); cout.width(6); cout.fill(“#“); cout123endl; return 0; 执行后的输出结果是_。(分数:2.00)A.#123 B.123#C.*123D.123*解析:解析 此题考查的是 I/O 格式化输出。函数 width(int n)设置输入输出宽度,当实际数据宽度小于制定的宽度时,多余的位置用填充字符填满;当实际数据宽度大于设置的宽度时,仍按实际宽度输出;函数 fill(char c)用来设置填充字符。

42、25.下面关于 C+流的叙述中,正确的是_。(分数:2.00)A.cin 是一个输入流对象 B.可以用 ifstream 定义一个输出流对象C.执行语句序列 char*y=“PQMN“;couty;将输出字符串”PQMN”的地址D.执行语句序列 char x80;cin.getline(x,80);时,若键入 Happy new year 则 x 中的字符串是“Happy“解析:解析 此题考查的是 C+流的概念和 I/O 的格式化。cin 是类的对象,亦即输入流对象;ifstream是输入文件流类,不能定义一个输出流对象;C 选项中最后输出的是字符串“PQMN”;D 选项中 x 中字符串应该是

43、“Happy new year”。26.有如下程序: #includeiostream #includeiomanip using namespace std; int main() cout.fill(“*“); coutleftsetw(4)123“OK“endl; return 0; 执行这个程序的输出结果是_。(分数:2.00)A.123*OK B.123*OK*C.*123OKD.*123*OK解析:解析 此题考查了输出流的格式控制。cout 的 fill()是设置填充字符;left 和 endl 分别是使输出数据左对齐和换行;setw()函数的作用是设置输入输出的宽度,此设置效果只

44、对以此输入或输出有效。此题中,输出整数 123 时宽度为 4 且左对齐,得到“123*”;输出字符串“OK”时宽度没有定义实际大小输出,结果得到 OK;故最后得到的输出结果是 123*OK。27.下列关于输入流类成员函数 getline()的描述中,错误的是_。(分数:2.00)A.该函数是用来读取键盘输入的字符串的 B.该函数读取的字符串长度是受限制的C.该函数读取字符串时,遇到终止符便停止D.该函数读取字符串时,可以包含空格解析:解析 此题考查的是 getline()函数。getline()函数的原型为:istream_type。其功能是从当前输入位置开始提取字符存入 s 所指向的具有 n

45、 个字节的字符空间中。遇到以下情况时停止:已提取并存储了 n-1 个字符;到流尾,无字符可取;下一个要提取的字符等于结束标志字符 delim。故选项 B、C、D 都是正确的。getline()函数不仅可以用来读取键盘输入的字符串,还可以用来读取文件等数据流,故选项 A 错误。28.有如下程序 #includeiostream #includeiomanip using namespace std; int main() coutsetprecision(3)fixedsetfill(“*“)setw(8); cout12.345_34.567; return 0; 若程序的输出是: *12.345*34.567 则程序中下划线处遗漏的操作符是_。(分数:2.00)A.setprecision(3)B.fixedC.setfill(“*“)D.setw(8) 解析:解析 此题考查的是输出函数的格式控制。此题中,操作符 setrlrecision 的作用是设置浮点数的精度;fixed 的作用是让浮点数按定点格式输出;setfill 的作用是设置填充字符;setw 的作用是设置输入输出的宽度,一次有效的设置。下划线处应填一个让 34.567 的输出宽度为 8 的操作符,即 setw(8)。29.使用输入输出操作符 setw,可以控制_。(分数:2.00)A.输出精度B.

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

当前位置:首页 > 考试资料 > 职业资格

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