[计算机类试卷]国家二级C++机试(C++流)模拟试卷3及答案与解析.doc

上传人:hopesteam270 文档编号:497126 上传时间:2018-11-30 格式:DOC 页数:13 大小:44KB
下载 相关 举报
[计算机类试卷]国家二级C++机试(C++流)模拟试卷3及答案与解析.doc_第1页
第1页 / 共13页
[计算机类试卷]国家二级C++机试(C++流)模拟试卷3及答案与解析.doc_第2页
第2页 / 共13页
[计算机类试卷]国家二级C++机试(C++流)模拟试卷3及答案与解析.doc_第3页
第3页 / 共13页
[计算机类试卷]国家二级C++机试(C++流)模拟试卷3及答案与解析.doc_第4页
第4页 / 共13页
[计算机类试卷]国家二级C++机试(C++流)模拟试卷3及答案与解析.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、国家二级 C+机试( C+流)模拟试卷 3及答案与解析 一、选择题 1 下列语句分别是不同程序中的第一个输入输出语句,若去掉其中的 “ left”,输出效果将发生变化的是 ( )。 ( A) cout left setfill( *) 357; ( B) cout left setw( 5) 357; ( C) cout left setw( 5) “ABCDE“; ( D) cout left “ABCDE“: 2 假定下列语句都是程序运行后首次执行的输出语句,其中输出结果与另外 三条语句不同的语句是 ( )。 ( A) cout setfill( *) 123 setw( 9) 321;

2、( B) cout setfill( *) setw( 6) left 123 setw( 6) right 321; ( C) cout 123 setfill( *) setw( 6) 32 1; ( D) cout setfill( *) setw( 9) left 123 321; 3 有如下程序: #inc1ude iostream #inc1ude iomanip using namespace std; int main() int s=123, 234; cout right setfill(*) setw(6); for(int i=0; i 2; 1+) cout si e

3、ndl; retum 0; 运行时的输出结果是 ( )。 ( A) 123 ( B) *123 ( C) *123 ( D) *123234 234 *234 234* 4 下列控制格式输入输出的操作符中,能够设置浮点数精度的是 ( )。 ( A) set) recision ( B) setw ( C) setfill ( D) showpoint 5 有如下程序: #inc1ude iostream #inc1ude iomanip using namespace std; int main() cout setw(10) setfill(x) setprecision(8) left;

4、cout 12 3456793 _ 98765; return 0; 若程序的输出是 12 345679x98765xxxxx,则划线处缺失的部分是 ( )。 ( A) setw( 10) ( B) setfill( x) ( C) setprecision( 8) ( D) right 6 下列语句都是程序运行时的第 1条输出语句,其中一条语句的输出效果与其他三条语句不同,该语句是 ( )。 ( A) cout internal 12345; ( B) cout left 12345; ( C) cout right 12345; ( D) cout setw( 6) 12, 345; 7

5、有如下程序: #inc1ude iomanip #inc1ude iostream using namespace std; int main() cout setfill(*) setw(6) 123 456; return 0: 运行时的输出结果是 ( )。 ( A) *123*456 ( B) *l23456* ( C) *123456 ( D) 123456 8 下列控制对齐方式的操作符中,错误的是 ( )。 ( A) internal ( B) center ( C) left ( D) right 9 有如下程序: #inc1ude iostream #inc1ude iomani

