计算机二级

执行语句序列 ofstream outfile("data.dat"); if(…)cout<<"ok";else cout<<"fail"; 后,如果文件打开成功,显示“ok”,否则显示“fail”。由此可知,上面if语句的“…” 处的表达式是A.outfile.fail()或outfileB.outfile.good()或!outfileC.outfile.good()或outfileD.outfile.fail()或!outfile

题目

执行语句序列 ofstream outfile("data.dat"); if(…)cout<<"ok";else cout<<"fail"; 后,如果文件打开成功,显示“ok”,否则显示“fail”。由此可知,上面if语句的“…” 处的表达式是

A.outfile.fail()或outfile

B.outfile.good()或!outfile

C.outfile.good()或outfile

D.outfile.fail()或!outfile

参考答案和解析
正确答案:C
解析:本题考核C++的文件流。文件流对象中的成员函数good()用于判定刚进行的操作是否成功,成功时返回true,否则返回false。成员函数fail()用于判定刚进行的操作是否失败,失败时返回tree,否则返回false。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

执行下列语句序列后, ofstream outfile("DATA.DATA") if(…)cout<<"OK";else cout<<"FAIL";如果文件打开成功显示OK,否则就显示FAIL。由此可知,…处的表达式应是( )。

A.outfile.fail()或outfile

B.outfile.fail()或! outfile

C.outfile.good()或outfile

D.outfile.goodl()或! outfile


正确答案:C
解析:在C++中,用文件流对象的一些成员函数来判别文件流的当前状态。其中,函数good()用来判别刚进行的操作。成功时返回true,否则返回false。

第2题:

执行语句序列 ofstream outfite("data.dat"); if(...)cout<<"ok";else cout<<"fail"; 后,如果文件打开成功,显示 “ok”,否则显示“fail”。由此可知,上面if语句的“…”处的表达式是

A.outfile.fail()或outfile

B.outfile.good()或!outfile

C.outfile.good()或outfile

D.outfile.fail()或!outfile


正确答案:C
解析:本题考核C++的文件流。文件流对象中的成员函数good()用于判定刚进行的操作是否成功,成功时返回true,否则返回false。成员函数fail()用于判定刚进行的操作是否失败,失败时返回true,否则返回false。

第3题:

执行语句序列 ofstream outfile("data.dat"); if(...)cout<<"ok";else cout<<"fail"; 后,如果文件打开成功,显示“ok”,否则显示“fail”。由此可知,上面if语句的“...”处的表达式是( )。

A.outfile.fail()或outffle

B.outfile.good()或!outfile

C.outfile.good()或outfile

D.outfile.fail()或!outfile


正确答案:C

第4题:

执行语句序列 ofstream outfile ("DATA. DAT"); if(...)cout <<"OK";else cout <<"FAIL";后,如果文件打开成功,显示"OK",否则就显示"FAIL"。由此可知,上面if语句的...处的表达式应是______ 。

A.outfile.fail ()或outfile

B.outfile. good() 或outfile

C.outfile.good ()或!outfile

D.outfile.fail()或!outfile


正确答案:C
解析:打开成功outfail.good和!outfile都是真值。

第5题:

执行语句:cout<<setfill('*')<<setw(10)<<setfill('#')<<left<<123<<"OK"<<endl;后将输出

A.123*******OK

B.123#######OK

C.123********OK********

D.123#######OK########


正确答案:B
解析:本题考核格式控制数据的输入输出。函数setfill(charc)用于设置填充字符,在输出数据时,如果数据宽度小于设置的宽度,则空闲位置要用填充字符填满,设置的填充符一直有效,直到再次设置填充字符为止,如题中调用函数setfill('*')将填充字符设置为'*',后又调用函数setfill('#')将填充字符设置为'#'。函数setw(intn)用于设置输入输出宽度,宽度设置的效果只对一次输入或输出有效,在完成一次数据的输出或输入后,宽度设置自动恢复为0,如题中语句以宽度10输出数据“123”后,字符串“OK”的输出宽度就自动恢复为0了。而且题中输出的对齐方式为在输出宽度内左对齐。所以最终的输出为123#######OK。

第6题:

执行语句:cout<<setfill(‘*’)<<Setw(10)<<setfill(‘#’)<<left<<123<<“OK”<<end后将输出( )。

A.123* * * * * * * OK

B.123# # # # # # # OK

C.123* * * * * * * * OK* * * * * * * *

D.123# # # # # # # #OK# # # # # # # #


正确答案:B
解析: 函数setfill(char c)用于设置填充字符,在输出数据时,如果数据宽度小于设置的宽度,则空闲位置要用填充字符填满,设置的填充符一直有效,直到再次填充字符为止,如题中调用函数setfill(‘*’)将填充字符设置为’*’,后又调用函数setfill(‘#’)将填充字符设置为’#’。函数setw(int n)用于设置输入输出宽度,宽度设置的效果只对一次输入或输出有效,在完成一次数据的输出成输入后,宽度设置自动恢复为0,如题中语句以宽度10输出嗽据“123”后,字符串“OK”的输出宽度就自动恢复为0了

第7题:

执行语句序列 ofstream outfile("datA.dat"); if(…)cout<<"ok"; else cout<<"fail"; 后,如果文件打开成功,显示“ok”,否则显示“fail”。由此可知,上面if语句的“…”处的表达式是( )。

A.outfile.fail()或outfile

B.outfile.good()或!outfile

C.outfile.good()或outfile

D.outfile.fail()或!outfile


正确答案:C
解析:可以用文件流对象的成员函数来判别文件流当前的状态:fail,刚进行的操作失败是返回true,否则返回false;good,刚进行的操作成功时返回true,否则返回false。

第8题:

执行语句序列

ofstream outfile(“DATE.DAT”);

if(…)cout<<"OK"; else cout<<"FAIL"后,如果文件打开成功,显示“OK”,否则显示"FAIL"。由此可知,上面if语句…处的表达式是:

A.outfile.fail( )或outfile

B.outfile.good( )或outfile

C.outfile.good( )或!outfile

D.outfile.fail( )或!out file


正确答案:B
解析:本题考查文件流状态判断函数。good( )表示刚进行的操作成功时返回true,否则返回false。fail( )与good( )相反,fail( )表示刚进行的操作失败时返回true,否则返回false。本题中流对象为outfile,则if(! outfile)等同于if(outfile.fail( )),if(outfile)等同于if(outfile.good)。由上述可知正确答案为B项。

第9题:

执行语句序列 ofstream outfile(”DATA.DAT"); if(…)cout<<"OK";elsec out<<"FAIL"; 后,如果文件打开成功显示“OK”,否则就显示“FAIL”。由此可知,上面if语句的…处的表达式应是

A.outfile.fail()或 outfile

B.outfile.good()或 !outfile

C.outfile.good()或 outfile

D.outfile.fail()或 !outfile


正确答案:C
解析:本题考核C++的文件I/O操作。函数good()表示刚进行的操作成功时返回 true,否则返回false,所以可以通过类ofstream的对象outfile调用good()函数来检测刚才文件打开是否成功。题中在建立文件流对象的同时打开文件,若打开失败则返回 fail。所以“outfile”也可以用作判断打开文件成功与否的条件。