1、国家二级 C+机试( C+流)模拟试卷 5及答案与解析 一、选择题 1 在语句 cindata;中, cin是 ( )。 ( A) C+的关键字 ( B)类名 ( C)对象名 ( D)函数名 2 下列有关 C+流的叙述中,错误的是 ( )。 ( A) C+操作符 setw设置的输出宽度永久有效 ( B) C+操作符 end1可以实现输出的回车换行 ( C)处理文件 I O时,要包含头文件 fstream ( D)进行输入操作时, eof()函数用于检测是否到达文件尾 3 下列关于 C+流的描述中, 错误的是 ( )。 ( A) coutA表达式可输出字符 A ( B) eof()函数可以检测是
2、否到达文件尾 ( C)对磁盘文件进行流操作时,必须包含头文件 fstream ( D)以 ios_base: out模式打开的文件不存在时,将自动建立一个新文件 4 下列关于 C+预定义流对象的叙述中,正确的是 ( )。 ( A) cin是 C+预定义的标准输入流对象 ( B) cin是 C+预定义的标准输入流类 ( C) cout是 C+预定义的标准输入流对象 ( D) cout是 C+预定义的标准输入流类 5 要利用 C+流实现输入输出的各种格式控制,必须在程序中包含的头文件是( )。 ( A) fstream ( B) istreara ( C) ostream ( D) iomanip
3、 6 下列关于输入输出流的叙述中,正确的是 ( )。 ( A)一个文件流可以与一个数据文件相联系 ( B) cin是专门从键盘输入数据的输入流类 ( C)流运算符 称之为提取运算符,它的功能是从输入流中提取数据赋值给一个变量。 ”。 【知识模块】 C+流 8 【正确答案】 A 【试题解析】 此题考查的是 C+流的概念和 I O的格式化。 cin是类的对象,亦即输入流对象; ifstream是输入文件流类,不能定义一个输出流对象: C选项中最后输出的是字符串 “PQMN”: D选项中 x中字符串应该是 “Happy new year”。 【知识模块】 C+流 9 【正确答案】 A 【试题解析】
4、此题考查的是 getline()函数。 getline()函数的原型为:istream_type&getline(char_type*s,streamsize,char_type delim);。其功能是从当前输入位置开始提取字符存入 s所指向的具有 n个字节的字符空间中。遇到以下情况时停止:已提取并存储了 n 1个字符:到流尾,无字符可取;下一个要提取的字符等于结束标志字符 delim。故选项 B、 C、 D都是正确的。 getline()函数不仅可以用来读取键盘输入的字符串,还可以用来读取文件等数据流,故选项 A错误。 【知识模块】 C+流 10 【正确答案】 B 【试题解析】 此题考查的
5、是 C+流的操作符。在 C+流中,操作符 setw的作用是设置输入输出宽度。 【知识模块】 C+流 11 【正确答案】 C 【试题解析】 此题考查 C+流的使用。 setfill()作用是设置填充字符; left是使输出数据在指定宽度内左对齐: right是使输出数据在指定宽度内右对齐。 【知识模块】 C+流 12 【正确答案】 B 【试题解析】 按照选项 B的输出格式控制符输出的结果为 “123*321”,而按照选项 A、 C、 D的输出格式控制符输出的结果为 “123*321”。 【知识模块】 C+流 13 【正确答案】 A 【 试题解析】 setprecision(int n):设置浮点
6、数的精度 (有效位数或小数位数 ),等价函数调用: io precision(n)。 【知识模块】 C+流 14 【正确答案】 D 【试题解析】 选项 A, B, C都没有指输出数据的宽度,所以在输出时,按实际字符的宽度输出,而选项 D指定输出字符的宽度为 6,而实际输出的宽度等于 5,所以最后一个字符用空格补齐。 【知识模块】 C+流 15 【正确答案】 B 【试题解析】 对齐方式的控制操作符 left的含义是在设定的宽度内左对齐 输出,右端填已设定的填充字符; right(此为默认设置 )在设定的宽度内右对齐输出:internal在设定的宽度内右对齐输出,但若有符号 (或 +),符号置于最
7、左端。 【知识模块】 C+流 16 【正确答案】 A 【试题解析】 此题考查的是转义字符。在字符常量或字符串中,以 “ ”开头的一系列字符被看做是一个转义字符。要表示 “ ”字符,必须使用转义字符 “ ”。 【知识模块】 C+流 17 【正确答案】 A 【试题解析】 此题考查的是文件流。 get()函数作用是读入一个字符,所 以调用它的应该是输入文件流 ifstream对象 f: put()函数作用是输出一个字符,所以调用它的应该是输入文件流 ofstream对象 t,故选项 B、 C排除。读入和输出应该是有顺序的,应该先读入后输出,所以前一空填 f get(c),后一空填 t put(c)。
8、 【知识模块】 C+流 18 【正确答案】 D 【试题解析】 对于 ofstream,默认的打开方式是 ios_base: out, ofstream只能用于输出,它没有提供任何用于输入的操作。 【知识模块】 C+流 19 【正确答案 】 A 【试题解析】 对于 ifstream,默认打开模式是 ios_base: in。 ifstream只能用于输入,它没有提供任何用于输出的操作。 【知识模块】 C+流 20 【正确答案】 D 【试题解析】 模式 ios_base: binary作为二制进文件打开, ios_base: out为输出而打开文件。 【知识模块】 C+流 21 【正确答案】 A 【试题解析】 如果以 iso_base: in模式打开文件但文件又不存在时,可以通过fail()测出文件打开失败,不会 自动创建文件。 【知识模块】 C+流 22 【正确答案】 B 【试题解析】 由这个语句序列显示的结果是 BD,说明执行了 cout“B“和cout“D“语句。 【知识模块】 C+流