6、p using namespace std; int main() cout setfill(#) setw(4) “OK“ 123 endl; retum 0; 运行这个程序的输出结果是 ( )。 ( A) #OK123 ( B) #OK#123 ( C) OK#123 ( D) OK#123# 10 若磁盘上己存在某个文本文件,其全路径文件名为 d: ncretest txt,下列语句中不能打开该文件的是 ( )。 ( A) ifstream file( “d: ncretest txt“); ( B) ifstream file( “d: ncretest txt“); ( C) ifs

7、tream file; file open( “d: ncretest txt“); ifstream( “d:ncretest txt“); ( D) ifstream* pFile=new 11 语句 ofstreamf( “SALARY DAT“, ios_base: app);的功能是建立流对象f,并试图打开文件 SALARY DAT与 f关联,而且 ( )。 ( A)若文件存在,将其置为空文件;若文件不存在,打开失败 ( B)若文件存 在,将文件指针定位于文件尾;若文件不存在,建立一个新文件 ( C)若文件存在,将文件指针定位于文件首;若文件不存在,打开失败 ( D)若文件存在,打开

8、失败;若文件不存在,建立一个新文件 12 如下函数的作用是以双倍行距输出文件: void double_space(ifstream&f, ofstream&t) char C; whilc(_) ; _ if(c= n)t put(c); 画线处缺失的部 分是 ( )。 ( A) f get( c)与 t put( c) ( B) f put( c)与 t get( c) ( C) t get( c)与 f put( c) ( D) t put( c)与 f get( c) 13 要利用 C+流进行文件操作,必须在程序中包含的头文件是 ( )。 ( A) iostream ( B) fstr

9、eam ( C) strstream ( D) iomanip 14 当使用 ofstream流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为 ( )。 ( A) ios base: in ( B) ios_base: binary ( C) ios_base: inlios base: out ( D) ios_base: out 15 要建立文件流并打开当前目录下的文件 file dat用于输入,下列语句中错误的是 ( )。 ( A) ifstream fin=ifstream open( “file dat“); ( B) ifstream *fin; new ifstrea

10、m( “file dat“); ( C) ifstream fin; fin open( “file dat“) ; ( D) ifstream *fin=new ifstream(); fin一 open( “file dat“); 16 当使用 ifstream流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为( )。 ( A) ios_base: in ( B) ios_base: in l ios_base: out ( C) ios_base: out ( D) ios_base: in&ios_base: out 17 在下列枚举符号中,用来表示 “相对于当前位置 ”文件

11、定位方式的是 ( )。 ( A) ios_base: cur ( B) ios_base: beg ( C) ios_base: out ( D) ios_ base: end 18 打开文件时可单独或组合使用下列文件打开模式 ( )。 ios_base: app ios_base: binary ios base: in ios base: out 若要以二迸制读方式打开一个文件,需使用的文件打开模式为 ( A) ( B) ( C) ( D) 19 下列关于文件流的描述中,正确的是 ( )。 ( A)文件流只能完成针对磁盘文件的输入和输出 ( B)建立一个文件流对象时,必须同时打开一个文件

12、( C)若输入流要打开的文件不存在,将建立一个新文件 ( D)若输出流要打开的文件不存在,将建立一个新文件 20 若目前 D盘根目录下并不存在 test txt文件,则下列打开文件方式不会自动创建 test txt文件的是 ( )。 ( A) ifstream fin; fin open( “d: test txt“, ios_base: in); ( B) fstream fio; fio open( “d: test txt“, ios_base: out); ( C) ofstream fout; fout open( “d: test txt“, ios_base: out); ( D

13、) ofstream fout; fout open( “d: test txt“, ios_base: app); 21 如需要向一个二进制文件尾部添加数据,则该文件的打开方式为 ( )。 ( A) ios_base: app ( B) ios_base: binaryl ios_base: out ( C) ios_ base: out ( D) ios_base: binaryI ios_base: app 22 有如下语句序列: ifstream infile(DATA DAT); if(infile good()) cout ”A; else COUt “B“; ofstream o

14、utfile(“DATA DAT“); if(outfile fail()) cout “C“; else cout “D“; 若执行这个语句序列显示的是 BD,则说明文件 DATA DAT( )。 ( A)以读方式打开成功 ( B)以读方式打开失败,但以写方式打开成功 ( C)以读方式打开失败,以写方式打开也失败 ( D)以读方式打开成功,以写方式打开也成功 国家二级 C+机试( C+流)模拟试卷 3答案与解析 一、选择题 1 【正确答案】 B 【试题解析】 此题考查的是 C+流。 setfill()作用是设置填充字符; left是使输出数据在指定宽度内左对齐: setw()的作用是设置输入

15、输出 宽度,且只对当前 次有效。 【知识模块】 C+流 2 【正确答案】 B 【试题解析】 按照选项 B的输出格式控制符输出的结果为 “l23*32l”,而按照选项 A)、 C)、 D)的输出格式控制符输出的结果为 “123*321”。 【知识模块】 C+流 3 【正确答案】 B 【试题解析】 在输出语句中定义了输出的格式是字符宽度为 6,并且向右对齐,不足的位用 *补齐。在 CH中,输出格式的设置只对第一次输出有效在完成了一个数据的输出后,宽度设置自动恢复为 0(表示按数据实 际宽度输出)。所以对于本题来说,在循环语句中输出数组 s0中的元素时,按照规定的格式输出,其结果为 *l23,当输出

16、 sl时,输出格式已经恢复到按数据实际宽度输出,所以此时输出为 234。 【知识模块】 C+流 4 【正确答案】 A 【试题解析】 setprecision( int n):设置浮点数的精度(有效位数或小数位数),等价函数调用: io precision( n)。 【知识模块】 C+流 5 【正确答案】 A 【试题解析】 根据程序输出的结果最后 5个位置用 x进行 填充,又因为 setw( 10)设置输出的宽度效果只对一次输出有效。所以划线处应该填写 setw( 10)。 【知识模块】 C+流 6 【正确答案】 D 【试题解析】 选项 A), B), C)都没有指输出数据的宽度,所以在输出时,

