1.在C++語言中,打開一個文件就是將這個文件與一個(A)建立關聯。
A.流對象 B.函數
C.結構 D.類
2.關於read()函數的下列描述中,(D)是對的。
A.函數只能從鍵盤輸入中獲取字符串
B.函數所獲取的字符多少是不受限制的
C.該函數只能用於文本文件的操作中
D.該函數只能按規定讀取所指定的字符數
3.要進行文件的輸入輸出,除了包含頭文件iostream外,還要包含頭文件(B)。
A.ifstream
B.fstream
C.ostream
D.cstdio
4.執行以下程序:
char *str;
cin>>str;
cout<<str;
若輸入abcd 1234↙則輸出(D)。
A.abcd
B.abcd 1234
C.1234
D.輸出亂碼或出錯
5.執行下列程序:
char a[200];
cin.getline(a, 200, ' ');
cout<<a;
若輸入abcd 1234↙則輸出(A)。
A.abcd
B.abcd 1234
C.1234
D.輸出亂碼或出錯
6.設己定義浮點型變量data,以二進位方式把data的值寫入輸出文件流對象outfile中去,正確的語句是(C)。
A.outfile.write((double*)&data, sizeof (double));
B.outfile.write((double*)&data, data);
C.outfile.write((char*)&data, sizeof (double));
D.outfile.write((char*)&data, data);
7.當使用ifstream定義一個文件流,並將一個打開文件的文件與之連接,文件默認的打開方式為(A)。
A.ios::in
B.ios::out
C.ios::trunk
D.ios::binary
8.要求打開文件D:\file.dat,並能夠寫入數據,正確的語句是(D)。
A.ifstream infile("D:\\file.dat", ios::in);
B.ifstream infile("D:\\file.dat", ios::out);
C.ofstream outfile("D\\file.dat", ios::in);
D.fstream infile("D\\file.dat", ios::in | ios::out);
9.讀文件最後一個字節(字符)的語句為(B)。
A.myfile.seekg(1,ios::end);
c=myfile.get();
B.myfile.seekg(-1,ios::end);
c=myfile.get();
C.myfile.seekp(ios::end,0);
c=myfile.get();
D.myfileseekp(ios::end,1);
c=myfile.get();
10.read()函數的功能是從輸入流中讀取(D)。
A.一個字符
B.當前字符
C.一行字符
D.指定的若干字節字符
11.當使用ifstream流定義流對象並打開一個磁碟文件時,文件的隱含打開方式為(A)。
A.ios::in
B.ios::out
C.ios::in|ios::out
D.ios::binary
12.C++系統預定義了4個用於標準數據流的對象,下列選項中不屬於此類對象的是(D)。
A.cout B.cin
C.cerr D.cset
13.打開文件時可單獨或組合使用下列文件打開模式:
(1)ios::app (2)ios::binary
(3)ios::in (4) ios::out
若要以二進位讀方式打開一個文件,需使用的文件打開模式為(C)。
A. (1)(3)
B. (1)(4)
C. (2)(3)
D. (2)(4)
14.語句ofstream f(「DATA.DAT」,ios::app|ios::binary);的功能是建立流對象f,並試圖打開文件DATA.DAT,並與之連接,而且(C)。
A.若文件存在,將文件指針定位於文件首;若文件不存在,建立一個新文件
B.若文件存在,將其截為空文件;若文件不存在,打開失敗
C.若文件存在,將文件指針定位於文件尾;若文件不存在,建立一個新文件
D.若文件存在,打開失敗;若文件不存在,建立一個新文件
15.如果調用C++流進行輸入輸出,下面的敘述中正確的是(A)。
A.只能藉助於流對象進行輸入輸出
B.只能進行格式化輸入輸出
C.只能藉助於cin和cout進行輸入輸出
D.只能使用運算符<<和>>進行輸入輸出
16.下列關於C++流的描述中,錯誤的是(A)。
A.cout>>』A』表示式可輸出字符A
B.eof( )函數可以檢測是否到達文件尾
C.對磁碟文件進行流操作,必須包含頭文件fstream
D.以ios::out模式打開文件的文件不存在時,將自動建立一個新文件
17.下列敘述中錯誤的是(A)。
A.catch(…)語句可以捕獲所有類型的異常
B.try-catch結構中,一個try塊可以有多個catch塊
C.catch塊是try-catch結構中的一部分,不能單獨使用
D.在一個try塊中可以嵌套另一個try塊
18.關於函數聲明float fun(int a, int b) throw( ),下列敘述正確的是(C)。
A.表明函數拋出float類型異常
B.表明函數拋出任何類型異常
C.表明函數不拋出任何類型異常
D.表明函數拋出int類型的異常
19.下列關於異常的敘述錯誤的是(A)。
A.編譯錯屬於異常,可以拋出
B.運行錯屬於異常
C.硬體故障也可當異常拋出
D.只要是編程者認為是異常的都可當異常拋出
20.下列程序運行結果為(A)。
#include<iostream>
using namespace std;
class S
{
public:
~S( ){ cout<<"S"<<"\t"; }
};
char fun0()
{
S s1;
throw('T');
return '0';
}
int main()
{
try
{
cout<<fun0()<<"\t";
}
catch(char c)
{
cout<<c<<"\t";
}
return 0;
}
A.S T
B.O S T
C.O T
D.T