ImageVerifierCode 换一换
格式:DOC , 页数:7 ,大小:52KB ,
资源ID:1331709      下载积分:5000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1331709.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(【计算机类职业资格】国家二级C++机试(C++流)模拟试卷7及答案解析.doc)为本站会员(李朗)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

【计算机类职业资格】国家二级C++机试(C++流)模拟试卷7及答案解析.doc

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

2、9)321;B.coutsetfill(*)setw(6)left123setw(6)right321;C.cout123setfill(*)setw(6)321;D.coutsetfill(*)setw(9)left123321;3.有如下程序: # inc1ude iostream #inc1ude iomanip using namespace std; int main() int s=123, 234; coutrightsetfill(*)setw(6); for(int l=0; 12; 1+) coutsiend1; return 0: 运行时的输出结果是( )。(分数:2.0

3、0)A.123 234B.*123 234C.*123 *234D.*123 234*4.下列控制格式输入输出的操作符中,能够设置浮点数精度的是( )。(分数:2.00)A.setprecisionB.setwC.setfillD.showpoint5.有如下程序: #inc1ude iostream #inc1ude iomanip using namespace std; int main() coutsetw(10)setfill(x)setprecision(8)left; cout123456793_98765; return 0; 若程序的输出是12345679x98765xxxx

4、x,则划线处缺失的部分是( )。(分数:2.00)A.setw(10)B.setfill(x)C.setprecision(8)D.right6.下列语句都是程序运行时的第 1 条输出语句,其中一条语句的输出效果与其他三条语句不同,该语句是( )。(分数:2.00)A.coutinternal12345;B.coutleft12345;C.coutright12345;D.coutsetw(6)12345;7.有如下程序: #inc1ude iomanip #inc1ude iostream using namespace std; int main() coutsetfill(*)setw(

5、6)123456; return 0; 运行时的输出结果是( )。(分数:2.00)A.*123*456B.*123456*C.*123456D.1234568.下列控制对齐方式的操作符中,错误的是( )。(分数:2.00)A.intemalB.centerC.leftD.right9.有如下程序: #inc1udeiostream #inc1udeiomanip using namespace std; int main() coutsetfill(#)setw(4)“OKf123end1; return (); 运行这个程序的输出结果是( )。(分数:2.00)A.#OK123B.#OK#

6、123C.OK#123D.OK#123#10.若磁盘上已存在某个文本文件,其全路径文件名为 d:/ncre/testtxt,下列语句中不能打开该文件的是( )。(分数:2.00)A.ifstream file(“d:/ncre/testtxt“);B.ifstream file(“d:/ncre/testtxt“);C.ifstream file; fileopen(“d:/ncre/testtxt“); ifstream(“d:/ncre/testtxt“);D.ifstream* pFile=new11.语句 ofstreamf(“SALARYDAT“,ios base:app);的功能是

