一、填空題
(1)在c++的輸入輸出系統中,最核心的物件是 流 。執行輸入和輸出操作的類體系叫做 流類 。
(2)當實際進i/o操作時,cin與 標準輸入裝置相關聯。
(3)c++的流類庫預定義了4個流,它們是 cin 、 cout 、 cerr 、和 clog 。
(4)使用檔案流類庫的程式必須用#include編譯指令將標頭檔案 fstream.h 包含進來。
(5)c++的i/o流類庫提供了2種控制格式輸入輸出的方法。一種是用 ios類的成員函式 ,另一種是 使用控制符 。
(6)按資料的訪問方式來分類,檔案可分為 順序檔案 和 隨機讀寫檔案 。
(7)c++中共有3種檔案流,它們是 輸入檔案流 、 輸出檔案流 、和 輸入/輸出檔案流 。
(8)開啟檔案就是使乙個檔案流物件與 乙個指定的檔案 相關聯。
(9)如果開啟檔案失敗,則流物件的值為 0 。
(10)最好用istream的函式和 read ostream 的函式 write 分別來讀/寫二進位制檔案。
二、選擇題(至少選乙個,可以多選)
(1)進行檔案輸人操作時應包含( b )檔案。
a. ifstream.h
b. fstream.h
c. ofstream.h
d.iostream. h
(2)下列類中( a )不是輸人輸出流類iostream的基類。
a. fstream
b. istream
c. ostream
d.ios
(3)在下列選項中( b c d )是ostream類的物件。
a. cin
b. cerr
c. clog
d. cout
(4)使用控制符進行格式輸出時,應包含( c )檔案。
a. iostream. h
b. math. h
c. iomanip. h
d. fstream. h
(5)在ios類提供的控制格式標誌字中,( a )是轉換為十六進製制形式的標誌常量。
a. hex
b. oct
c. dec
d. right
(6)下列選項中,用於清除基數格式位設定以八進位制輸出的語句是( c )。
(7)函式stais:dusifiled中a的值可以是( a b )
a. ios::left
b. ios::right
c. ios::hec
d. ios::oct
(8) 下列格式控制符,在iostream. h中定義的是( a d ),在iomanip.b中定義的是( b c )。
a. endl
b. setfill
c. setw
d. oct
(9)控制輸出格式的控制符中,( d )是設定輸出寬度的。
a. ws
b. ends
c. sefill()
d. setw()
(10)下列輸出字元』a』的方法中,( b )是錯誤的。
a. cout<<』a』;
(11)關於對getline()函式的下列描述中,( a )是錯誤的。
a.該函式所使用的終止符只能是換行符
b.該函式是從鍵盤上讀取字元審的
c.該函式所讀取的字串的長度是受限制的
d. 該函式讀取字元審時遇到終止符便停止
(12) 下面( b c )語句能把」hello,students」賦值給乙個字元陣列string[50].
a. cin> > string;
b. cin. getline(string ,80);
c. cin, get(string,40,』\n』);
d. cin. get(string);
(13)關於read()函式的下列描述中,( c )是正確的。
a.該函式只能從鍵盤輸人中獲取字串
b.該函式只能用於文字檔案的操作
c.該函式只能按規定讀取指定數目的字元
d.從輸**中讀取一行字元
(14)在開啟磁碟檔案的訪問方式常量中,( c )是以追加方式開啟檔案的。
a. in
b. out
(16)假定已定義整型變數data,以二進位制方式把data的值寫人輸出檔案流物件outile中去,正確的語句是( c )
a. outfile. write((int* )&data ,sizeof(int));
b. outfile. write((int* )&data,data);
c. outfile. write( (char* )&data ,sizeof(int));
d. outfile, write((char* )&data,data);上iesd
三、判斷題
(1)流格式標誌字的每位表示一種格式,格式位之間互不影響。 (錯)
(2)控制符本身是一一種物件,它可以直接被提取符或插人符操作。 (對)
(3)預定義的提取符和插人符都是可以過載的。 (對)
(4)函式write()是用來將乙個字串送到一種輸出流中,但必須將乙個字串中全部字元都送到輸出流中。 (錯)
(6) read()函式只能用於文字檔案的操作中。 (錯)
四、簡答題
(1)分析說明c++語言的流類庫中為什麼要將ios類作為其派生類的虛基類。
答: 從流類庫的基本結構可以看到,ios類是istream 類和ostream 類的基類,從ios頭公有派生 istream 和ostream兩個類, 而iostream 類通過多重繼承istream 類和ostream類而產生的。如果不將ios類作為其派生類的虛基類,可能會產生二義性:
(2)文字檔案與二進位制檔案有什麼區別?並說明在什麼情況下應該使用文字檔案?在 什麼情況下使用二進位制檔案。
答: 在文術檔案中,每個位元組存放一 個ascii **表示乙個字元,文字檔案的優點是可直接按字元形式輸出,供人們閱讀。二進位制 檔案則是把資料的內部儲存形式原樣作放到檔案中。這種檔案的優點是與資料在記憶體中的儲存形式保持一致,因此儲存效率高,無須進行儲存形式的轉換,但不能直接按字元形式輸出。對於那些儲存中間運算結果的臨時工作檔案,使用二進位制形式較為合理。
第八章習題
習題2 define crt secure no warnings include int main void else if ch t else else if num 10 0 num 0 putchar n return 0 疑問 printf n d n ch num 0 書上有這樣一句話 ...
第八章 課後習題
1.掌握格式化的輸入輸出方法。2.熟悉系統提供的輸入操作函式。3.掌握磁碟檔案的輸入輸出方法。1.程式sy9 1.cpp用以列印表中的資料,但程式中存在邏輯錯誤。上機除錯後寫出正確的 原程式如下 修改後的程式如下 sy9 1.cpp include include using namespace s...
第八章 指標 第八章 指標
1 什麼是位址 include using namespace std int main 11 在堆中建立對像 我們既然可以在堆中儲存變數,那麼也就可以儲存對像,我們可以將對像儲存堆中,然後通過指標來訪問它 include using namespace std class human 14 在建構...