17、按实际字符的宽度输出,而选项 D)指定输出字符的宽度为 6,而实际输出的宽度等于 5,所以最后一个字符用空格补齐。 【知识模块】 C+流 7 【正确答案】 C 【试题解析】 在主函数中第一次输出时调用函数 setfill( *)设置填充字符为*,调用函数 setw( 6)设置每次输出的宽度为 6,所以第一次输出 123时,多余的三个空位用 *填充,即结果为 *l23,第二次从输出流中输出 456。 【知识模块】 C+流 8 【正确答案】 B 【试题解析】 对齐方式的控制操作符 left的含义是在设定的宽度内左对齐输出,右端填己设定的填充字符; right(此为默认设置)在设定的宽度内右对齐输出

18、:internal在设定的宽度内右对齐输出,但若有符号(一或 +),符号置于最左端。 【知识模块】 C+流 9 【正确答案】 A 【试题解析】 setfill是设置填充字符, setw设置输出的宽度,它们的作用表现在紧接着输出的字符串上。这个宽度是填充后的宽度。所以 cout setfill( #) setw,( 4) “OK“ 123中, setfill和 setw只作用在 “OK“,表示在“OK“前面填充 2个 撑。 【知识模块】 C+流 10 【正确答案】 A 【试题解析】 此题考查的是转义字符。在字符常量或字符串中,以 “ ”开头的一系列字符被看做是一个转义字符。要表示 “ ”字符,必

19、须使用转义字符 “ ”。 【知识模块】 C+流 11 【正确答案】 B 【试题解析】 此题考查的是文件打开模式。文件打开模式 iso_base: app是为添加数据而打开(总是在尾部写),故只有选项 B说法正确。 【知识模块】 C+流 12 【正确答案】 A 【试题解析】 此题考查的是文件流。 get()函数作用是读入一个字符,所以调用它的应该是输入文件流 ifstream对象 f: put()函数作用是输出一个字符,所以调用它的应该是输入文件流 ofstream对象 t,故选项 B、 C排除。读入和输出应该是有顺序的,应该先读入后输出, 所以前一空填 f get( c),后一空填 t put

20、( c)。 【知识模块】 C+流 13 【正确答案】 B 【试题解析】 要使用文件流对象进行针对磁盘文件的 I O操作,必须包含fstrem头文件。 【知识模块】 C+流 14 【正确答案】 D 【试题解析】 对于 ofstream,默认的打开方式是 ios base: out, ofstream只能用于输出,它没有提供任何用于输入的操作。 【知识模块】 C+流 15 【正确答案】 A 【试题解析】 在选项 A中,在 赋值号的左侧表示建立一个输入流对象 fin,而在赋值号的右侧的表达式不正确,因为文件输入流类 ifstream不能直接调用其成员函数 open。 【知识模块】 C+流 16 【正

21、确答案】 A 【试题解析】 对于 ifstream,默认打开模式是 ios base: in。 ifstream只能用于输入,它没有提供任何用于输出的操作。 【知识模块】 C+流 17 【正确答案】 A 【试题解析】 C+流的定位方式(也就是指针移动方式)有三种,被定义为ios_base: seek dir中的一组枚举符号: ios_base: beg相当于文件首; ios_ base: cur相当于当前位置(负数表示当前位置之前); ios_base: end相对于文件尾。 【知识模块】 C+流 18 【正确答案】 D 【试题解析】 模式 ios_base: binary作为二制进文件打开,

22、 ios_base: out为输出而打开文件。 【知识模块】 C+流 19 【正确答案】 D 【试题解析】 对于输入文件流类 ifstream,默认的打开模式是 ios_ base: in,当以这 种方式打开文件而文件又不存在时,通过 fail()可测试打开失败(返回值为true),对于输出文件流类 ofstream,默认的打开模式是 ios base: out,当以这种方式打开文件而文件又不存在时,将自动建立新文件。 【知识模块】 C+流 20 【正确答案】 A 【试题解析】 如果以 iso base: in模式打开文件但文件又不存在时,可以通过fail()测出文件打开失败,不会自动创建文件。 【知识模块】 C+流 21 【正确答案】 D 【试题解析】 ios_base: : binary模式是作为二进制文件打开, ios_base: app模式是作为添加数据而打开(总是在尾部写)。 【知识模块】 C+流 22 【正确答案】 B 【试题解析】 由这个语句序列显示的结果是 BD,说明执行了 cout “B“和cOut “D“语句。 【知识模块】 C+流

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

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

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