7、建立流对象 f,并试图打开文件 SALARYDAT与 f 关联,而且( )。(分数:2.00)A.若文件存在,将其置为空文件;若文件不存在,打开失败B.若文件存在,将文件指针定位于文件尾;若文件不存在,建立一个新文件C.若文件存在,将文件指针定位于文件首;若文件不存在,打开失败D.若文件存在,打开失败;若文件不存在,建立一个新文件12.如下函数的作用是以双倍行距输出文件: void double_space(ifstreamC.ifstream fin; finopen(“filedat“);D.ifstream *fin=new ifstream(); finopen(“filedat“);

8、16.当使用 ifstream 流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为( )。(分数:2.00)A.ios_base:inB.ios_base:in lios_base:outC.ios_base:outD.ios_base:in finopen(“d:/testtxt“,ios_base:in);B.fstream fio; fioopen(“d:/testtxt“,ios_base:out);C.ofstream fout; foutopen(“d:/testtxt“,ios_base:out);D.ofstream fout; foutopen(“d:/testtx

9、t“,ios_base:app);21.如需要向一个二进制文件尾部添加数据,则该文件的打开方式为( )。(分数:2.00)A.ios_base:appB.ios_base:binary|ios_base:outC.ios_base:outD.ios_base:binary|ios_base:app22.有如下语句序列: ifstream infile(“DATADAT“); if(infilegood()cout“A“; else COUt“B“; ofstream outfile(“DATADAT“); if(outfilefail()cout“C“;else cout“D“; 若执行这个语

10、句序列显示的是 BD,则说明文件 DATADAT( )。(分数:2.00)A.以读方式打开成功B.以读方式打开失败,但以写方式打开成功C.以读方式打开失败,以写方式打开也失败D.以读方式打开成功,以写方式打开也成功国家二级 C+机试(C+流)模拟试卷 7 答案解析(总分:44.00,做题时间:90 分钟)一、选择题(总题数:22,分数:44.00)1.下列语句分别是不同程序中的第一个输入输出语句,若去掉其中的“left”,输出效果将发生变化的是( )。(分数:2.00)A.coutleftsetfill(*)357;B.coutleftsetw(5)357; C.coutleftsetw(5)

11、ABCDE“;D.coutleft“ABCDE“;解析:解析:此题考查的是 C+流。ssetfill()作用是设置填充字符;left 是使输出数据在指定宽度内左对齐:setw()的作用是设置输入输出宽度,且只对当前一次有效。2.假定下列语句都是程序运行后首次执行的输出语句,其中输出结果与另外三条语句不同的语句是( )。(分数:2.00)A.coutsetfill(*)123setw(9)321;B.coutsetfill(*)setw(6)left123setw(6)right321; C.cout123setfill(*)setw(6)321;D.coutsetfill(*)setw(9)

12、left123321;解析:解析:按照选项 B 的输出格式控制符输出的结果为“l23*32l”,而按照选项 A)、C)、D)的输出格式控制符输出的结果为“123*321”。3.有如下程序: # inc1ude iostream #inc1ude iomanip using namespace std; int main() int s=123, 234; coutrightsetfill(*)setw(6); for(int l=0; 12; 1+) coutsiend1; return 0: 运行时的输出结果是( )。(分数:2.00)A.123 234B.*123 234 C.*123 *

13、234D.*123 234*解析:解析:在输出语句中定义了输出的格式是字符宽度为 6,并且向右对齐,不足的位用补齐。在 C+中,输出格式的设置只对第一次输出有效,在完成了一个数据的输出后,宽度殴置自动恢复为 0(表示按数据实际宽度输出)。所以对于本题来说,在循环语句中输出数组 s0中的元素时,按照规定的格式输出,其结果为123,当输出 s1时,输出格式已经恢复到按数据实际宽度输出,所以此时输出为234。4.下列控制格式输入输出的操作符中,能够设置浮点数精度的是( )。(分数:2.00)A.setprecision B.setwC.setfillD.showpoint解析:解析:setpreci

14、sion(int n):设置浮点数的精度(有效位数或小数位数),等价函数调用:ioprecision(n)。5.有如下程序: #inc1ude iostream #inc1ude iomanip using namespace std; int main() coutsetw(10)setfill(x)setprecision(8)left; cout123456793_98765; return 0; 若程序的输出是12345679x98765xxxxx,则划线处缺失的部分是( )。(分数:2.00)A.setw(10) B.setfill(x)C.setprecision(8)D.righ

15、t解析:解析:根据程序输出的结果最后 5 个位置用 x 进行填充,又因为 setw(10)设置输出的宽度效果只对一次输出有效。所以划线处应该填写 setw(10)。6.下列语句都是程序运行时的第 1 条输出语句,其中一条语句的输出效果与其他三条语句不同,该语句是( )。(分数:2.00)A.coutinternal12345;B.coutleft12345;C.coutright12345;D.coutsetw(6)12345; 解析:解析:选项 A),B),C)都没有指输出数据的宽度,所以在输出时,按实际字符的宽度输出,而选项 D)指定输出字符的宽度为 6,而实际输出的宽度等于 5,所以最后

16、一个字符用空格补齐。7.有如下程序: #inc1ude iomanip #inc1ude iostream using namespace std; int main() coutsetfill(*)setw(6)123456; return 0; 运行时的输出结果是( )。(分数:2.00)A.*123*456B.*123456*C.*123456 D.123456解析:解析:在主函数中第一次输出时调用函数 setfill(*)设置填充字符为*,调用函数 setw(6)设置每次输出的宽度为 6,所以第一次输出 123 时,多余的三个空位用*填充,即结果为*123,第二次从输出流中输出 456

