版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
3練習(xí)題解答1口在 C++的輸入輸出操作中, □□□□□□□□□□ ?□□□□□□□□□是提取操作 ?什么是插入操作 ?答:C++語(yǔ)言將輸入信息和輸出信息都看作為信息流,或者是字符流,或者是二進(jìn)制碼流,因此,稱為輸人流和輸出流。輸人流是輸入的信息流,輸出流是輸出的信息流。從“流”的角度來(lái)講,提取操作是從輸入信息流中讀取信息,將它存放在機(jī)器中;插入操作是向輸出信息流中加入信息, 將它流向某個(gè)指定的設(shè)備或文件中去。2口系統(tǒng)預(yù)定義的流類對(duì)象中, cin和cout□□□□□□ ?答:cin是istream□□□□,□□□□□□□□□□,□□□□□□cout是ostream□□□□,□□□□□□□□□□,□□□□□□□□3.屏幕輸出一個(gè)字符串有哪些方法 ?屏幕輸出一個(gè)字符有哪些方法答:屏幕輸出一個(gè)字符串通常使用下述方法。(1)標(biāo)準(zhǔn)輸出流對(duì)象 cout□□□□□□□□□□□,cout□□□outputastring!□n”;(2)使用成員函數(shù)write()輸出一個(gè)字符串。例如,cout.write(”string”,strlen(”string”));屏幕輸出一個(gè)字符通常也有兩種方法。⑴使用cout□□□□□□□□□(2)例如。coutQQ‘ a‘QQ’,‘□□□b’□口 endl;(2)使用成員函數(shù)put()輸出一個(gè)字符。例如,cout.put(’a“)。put(’,’)□put(‘b')□put(□□n');4.鍵盤(pán)輸入一個(gè)字符串有哪些方法 ?鍵盤(pán)輸入一個(gè)字符有哪些方法答:鍵盤(pán)輸入一個(gè)字符串通常使用下述方法:⑴使用標(biāo)準(zhǔn)輸入流對(duì)象 cin和提取符口口。例如cin□□a□口b;(2)使用成員函數(shù)read()輸入一個(gè)字符串。例如chars[80]=” "cin.read(s,80);□3)使用成員函數(shù) getline()輸入一行字符串。例如charbuf[80];cin.getline(buf,80)5鍵盤(pán)輸入一個(gè)字符通常用下述兩種方法。⑴使用cin和提取符口口。例如Charcl,c2;cin口口cl口□c2;(2)使用成員函數(shù) get()輸入一個(gè)字符。例如
Charc;cin.get(c);5口如何輸出一個(gè) int□□□□□□□□□□□:□□□□int□□□□□□□□□,□□□□□□□□例如inta口123:輸出a的十進(jìn)制數(shù)值:cout口口dec□□a□口endl:默認(rèn)為十進(jìn)制。輸出a的八進(jìn)制數(shù)值cout口口oct□□a□口endl;輸出a的十六進(jìn)口數(shù)值cout口口hex□口a□口endl:6.如何輸出一個(gè)浮點(diǎn)數(shù)的不同精度 ?答:設(shè)置浮點(diǎn)數(shù)的精度有兩種方法。⑴使用成員函數(shù) precision。設(shè)置浮點(diǎn)數(shù)有效數(shù)字的位數(shù)。例如0,超過(guò) 80,超過(guò) 8位四舍五0,即按實(shí)際寬度表明輸出浮點(diǎn)數(shù)的有效數(shù)字位數(shù)為 8位,不足8位后補(bǔ)人取8位。(2)使用操作子setsprecision(int)設(shè)置浮點(diǎn)數(shù)精度。例如cout□□setsprecision⑻<<1.23456789<<endl:輸出結(jié)果為1.23456789,不含小數(shù)點(diǎn),共 8位。7.如何確定輸出數(shù)據(jù)項(xiàng)的寬度 ?答:確定輸出數(shù)據(jù)項(xiàng)寬度的方法如下:(1)使用成員函數(shù)width()確定輸出寬度。例如cout.Width(10):表明下面輸出的數(shù)據(jù)項(xiàng)最小寬度為 10個(gè)字符位置,超過(guò)后按實(shí)際寬度,不足補(bǔ)填充符。輸出寬度設(shè)置僅用一次。不設(shè)置寬度時(shí)按默認(rèn)寬度輸出。(2)使用操作子setw(int)設(shè)置輸出數(shù)據(jù)項(xiàng)寬度。例如cout口口 setw(10)□□l23456口口endl;輸出結(jié)果為 l23456,其寬度為 10。8.采用什么方法打開(kāi)和關(guān)閉磁盤(pán)文件 ?答:打開(kāi)磁盤(pán)文件有下述兩種方法。(1)創(chuàng)建 fstream類的對(duì)象,打開(kāi)已知文件,需指出打開(kāi)方式。例如,以寫(xiě)方式打開(kāi)xy.txt□□,□□□□□□□□□fstreamoutput(”xy.txt”,ios::out);(2)創(chuàng)建ifstream類或ofstream□□□□,□□□□□□□□□□,□□方式打開(kāi) xy口txt□□,□□□□□□□□□ifstrcaminput(”xy.txt”);
關(guān)閉磁盤(pán)文件的方法如下:使用成員函數(shù)close()。例如input.close();將創(chuàng)建的inPut□□□□□□□□9.寫(xiě)磁盤(pán)文件時(shí)有哪幾種方法答:寫(xiě)磁盤(pán)文件的方法如下。(1)使用輸出流對(duì)象和插入符,可向打開(kāi)的文件中寫(xiě)入各種類型的數(shù)據(jù)。put(),每次向文件中寫(xiě)一個(gè)字符。write(),put(),每次向文件中寫(xiě)一個(gè)字符。write(),可向文件中寫(xiě)入若干個(gè)字符。(3)使用輸出流對(duì)象和成員函數(shù)答:讀磁盤(pán)方法如下所示。(1)答:讀磁盤(pán)方法如下所示。(1)使用輸入流對(duì)象和提取符(2)使用輸入流對(duì)象和成員函數(shù)(3)使用輸入流對(duì)象和成員函數(shù)(>>),可以從打開(kāi)的文件中讀取各種類型的數(shù)據(jù)。get()。每次從打開(kāi)的文件中讀取一個(gè)字符。read(),□□□□□□□□□□□□□□□□□11.如何確定文件的讀指針或?qū)懼羔樀奈恢??如何改變讀指針或?qū)懼羔樀奈恢茫看穑篶++語(yǔ)言提供了隨機(jī)訪問(wèn)數(shù)據(jù)文件的相關(guān)操作。由這些操作可以改變讀TOC\o"1-5"\h\z指針和寫(xiě)指針的位置,從而實(shí)現(xiàn)隨機(jī)讀寫(xiě)的目地 .一個(gè)文件被打開(kāi)后,由于打開(kāi)方式不同,讀,寫(xiě)指針位置也不同,通常是在文件首,有時(shí)。例如.按追加寫(xiě)打開(kāi)時(shí),寫(xiě)指針會(huì)出現(xiàn)在文件民,iostream類提供3個(gè)用來(lái)改變讀指針位置的成數(shù)函數(shù) c它們是istrcam□istrcam::seekg(口流中位置口 □istream□istrcam::seekg(□□□□□,□□□□□ >□;streamposistream::tellg();>含其中,<□□□□>和<偏移量 >都是 long□□,□□□□□□□□ <□□□□>含意如下所示。cur11□□□□□□□□□□□□□beg10□□□□□□□□□end12□□□□□□□□streampos被定義為long□□□例如input.seekg(—l00,ios::end);□□□□□□□□□□□□□□□ loo個(gè)字節(jié)。成員函數(shù)tellg()將返回當(dāng)前口指針相對(duì)于流開(kāi)始處的字節(jié)數(shù)。同樣,ostream□□□□□□□ 3個(gè)關(guān)于寫(xiě)指針操作的成員函數(shù)。ostream&ostream::seekp((流中位置口 );ostream&ostream::seekp(□偏移量口,□參照位置口口;streamposostream::tellp();具體解釋同上。l2.流的錯(cuò)誤狀態(tài)如何處理答:在ios□□,□□□□□□□□□□□□□□□□□,□□□□□□□□態(tài)字的各位是用不同的錯(cuò)誤狀態(tài)來(lái)描述的。
例如eofbit口Ox01□□□□□□□failbit口Ox02表示 I口。操作失敗等等。在ios□□□□□□□□□□□□□□□□□□□□例如inteof()該函數(shù)返回非零值表示已到文件尾intfail()如果failbit□□□□,□□□□□□□□□等等。利用上述成員函數(shù)檢測(cè)流的錯(cuò)誤狀態(tài),并進(jìn)行處理。9.4作業(yè)題解答一、選擇填空1.進(jìn)行文件操作時(shí)需要包含()文件。D.stdlib.h( )。D.stdlib.h( )。long(&pa)()是錯(cuò)誤的。coutQQ'A'charAQ'A’;cout口口A()是錯(cuò)的。()是對(duì)的。( )是轉(zhuǎn)換為十六進(jìn)制形式的標(biāo)dccD。1eftA:iostream.hfstream.hC.stdio.hD.stdlib.hA:iostream.h答:B。2.使用操作子對(duì)數(shù)據(jù)進(jìn)行格式輸出時(shí),應(yīng)包含 ()文件。A.iostream.hB.fstream.hC。iomanip.h答:C。3□已知: inta,*pa口&a;輸出指針pa□□□□□□□□□□□A口 cout口口pa B口 cout口□*paCDcout口□&pa D口cout口口答:D。4口下列輸出字符‘ A'的方法中,ADcout口口put('A') BDCDcoutDput(‘A’) DD答:A。5口關(guān)于 getline()函數(shù)的下列描述中,AD該函數(shù)是用來(lái)從鍵盤(pán)上讀取字符串的BD該函數(shù)讀取的字符串長(zhǎng)度是受限制的CD該函數(shù)讀取字符串時(shí)遇到終止符便停止DD該函數(shù)中所使用的終止符只能是換行符答:D。6口關(guān)于 read()函數(shù)的下列描述中,AD該函數(shù)只能從鍵盤(pán)輸人中獲取字符串BD該函數(shù)所獲取的字符多少是不受限制的CD該函數(shù)只能用于文本文件的操作中DD該函數(shù)只能按規(guī)定讀取所指定的字符數(shù)答:B。7□在 ios□□□□□□□□□□□□,志位。ADhexBDoctCD答:A。( )是設(shè)置域?qū)挼摹?/p>
A.wsB.octC.setfill()D,setw()答:D。)是以追加方9.磁盤(pán)文件操作中,打開(kāi)磁盤(pán)文件的訪問(wèn)方式常量中, ()是以追加方式打開(kāi)文件的。A.inB.outC.a(chǎn)ppD.a(chǎn)te答:C。10.下列函數(shù)中,()是對(duì)文件進(jìn)行寫(xiě)操作的。A.get()B.read()C.seekg()D.put()答:D?!酢酢酢酢酢酢酢酢酢酢酢?□□□□,□□□□1口使用提取符 (□□)□□□□□□□□□□□□□□□□□,□□□□出指針值。2口預(yù)定義的插入符從鍵盤(pán)上接收數(shù)據(jù)是不帶緩沖區(qū)的。3.預(yù)定義的提取符和插入符是可以重載的。4.記錄流的當(dāng)前格式化狀態(tài)的標(biāo)志字中每一位用于記錄一種格式,這種格式是不能被設(shè)置或清除的。cout。5.cout。示格式的對(duì)象通常是6.操作子本身是一個(gè)對(duì)象,它可以直接被提取符或插入符操作。終止字符仍留在流中。getline()□7口get()函數(shù)不能從口中提取終止字符,終止字符仍留在流中。getline()函數(shù)可以從流中提取終止字符,但終止字被丟棄。8口函數(shù)可以從流中提取終止字符,但終止字被丟棄。8口ios類的成員函數(shù)9.使用打開(kāi)文件函數(shù)函數(shù)來(lái)操作該對(duì)象。clear()是用來(lái)清除整個(gè)屏幕的。open()之前,□□□□□□□□□□,使用open()□□□□□□使用10.使用關(guān)閉文件函數(shù)□□□□□□使用10.使用關(guān)閉文件函數(shù)close()關(guān)閉一個(gè)文件時(shí),但流對(duì)象仍存在。11口以app□□□□□□□,□□□□□□□□□□都□□□□□□□12口打開(kāi)ASCII□□□□□□□□□□□□,□□□□□□□□□13口read()和write()函數(shù)可以讀寫(xiě)文本文件,也可以讀寫(xiě)二進(jìn)制文件。14.流的狀態(tài)包含流的內(nèi)容、長(zhǎng)度和下一次提取或插入操作的當(dāng)前位置。15口seekg()函數(shù)和seekp()函數(shù)分別用來(lái)定位讀指針和寫(xiě)指針的。如果seek()函數(shù)可以同時(shí)定義讀寫(xiě)指針。三、分析下列程序的輸出結(jié)果#include口iostream口h口#include口fstream口h口#include口stdlib口h口voidmain(){fstreamoutfile,infile;outfile.open(“text.dat”,ios::out);if(!outfile){cout<<”text.datcan’topen.\n”;abort();}outfile<<”123456789\n”;outfile<<”aaabbbbbbbbccc\n”<<”dddddfffeeeeggggghhh\n”;outfile<<”ok\n”;outfile.close();infile.open(”tcxt.dat”,ios::in);if(!infile){cout□□” filecan’topen.\n”;abort();}chartextline[80];While(!infile.eof()){infile.gctline(textline,sizeof(textline));cout口口textline口口endl;運(yùn)行該程序輸出如下結(jié)果。123456789aaabbbbbbbcccdddddfffccccggggghhhok!分析:□□□□□□□□□ text口dat,打開(kāi)方式是寫(xiě),判斷打開(kāi)成功后,向該文件中輸入行字符串。然后,將該文件關(guān)閉。while循環(huán)語(yǔ)句。接著,□□□□□□ text口dat文件,□□□□□,while循環(huán)語(yǔ)句。逐行讀:text口dat□□□□□□,□□□□□□□□□□這里,使用了打開(kāi)、關(guān)閉文件的操作以及對(duì)打開(kāi)文件的讀、寫(xiě)操作。2.#include口iostream口h口#include口fstream口h口#include<stdlib.h>voidmain(){fstreamfile1;file1.open(“text1.dat”,ios::out|ios::in);if(!filel){cout<<”text1.datcan’topen.\n”;abort();}chartextline[]=”123456789abcdefghijkl.\n”;for(inti=0;i<sizeof(textline);i++)
file1.seekg(0);//將讀指針移至文件開(kāi)始charch;while(filel.get(ch))cout口口ch;filel.close();}運(yùn)行該程序的輸出結(jié)果如下所示。123456789abcdefghijk1.分析:□□□□□□□□□□ textl口dat□,□□□□□□□□□□□□□□開(kāi)成功后,□□□□□□□□ put(),□□□□□textline口中的字符串寫(xiě)入該文件。然后,使用下列語(yǔ)句filel.seekg(0);□□□□□□□□□,□□□□□□□□□ get()從文件中讀出字符,并顯示在屏幕上?!酢酢?□□□ textl口dat□□□□□□□□□#include口strstrea口h口voidmain(){ostrstreamss:ss□□”Hi,goodmorning”;ss口口ends:char*buf口ss.str();cout口口buf口口endl;de1ete[]buf;}運(yùn)行該程序輸出結(jié)果如下所示。Hi,goodmorning!分析:程序中首先創(chuàng)建一個(gè)ostrstream類的對(duì)象的數(shù)組對(duì)象。接著,向ss□□□□□□□ss,ss□□□□□□□□□□□Hi,goodmorning!□□□□□□□程序中首先創(chuàng)建一個(gè)ostrstream類的對(duì)象的數(shù)組對(duì)象。接著,向ss□□□□□□□ss,ss□□□□□□□□□□□Hi,goodmorning!□□□□□□□□□□□□□□□o’,可用end2表示。程序中又定義
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球及中國(guó)瓦楞紙板輸送帶行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025-2030全球RF IC 設(shè)計(jì)服務(wù)行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年全球及中國(guó)拖拽式滴鹽撒播機(jī)行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025年全球及中國(guó)運(yùn)水式模溫機(jī)行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 中國(guó)居民膳食指南準(zhǔn)則一食物多樣合理搭配講解
- 作用于中樞神經(jīng)系統(tǒng)的藥物講解
- 2025軟件產(chǎn)品代理版合同書(shū)
- 安防設(shè)備采購(gòu)政府采購(gòu)合同
- 2025房屋抵押貸款的合同范本
- 2025承運(yùn)合同書(shū)范本范文
- 2024建設(shè)工程人工材料設(shè)備機(jī)械數(shù)據(jù)分類和編碼規(guī)范
- 26個(gè)英文字母書(shū)寫(xiě)(手寫(xiě)體)Word版
- GB/T 13813-2023煤礦用金屬材料摩擦火花安全性試驗(yàn)方法和判定規(guī)則
- 動(dòng)物檢疫技術(shù)-動(dòng)物檢疫的方法方式(動(dòng)物防疫與檢疫技術(shù))
- DB31 SW-Z 017-2021 上海市排水檢測(cè)井圖集
- 日語(yǔ)專八分類詞匯
- GB/T 707-1988熱軋槽鋼尺寸、外形、重量及允許偏差
- GB/T 33084-2016大型合金結(jié)構(gòu)鋼鍛件技術(shù)條件
- 高考英語(yǔ)課外積累:Hello,China《你好中國(guó)》1-20詞塊摘錄課件
- 茶文化與茶健康教學(xué)課件
- 降水預(yù)報(bào)思路和方法
評(píng)論
0/150
提交評(píng)論