17、8.下列控制对齐方式的操作符中,错误的是( )。(分数:2.00)A.intemalB.center C.leftD.right解析:解析:对齐方式的控制操作符 left 的含义是在设定的宽度内左对齐输出,右端填已设定的填充字符;right(此为默认设置)在设定的宽度内右对齐输出;intemal 在设定的宽度内右对齐输出,但若有符号(一或+),符号置于最左端。9.有如下程序: #inc1udeiostream #inc1udeiomanip using namespace std; int main() coutsetfill(#)setw(4)“OKf123end1; return ();

18、 运行这个程序的输出结果是( )。(分数:2.00)A.#OK123 B.#OK#123C.OK#123D.OK#123#解析:解析:setfill 是设置填充字符,setw 设置输出的宽度,它们的作用表现在紧接着输出的字符串上。这个宽度是填充后的宽度。所以 coutsetfill(#)seM(4)“OK“123 中,setfill 和 setw只作用在“OK“,表示在“OK“前面填充 2 个#。10.若磁盘上已存在某个文本文件,其全路径文件名为 d:/ncre/testtxt,下列语句中不能打开该文件的是( )。(分数:2.00)A.ifstream file(“d:/ncre/testtx

19、t“); B.ifstream file(“d:/ncre/testtxt“);C.ifstream file; fileopen(“d:/ncre/testtxt“); ifstream(“d:/ncre/testtxt“);D.ifstream* pFile=new解析:解析:此题考查的是转义字符。在字符常量或字符串中,以“”开头的一系列字符被看做是一个转义字符。要表示“”字符,必须使用转义字符“”。11.语句 ofstreamf(“SALARYDAT“,ios base:app);的功能是建立流对象 f,并试图打开文件 SALARYDAT与 f 关联,而且( )。(分数:2.00)A.若

20、文件存在,将其置为空文件;若文件不存在,打开失败B.若文件存在,将文件指针定位于文件尾;若文件不存在,建立一个新文件 C.若文件存在,将文件指针定位于文件首;若文件不存在,打开失败D.若文件存在,打开失败;若文件不存在,建立一个新文件解析:解析:此题考查的是文件打开模式。文件打开模式 iso_base:app 是为添加数据而打开(总是在尾部写),故只有选项 B 说法正确。12.如下函数的作用是以双倍行距输出文件: void double_space(ifstreamC.ifstream fin; finopen(“filedat“);D.ifstream *fin=new ifstream()

21、 finopen(“filedat“);解析:解析:在选项 A 中,在赋值号的左侧表示建立一个输入流对象 fin,而在赋值号的右侧的表达式不正确,因为文件输入流类 ifstream 不能直接调用其成员函数 open。16.当使用 ifstream 流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为( )。(分数:2.00)A.ios_base:in B.ios_base:in lios_base:outC.ios_base:outD.ios_base:in finopen(“d:/testtxt“,ios_base:in); B.fstream fio; fioopen(“d:/t

22、esttxt“,ios_base:out);C.ofstream fout; foutopen(“d:/testtxt“,ios_base:out);D.ofstream fout; foutopen(“d:/testtxt“,ios_base:app);解析:解析:如果以 iso base:in 模式打开文件但文件又不存在时,可以通过 failo 测出文件打开失败,不会自动创建文件。21.如需要向一个二进制文件尾部添加数据,则该文件的打开方式为( )。(分数:2.00)A.ios_base:appB.ios_base:binary|ios_base:outC.ios_base:outD.io

23、s_base:binary|ios_base:app 解析:解析:ios base:binary 模式是作为二进制文件打开,ios_base:app 模式是作为添加数据而打开(总是在尾部写)。22.有如下语句序列: ifstream infile(“DATADAT“); if(infilegood()cout“A“; else COUt“B“; ofstream outfile(“DATADAT“); if(outfilefail()cout“C“;else cout“D“; 若执行这个语句序列显示的是 BD,则说明文件 DATADAT( )。(分数:2.00)A.以读方式打开成功B.以读方式打开失败,但以写方式打开成功 C.以读方式打开失败,以写方式打开也失败D.以读方式打开成功,以写方式打开也成功解析:解析:由这个语句序列显示的结果是 BD,说明执行了 cout“B“和 cout“D“语句。

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