版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
國(guó)家二級(jí)C++機(jī)試(C++流)模擬試卷1(共5套)(共93題)國(guó)家二級(jí)C++機(jī)試(C++流)模擬試卷第1套一、選擇題(本題共22題,每題1.0分,共22分。)1、有如下程序:#include#includeusingnamespacestd;intmain(){cout.fill(’*’);cout<A、123*OKB、123*OK**C、*1230KD、*123*OK標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:此題考查了輸出流的格式控制。cout的fill()是設(shè)置填充字符:left和endl分別是使輸出數(shù)據(jù)左對(duì)齊和換行;setw()函數(shù)的作用是設(shè)置輸入輸出的寬度,此設(shè)置效果只對(duì)以此輸入或輸出有效。此題中,輸出整數(shù)123時(shí)寬度為4且左對(duì)齊,得到“123*”;輸出字符串“OK”時(shí)寬度沒有定義實(shí)際大小輸出,結(jié)果得到OK;故最后得到的輸出結(jié)果是123*OK。2、下列關(guān)于輸入流類成員函數(shù)getline()的描述中,錯(cuò)誤的是()。A、該函數(shù)是用來讀取鍵盤輸入的字符串的B、該函數(shù)讀取的字符串長(zhǎng)度是受限制的C、該函數(shù)讀取字符串時(shí),遇到終止符便停止D、該函數(shù)讀取字符串時(shí),可以包含空格標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:此題考查的是getline()函數(shù)。getline()函數(shù)的原型為:istream_type&getline(char_type*s,streamsize,char_typedelim);。其功能是從當(dāng)前輸入位置開始提取字符存入s所指向的具有n個(gè)字節(jié)的字符空問中。遇到以下情況時(shí)停止:已提取并存儲(chǔ)了n-1個(gè)字符:到流尾,無字符可?。合乱粋€(gè)要提取的字符等于結(jié)束標(biāo)志字符delim。故選項(xiàng)B、C、D都是正確的。getline()函數(shù)不僅可以用來讀取鍵盤輸入的字符串,還可以用來讀取文件等數(shù)據(jù)流,故選項(xiàng)A錯(cuò)誤。3、使用輸入輸出操作符setw,可以控制()。A、輸出精度B、輸出寬度C、對(duì)齊方式D、填充字符標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:此題考查的是C++流的操作符。在C++流中,操作符setw的作用是設(shè)置輸入輸出寬度。4、有如下4個(gè)語句:①tout<<’A’<A、①和③B、①和④C、②和③D、②和④標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:此題考查C++流的使用。setfill()作用是設(shè)置填充字符:left是使輸出數(shù)據(jù)在指定寬度內(nèi)左對(duì)齊;right是使輸出數(shù)據(jù)在指定寬度內(nèi)右對(duì)齊。5、下列語句分別是不同程序中的第一個(gè)輸入輸出語句,若去掉其中的“<A、cout<B、cout<C、cout<D、.cout<標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:此題考查的是C++流。setfill()作用是設(shè)置填充字符;left是使輸出數(shù)據(jù)在指定寬度內(nèi)左對(duì)齊:setw()的作用是設(shè)置輸入輸出寬度,且只對(duì)當(dāng)前一次有效。6、有如下程序:#include#includeusingnamespacestd;intmain(){ints[]={123,234};cout<A、123234B、***123234C、***123***234D、***123234***標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:在輸出語句中定義了輸出的格式是字符寬度為6,并且向右對(duì)齊,不足的位用‘*’補(bǔ)齊。在C++中,輸出格式的發(fā)置只對(duì)第一次輸出有效,在完成了一個(gè)數(shù)據(jù)的輸出后,寬度設(shè)置自動(dòng)恢復(fù)為0(表示按數(shù)據(jù)實(shí)際寬度輸出)。所以對(duì)于本題來說,在循環(huán)語句中輸出數(shù)組s[0]中的元素時(shí),按照規(guī)定的格式輸出,其結(jié)果為***123,當(dāng)輸出s[1]時(shí),輸出格式已經(jīng)恢復(fù)到按數(shù)據(jù)實(shí)際寬度輸出,所以此時(shí)輸出為234。7、有如下程序:#include#includeusingnamespacestd;intmain(){cout<A、setw(10)B、setfill(’x’)C、setprecision(8)D、right標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:根據(jù)程序輸出的結(jié)果最后5個(gè)位置用x進(jìn)行填充,又因?yàn)閟etw(10)設(shè)置輸出的寬度效果只對(duì)一次輸出有效。所以劃線處應(yīng)該填寫setw(10)。8、下列語句都是程序運(yùn)行時(shí)的第1條輸出語句,其中一條語句的輸出效果與其他三條語句不同,該語句是()。A、cout<B、cout<C、cout<D、cout<標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:選項(xiàng)A),B),C)都沒有指輸出數(shù)據(jù)的寬度,所以在輸出時(shí),按實(shí)際字符的寬度輸出,而選項(xiàng)D)指定輸出字符的寬度為6,而實(shí)際輸出的寬度等于5,所以最后一個(gè)字符用空格補(bǔ)齊。9、有如下程序:#include#includeusingnamespacestd;intmain(){cout<A、***123***456B、***123456***C、***123456D、123456標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:在主函數(shù)中第一次輸出時(shí)調(diào)用函數(shù)setfill(’*’)設(shè)置填充字符為‘*’,調(diào)用函數(shù)setw(6)設(shè)置每次輸出的寬度為6,所以第一次輸出123時(shí),多余的三個(gè)空位用‘*’填充,即結(jié)果為***123,第二次從輸出流中輸出456。10、下列控制對(duì)齊方式的操作符中,錯(cuò)誤的是()。A、internalB、centerC、leftD、right標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:對(duì)齊方式的控制操作符left的含義是在設(shè)定的寬度內(nèi)左對(duì)齊輸出,右端填已設(shè)定的填充字符:right(此為默認(rèn)設(shè)置)在設(shè)定的寬度內(nèi)右對(duì)齊輸出;internal在設(shè)定的寬度內(nèi)右對(duì)齊輸出,但若有符號(hào)(-或+),符號(hào)置于最左端。11、有如下程序:#include#includeusingnamespacestd;intmain(){cout<A、##OK123B、##OK#123C、OK##123D、OK##123#標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:setfill是設(shè)置填充字符,setw設(shè)置輸出的寬度,它們的作用表現(xiàn)在緊接著輸出的字符串上。這個(gè)寬度是填充后的寬度。所以cout<12、語句ofstreamf("SALARY.DAT",iosbase::app);的功能是建立流對(duì)象f,并試圖打開文件SALARY.DAT與f關(guān)聯(lián),而且()。A、若文件存在,將其置為空文件;若文件不存在,打開失敗B、若文件存在,將文件指針定位于文件尾;若文件不存在,建立一個(gè)新文件C、若文件存在,將文件指針定位于文件首;若文件不存在,打開失敗D、若文件存在,打開失敗;若文件不存在,建立一個(gè)新文件標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:此題考查的是文件打開模式。文件打開模式isobase::app是為添加數(shù)據(jù)而打開(總是在尾部寫),故只有選項(xiàng)B說法正確。13、如下函數(shù)的作用是以雙倍行距輸出文件:voiddouble_space(ifstream&f,ofstream&t){charc;whilc(_________){;_________if(c==’\n’)t.put(c);}}畫線處缺失的部分是()。A、f.get(c)與t.put(c)B、~put(c)與t.get(c)C、t.get(c)與f.put(c)D、t.put(c)與f.get(c)標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:此題考查的是文件流。get()函數(shù)作用是讀入一個(gè)字符,所以調(diào)用它的應(yīng)該是輸入文件流ifstream對(duì)象f.put()函數(shù)作用是輸出一個(gè)字符,所以調(diào)用它的應(yīng)該是輸入文件流ofstream對(duì)象t,故選項(xiàng)B、C排除。讀入和輸出應(yīng)該是有順序的,應(yīng)該先讀入后輸出,所以前一空填fget(c),后一空填t.put(c)。14、要利用C++流進(jìn)行文件操作,必須在程序中包含的頭文件是()。A、iostreamB、fstreamC、strstreamD、iomanip標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:要使用文件流對(duì)象進(jìn)行針對(duì)磁盤文件的I/O操作,必須包含fstrem.頭文件。15、當(dāng)使用ofstream流類定義一個(gè)流對(duì)象并打開一個(gè)磁盤文件時(shí),文件的默認(rèn)打開方式為()。A、iosbase::inB、ios_base::binaryC、ios_base::in[ios_base::outD、ios_base::out標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:對(duì)于ofstream,默認(rèn)的打開方式是iosbase::out,ofstream只能用于輸出,它沒有提供任何用于輸入的操作。16、要建立文件流并打開當(dāng)前目錄下的文件file.dat用于輸入,下列語句中錯(cuò)誤的是()。A、ifstreamfin=ifstream.open("file.dat");B、ifstream*fin=newifstream("file.dat");C、ifstreamfin;fin.open("file.dat");D、ifstream*fin=newifstream();fin->open("file.dat");標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:在選項(xiàng)A中,在賦值號(hào)的莊側(cè)表示建立一個(gè)輸入流對(duì)象fun,而在賦值號(hào)的右側(cè)的表達(dá)式不正確,因?yàn)槲募斎肓黝恑fstrearn不能直接調(diào)用其成員函數(shù)open。17、當(dāng)使用ifstream流類定義一個(gè)流對(duì)象并打開一個(gè)磁盤文件時(shí),文件的默認(rèn)打開方式為()。A、iosbase::inB、iosbase::inIiosbase::outC、iosbase::outD、iosbase::in&iosbase::out標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:對(duì)于ifstream,默認(rèn)打開模代是iosbase::in。ifstream只能用于輸入,它沒有提供任何用于輸出的操作。18、在下列枚舉符號(hào)中,用來表示“相對(duì)于當(dāng)前位置”文件定位方式的是()。A、iosbase::curB、iosbase::begC、iosbase::outD、iosbase::end.標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:C++流的定位方式(也就是指針移動(dòng)方式)有三種,被定義為ios_base::seek_dir中的一組枚舉符號(hào):ios_base::beg相當(dāng)于文件首;ios_base::cur相當(dāng)于當(dāng)前位置(負(fù)數(shù)表示當(dāng)前位置之前);ios_base::end相對(duì)于文件尾。19、下列關(guān)于文件流的描述中,正確的是()。A、文件流只能完成針對(duì)磁盤文件的輸入和輸出B、建立一個(gè)文件流對(duì)象時(shí),必須同時(shí)打開一個(gè)文件C、若輸入流要打開的文件不存在,將建立一個(gè)新文件D、若輸出流要打開的文件不存在,將建立一個(gè)新文件標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:對(duì)于輸入文件流類iffstream,默認(rèn)的打開模式是iosbase::in,當(dāng)以這種方式打開文件而文件又不存在時(shí),通過fail()可測(cè)試打開失敗(返回值為true),對(duì)于輸出文件流類ofstream,默認(rèn)的打開模式是ios_base::out,當(dāng)以這種方式打開文件而文件又不存在時(shí),將自動(dòng)建立新文件。20、若目前D盤根目錄下并不存在test.txt文件,則下列打開文件方式不會(huì)自動(dòng)創(chuàng)建test.txt文件的是()。A、ifstreamfin;fin.open("d:\\test.txt".iosbase::in);B、fstreamrio;rio.open("d:\\test.txt",ios_base::out);C、ofstreamlout;fout.open("d:\\test.txt",ios_base::out);D、ofstreamfout;fout.open("d:\\test.txt",ios.base::app);標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:如果以isobase::in模式打開文件但文件又不存在時(shí),可以通過fail()測(cè)出文件打開失敗,不會(huì)自動(dòng)創(chuàng)建文件。21、如需要向一個(gè)二進(jìn)制文件尾部添加數(shù)據(jù),則該文件的打開方式為()。A、ios_base::appB、ios_base::binary|ios_base::outC、ios_base::outD、ios_base::binary|ios_base::app標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:ios_basc::binary模式足作為二進(jìn)制文件打開,ios_base::app模式是作為添加數(shù)據(jù)而打開(總是在尾部寫)。22、有如下語句序列:ifstreaminfile("DATA.DAT");iffinfile.good())cout<<"A";else{cout<<"B";ofstreamoutfile("DATA.DAT");if(outfile.fail())cout<<"C";elsecout<<"D";}若執(zhí)行這個(gè)語句序列顯示的是BD,則說明文件DATA.DAT()。A、以讀方式打開成功B、以讀方式打開失敗,但以寫方式打開成功C、以讀方式打開失敗,以寫方式打開也失敗D、以讀方式打開成功,以寫方式打開也成功標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:由這個(gè)語句序列顯示的結(jié)果是BD,說明執(zhí)行了cout<<"B"和cout<<"D"語句。國(guó)家二級(jí)C++機(jī)試(C++流)模擬試卷第2套一、選擇題(本題共15題,每題1.0分,共15分。)1、在語句cin>>data;中,cin是()。A、C++的關(guān)鍵字B、類名C、對(duì)象名D、函數(shù)名標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:此題考查的是預(yù)定義流對(duì)象。C++有4個(gè)預(yù)定義的流對(duì)象:cin一標(biāo)準(zhǔn)輸入:cout一標(biāo)準(zhǔn)輸出;Cerr一標(biāo)準(zhǔn)出錯(cuò)信息輸出:clog一帶緩沖的標(biāo)準(zhǔn)出錯(cuò)信息輸出。2、下列有關(guān)C++流的敘述中,錯(cuò)誤的是()。A、C++操作符setw設(shè)置的輸出寬度永久有效B、C++操作符end1可以實(shí)現(xiàn)輸出的回車換行C、處理文件I/O時(shí),要包含頭文件fstreamD、進(jìn)行輸入操作時(shí),eof()函數(shù)用于檢測(cè)是否到達(dá)文件尾標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:此題考查的是C++流。C++操作符setw()的作用是設(shè)置輸入輸出寬度,且只對(duì)當(dāng)前一次有效,并非永久有效,故選項(xiàng)A敘述錯(cuò)誤。3、下列關(guān)于C++預(yù)定義流對(duì)象的敘述中,正確的是()。A、cin是C++預(yù)定義的標(biāo)準(zhǔn)輸入流對(duì)象B、cin是C++預(yù)定義的標(biāo)準(zhǔn)輸入流類C、cout是C++預(yù)定義的標(biāo)準(zhǔn)輸入流對(duì)象D、cout是C++預(yù)定義的標(biāo)準(zhǔn)輸入流類標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:cin為istream流類的標(biāo)準(zhǔn)輸入對(duì)象,標(biāo)準(zhǔn)輸入設(shè)備就是指鍵盤。4、要利用C++流實(shí)現(xiàn)輸入輸出的各種格式控制,必須在程序中包含的頭文件是()。A、fstreamB、istrearaC、ostreamD、iomanip標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:要使用setw、fixed等操作符,須包含iomanip這個(gè)文件。5、下列關(guān)于輸入輸出流的敘述中,正確的是()。A、一個(gè)文件流可以與一個(gè)數(shù)據(jù)文件相聯(lián)系B、cin是專門從鍵盤輸入數(shù)據(jù)的輸入流類C、流運(yùn)算符<<用來從輸入流中讀取數(shù)據(jù)D、寬度設(shè)置的效果永久有效標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:當(dāng)程序與外界環(huán)境進(jìn)行信息交換時(shí),存在著兩個(gè)對(duì)象,一個(gè)是程序中的流對(duì)象,另一個(gè)是文件對(duì)象。程序建立一個(gè)流對(duì)象,并指定這個(gè)流對(duì)象與某個(gè)文件對(duì)象建立連接,程序操作流對(duì)象,流對(duì)象通過文件系統(tǒng)對(duì)所連接的文件對(duì)象產(chǎn)生作用。6、對(duì)于語句cout<A、cout是一個(gè)輸出流對(duì)象B、end1的作用是輸出回車換行C、x是一個(gè)變量D、<<稱作提取運(yùn)算符標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:此題考查的是C++語言的輸出流。符號(hào)“<<”是預(yù)定義插入符,提取運(yùn)算符是“>>”。7、下面關(guān)于C++流的敘述中,正確的是()。A、cin是一個(gè)輸入流對(duì)象B、可以用ifstream定義一個(gè)輸出流對(duì)象C、執(zhí)行語句序列char*y="PQMN";cout<D、執(zhí)行語句序列charx[80];cin.getline(x,80);時(shí),若鍵入Happynewyear則x中的字符串是ˊˊHappyˊˊ標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:此題考查的是C++流的概念和I/O的格式化。cin是類的對(duì)象,亦即輸入流對(duì)象;ifstream是輸入文件流類,不能定義一個(gè)輸出流對(duì)象:C選項(xiàng)中最后輸出的是字符串“PQMN”:D選項(xiàng)中x中字符串應(yīng)該是“Happynewyear”。8、下列關(guān)于輸入流類成員函數(shù)getline()的描述中,錯(cuò)誤的是()。A、該函數(shù)是用來讀取鍵盤輸入的字符串的B、該函數(shù)讀取的字符串長(zhǎng)度是受限制的C、該函數(shù)讀取字符串時(shí),遇到終止符便停止D、該函數(shù)讀取字符串時(shí),可以包含空格標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:此題考查的是getline()函數(shù)。getline()函數(shù)的原型為:istream_type&getline(char_type*s,streamsize,char_typedelim);。其功能是從當(dāng)前輸入位置開始提取字符存入s所指向的具有n個(gè)字節(jié)的字符空間中。遇到以下情況時(shí)停止:已提取并存儲(chǔ)了n-1個(gè)字符:到流尾,無字符可?。幌乱粋€(gè)要提取的字符等于結(jié)束標(biāo)志字符delim。故選項(xiàng)B、C、D都是正確的。getline()函數(shù)不僅可以用來讀取鍵盤輸入的字符串,還可以用來讀取文件等數(shù)據(jù)流,故選項(xiàng)A錯(cuò)誤。9、使用輸入輸出操作符setw,可以控制()。A、輸出精度B、輸出寬度C、對(duì)齊方式D、填充字符標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:此題考查的是C++流的操作符。在C++流中,操作符setw的作用是設(shè)置輸入輸出寬度。10、假定下列語句都是程序運(yùn)行后首次執(zhí)行的輸出語句,其中輸出結(jié)果與另外三條語句不同的語句是()。A、cout<B、cout<C、cout<<123<D、cout<標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:按照選項(xiàng)B的輸出格式控制符輸出的結(jié)果為“123******321”,而按照選項(xiàng)A、C、D的輸出格式控制符輸出的結(jié)果為“123***321”。11、下列語句都是程序運(yùn)行時(shí)的第l條輸出語句,其中一條語句的輸出效果與其他三條語句不同,該語句是()。A、cout<B、cout<C、cout<D、cout<標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:選項(xiàng)A,B,C都沒有指輸出數(shù)據(jù)的寬度,所以在輸出時(shí),按實(shí)際字符的寬度輸出,而選項(xiàng)D指定輸出字符的寬度為6,而實(shí)際輸出的寬度等于5,所以最后一個(gè)字符用空格補(bǔ)齊。12、下列控制對(duì)齊方式的操作符中,錯(cuò)誤的是()。A、internalB、centerC、leftD、right標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:對(duì)齊方式的控制操作符left的含義是在設(shè)定的寬度內(nèi)左對(duì)齊輸出,右端填已設(shè)定的填充字符;right(此為默認(rèn)設(shè)置)在設(shè)定的寬度內(nèi)右對(duì)齊輸出:internal在設(shè)定的寬度內(nèi)右對(duì)齊輸出,但若有符號(hào)(-或+),符號(hào)置于最左端。13、如下函數(shù)的作用是以雙倍行距輸出文件:voiddouble_space(ifstream&f,ofstream&t){charc;whilc(________){;________if(c==’\n’)t.put(c);}}畫線處缺失的部分是()。A、f.get(c)與t.put(c)B、f.put(c)與t.get(c)C、t.get(c)與f.put(c)D、t.put(c)與f.get(c)標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:此題考查的是文件流。get()函數(shù)作用是讀入一個(gè)字符,所以調(diào)用它的應(yīng)該是輸入文件流ifstream對(duì)象f:put()函數(shù)作用是輸出一個(gè)字符,所以調(diào)用它的應(yīng)該是輸入文件流ofstream對(duì)象t,故選項(xiàng)B、C排除。讀入和輸出應(yīng)該是有順序的,應(yīng)該先讀入后輸出,所以前一空填f.get(c),后一空填t.put(c)。14、當(dāng)使用ofstream流類定義一個(gè)流對(duì)象并打開一個(gè)磁盤文件時(shí),文件的默認(rèn)打開方式為()。A、iosbase::inB、ios_base::binaryC、ios_base_::in|iosbase::outD、ios_base::out標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:對(duì)于ofstream,默認(rèn)的打開方式是ios_base::out,ofstream只能用于輸出,它沒有提供任何用于輸入的操作。15、若目前D盤根目錄下并不存在test.txt文件,則下列打開文件方式不會(huì)自動(dòng)創(chuàng)建test.txt文件的是()。A、ifstreamfin;fin.open("d:\\test.txt",ios_base::in);B、fstreamfio;fio.open("d:\\test.txt".ios_base::out);C、ofstreamfout;fout.open("d:\\test.txt",ios_base::out);D、ofstreamfout;fout.open("d:\\test.txt",ios_base::app);標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:如果以iso_base::in模式打開文件但文件又不存在時(shí),可以通過fail()測(cè)出文件打開失敗,不會(huì)自動(dòng)創(chuàng)建文件。國(guó)家二級(jí)C++機(jī)試(C++流)模擬試卷第3套一、選擇題(本題共19題,每題1.0分,共19分。)1、下列語句分別是不同程序中的第一個(gè)輸入輸出語句,若去掉其中的“<<left”,輸出效果將發(fā)生變化的是()。A、cout<<left<<setfill(’*’)<<357;B、cout<<left<<setw(5)<<357;C、cout<<left<<setw(5)<<"ABCDE";D、cout<<left<<"ABCDE“:標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:此題考查的是C++流。setfill()作用是設(shè)置填充字符;left是使輸出數(shù)據(jù)在指定寬度內(nèi)左對(duì)齊:setw()的作用是設(shè)置輸入輸出寬度,且只對(duì)當(dāng)前…次有效。2、有如下程序:#inc1ude<iostream>#inc1ude<iomanip>usingnamespacestd;intmain(){ints[]={123,234};cout<<right<<setfill(’*’)<<setw(6);for(inti=0;i<2;1++){cout<<s[i]<<endl;}retum0;}運(yùn)行時(shí)的輸出結(jié)果是()。A、123B、***123C、***123D、***123234234***234234***標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:在輸出語句中定義了輸出的格式是字符寬度為6,并且向右對(duì)齊,不足的位用‘*’補(bǔ)齊。在CH中,輸出格式的設(shè)置只對(duì)第一次輸出有效.在完成了一個(gè)數(shù)據(jù)的輸出后,寬度設(shè)置自動(dòng)恢復(fù)為0(表示按數(shù)據(jù)實(shí)際寬度輸出)。所以對(duì)于本題來說,在循環(huán)語句中輸出數(shù)組s[0]中的元素時(shí),按照規(guī)定的格式輸出,其結(jié)果為***l23,當(dāng)輸出s[l]時(shí),輸出格式已經(jīng)恢復(fù)到按數(shù)據(jù)實(shí)際寬度輸出,所以此時(shí)輸出為234。3、下列控制格式輸入輸出的操作符中,能夠設(shè)置浮點(diǎn)數(shù)精度的是()。A、set)recisionB、setwC、setfillD、showpoint標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:setprecision(intn):設(shè)置浮點(diǎn)數(shù)的精度(有效位數(shù)或小數(shù)位數(shù)),等價(jià)函數(shù)調(diào)用:io.precision(n)。4、有如下程序:#inc1ude<iostream>#inc1ude<iomanip>usingnamespacestd;intmain(){cout<<setw(10)<<setfill(’x’)<<setprecision(8)<<left;cout<<12.3456793<<_______<<98765;return0;}若程序的輸出是12.345679x98765xxxxx,則劃線處缺失的部分是()。A、setw(10)B、setfill(’x’)C、setprecision(8)D、right標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:根據(jù)程序輸出的結(jié)果最后5個(gè)位置用x進(jìn)行填充,又因?yàn)閟etw(10)設(shè)置輸出的寬度效果只對(duì)一次輸出有效。所以劃線處應(yīng)該填寫setw(10)。5、下列語句都是程序運(yùn)行時(shí)的第1條輸出語句,其中一條語句的輸出效果與其他三條語句不同,該語句是()。A、cout<<internal<<12345;B、cout<<left<<12345;C、cout<<right<<12345;D、cout<<setw(6)<<12,345;標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:選項(xiàng)A),B),C)都沒有指輸出數(shù)據(jù)的寬度,所以在輸出時(shí),按實(shí)際字符的寬度輸出,而選項(xiàng)D)指定輸出字符的寬度為6,而實(shí)際輸出的寬度等于5,所以最后一個(gè)字符用空格補(bǔ)齊。6、有如下程序:#inc1ude<iomanip>#inc1ude<iostream>usingnamespacestd;intmain(){cout<<setfill(’*’)<<setw(6)<<123<<456;return0:}運(yùn)行時(shí)的輸出結(jié)果是()。A、***123***456B、***l23456***C、***123456D、123456標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:在主函數(shù)中第一次輸出時(shí)調(diào)用函數(shù)setfill(’*’)設(shè)置填充字符為‘*’,調(diào)用函數(shù)setw(6)設(shè)置每次輸出的寬度為6,所以第一次輸出123時(shí),多余的三個(gè)空位用‘*’填充,即結(jié)果為***l23,第二次從輸出流中輸出456。7、下列控制對(duì)齊方式的操作符中,錯(cuò)誤的是()。A、internalB、centerC、leftD、right標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:對(duì)齊方式的控制操作符left的含義是在設(shè)定的寬度內(nèi)左對(duì)齊輸出,右端填己設(shè)定的填充字符;right(此為默認(rèn)設(shè)置)在設(shè)定的寬度內(nèi)右對(duì)齊輸出:internal在設(shè)定的寬度內(nèi)右對(duì)齊輸出,但若有符號(hào)(一或+),符號(hào)置于最左端。8、有如下程序:#inc1ude<iostream>#inc1ude<iomanip>usingnamespacestd;intmain(){cout<<setfill(’#’)<<setw(4)<<"OK"<<123<<endl;retum0;}運(yùn)行這個(gè)程序的輸出結(jié)果是()。A、##OK123B、##OK#123C、OK##123D、OK##123#標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:setfill是設(shè)置填充字符,setw設(shè)置輸出的寬度,它們的作用表現(xiàn)在緊接著輸出的字符串上。這個(gè)寬度是填充后的寬度。所以cout<<setfill(’#’)<<setw,(4)<<"OK"<<123中,setfill和setw只作用在"OK",表示在"OK"前面填充2個(gè)≠≠撐。9、若磁盤上己存在某個(gè)文本文件,其全路徑文件名為d:\ncre\test.txt,下列語句中不能打開該文件的是()。A、ifstreamfile("d:\ncre\test.txt");B、ifstreamfile("d:\\ncre\\test.txt");C、ifstreamfile;file.open("d:\\ncre\\test.txt");ifstream("d:\\ncre\\test.txt");D、ifstream*pFile=new標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:此題考查的是轉(zhuǎn)義字符。在字符常量或字符串中,以“\”開頭的一系列字符被看做是一個(gè)轉(zhuǎn)義字符。要表示“\”字符,必須使用轉(zhuǎn)義字符“\\”。10、如下函數(shù)的作用是以雙倍行距輸出文件:voiddouble_space(ifstream&f,ofstream&t){charC;whilc(_____){;_____if(c==’\n’)t.put(c);}}畫線處缺失的部分是()。A、f.get(c)與t.put(c)B、f.put(c)與t.get(c)C、t.get(c)與f.put(c)D、t.put(c)與f.get(c)標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:此題考查的是文件流。get()函數(shù)作用是讀入一個(gè)字符,所以調(diào)用它的應(yīng)該是輸入文件流ifstream對(duì)象f:put()函數(shù)作用是輸出一個(gè)字符,所以調(diào)用它的應(yīng)該是輸入文件流ofstream對(duì)象t,故選項(xiàng)B、C排除。讀入和輸出應(yīng)該是有順序的,應(yīng)該先讀入后輸出,所以前一空填f.get(c),后一空填t.put(c)。11、當(dāng)使用ofstream流類定義一個(gè)流對(duì)象并打開一個(gè)磁盤文件時(shí),文件的默認(rèn)打開方式為()。A、iosbase::inB、ios_base::binaryC、ios_base::inliosbase::outD、ios_base::out標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:對(duì)于ofstream,默認(rèn)的打開方式是iosbase::out,ofstream只能用于輸出,它沒有提供任何用于輸入的操作。12、要建立文件流并打開當(dāng)前目錄下的文件file.dat用于輸入,下列語句中錯(cuò)誤的是()。A、ifstreamfin=ifstream.open("file.dat");B、ifstream*fin;newifstream("file.dat");C、ifstreamfin;fin.open("file.dat");D、ifstream*fin=newifstream();fin一>open("file.dat");標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:在選項(xiàng)A中,在賦值號(hào)的左側(cè)表示建立一個(gè)輸入流對(duì)象fin,而在賦值號(hào)的右側(cè)的表達(dá)式不正確,因?yàn)槲募斎肓黝恑fstream不能直接調(diào)用其成員函數(shù)open。13、當(dāng)使用ifstream流類定義一個(gè)流對(duì)象并打開一個(gè)磁盤文件時(shí),文件的默認(rèn)打開方式為()。A、ios_base::inB、ios_base::inlios_base::outC、ios_base::outD、ios_base::in&ios_base::out標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:對(duì)于ifstream,默認(rèn)打開模式是iosbase::in。ifstream只能用于輸入,它沒有提供任何用于輸出的操作。14、在下列枚舉符號(hào)中,用來表示“相對(duì)于當(dāng)前位置”文件定位方式的是()。A、ios_base::curB、ios_base::begC、ios_base::outD、ios_base::end標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:C++流的定位方式(也就是指針移動(dòng)方式)有三種,被定義為ios_base:.seekdir中的一組枚舉符號(hào):ios_base::beg相當(dāng)于文件首;ios_base::cur相當(dāng)于當(dāng)前位置(負(fù)數(shù)表示當(dāng)前位置之前);ios_base::end相對(duì)于文件尾。15、打開文件時(shí)可單獨(dú)或組合使用下列文件打開模式()。①ios_base::app②ios_base::binary③iosbase::in④iosbase::out若要以二迸制讀方式打開一個(gè)文件,需使用的文件打開模式為A、①③B、①④C、②③D、②④標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:模式ios_base::binary作為二制進(jìn)文件打開,ios_base::out為輸出而打開文件。16、下列關(guān)于文件流的描述中,正確的是()。A、文件流只能完成針對(duì)磁盤文件的輸入和輸出B、建立一個(gè)文件流對(duì)象時(shí),必須同時(shí)打開一個(gè)文件C、若輸入流要打開的文件不存在,將建立一個(gè)新文件D、若輸出流要打開的文件不存在,將建立一個(gè)新文件標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:對(duì)于輸入文件流類ifstream,默認(rèn)的打開模式是ios_base::in,當(dāng)以這種方式打開文件而文件又不存在時(shí),通過fail()可測(cè)試打開失敗(返回值為true),對(duì)于輸出文件流類ofstream,默認(rèn)的打開模式是iosbase::out,當(dāng)以這種方式打開文件而文件又不存在時(shí),將自動(dòng)建立新文件。17、若目前D盤根目錄下并不存在test.txt文件,則下列打開文件方式不會(huì)自動(dòng)創(chuàng)建test.txt文件的是()。A、ifstreamfin;fin.open("d:\\test.txt",ios_base::in);B、fstreamfio;fio.open("d:\\test.txt",ios_base::out);C、ofstreamfout;fout.open("d:\\test.txt",ios_base::out);D、ofstreamfout;fout.open("d:\\test.txt",ios_base::app);標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:如果以isobase::in模式打開文件但文件又不存在時(shí),可以通過fail()測(cè)出文件打開失敗,不會(huì)自動(dòng)創(chuàng)建文件。18、如需要向一個(gè)二進(jìn)制文件尾部添加數(shù)據(jù),則該文件的打開方式為()。A、ios_base::appB、ios_base::binarylios_base::outC、ios_base::outD、ios_base::binaryIios_base::app標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:ios_base::binary模式是作為二進(jìn)制文件打開,ios_base::app模式是作為添加數(shù)據(jù)而打開(總是在尾部寫)。19、有如下語句序列:ifstreaminfile(¨DATA.DAT¨);if(infile.good())cout<<”A¨;else{COUt<<"B";ofstreamoutfile("DATA.DAT");if(outfile.fail())cout<<"C";elsecout<<"D";}若執(zhí)行這個(gè)語句序列顯示的是BD,則說明文件DATA.DAT()。A、以讀方式打開成功B、以讀方式打開失敗,但以寫方式打開成功C、以讀方式打開失敗,以寫方式打開也失敗D、以讀方式打開成功,以寫方式打開也成功標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:由這個(gè)語句序列顯示的結(jié)果是BD,說明執(zhí)行了cout<<"B"和cOut<<"D"語句。國(guó)家二級(jí)C++機(jī)試(C++流)模擬試卷第4套一、選擇題(本題共17題,每題1.0分,共17分。)1、下列關(guān)于C++流的說明中,正確的是()。A、與鍵盤、屏幕、打印機(jī)和通信端口的交互都可以通過流類來實(shí)現(xiàn)B、從流中獲取數(shù)據(jù)的操作稱為插入操作,向流中添加數(shù)據(jù)的操作稱為提取操作C、cin是一個(gè)預(yù)定義的輸入流類D、輸出流有一個(gè)名為open的成員函數(shù),其作用是生成一個(gè)新的流對(duì)象標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:此題考查的是C++流的概念。從輸入流中提取數(shù)據(jù)稱為提取操作,把表達(dá)式插入到輸出流中的操作稱為插入操作,故選項(xiàng)B錯(cuò)誤:cin是一個(gè)預(yù)定義的輸入流對(duì)象而不是流類,故選項(xiàng)C錯(cuò)誤;輸入輸出流中沒有open成員函數(shù),故選項(xiàng)D錯(cuò)誤。2、在語句cin>>data;中,cin是()。A、C++的關(guān)鍵字B、類名C、對(duì)象名D、函數(shù)名標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:此題考查的是預(yù)定義流對(duì)象。C++有4個(gè)預(yù)定義的流對(duì)象:cin一標(biāo)準(zhǔn)輸入:cout一標(biāo)準(zhǔn)輸出;cerr一標(biāo)準(zhǔn)出錯(cuò)信息輸出:clog一帶緩沖的標(biāo)準(zhǔn)出錯(cuò)信息輸出。3、如果利用C++流進(jìn)行輸入輸出,下面的敘述中正確的是()。A、只能借助于流對(duì)象進(jìn)行輸入輸出B、只能進(jìn)行格式化輸入輸出C、只能借助于cin和cout進(jìn)行輸入輸出D、只能使用運(yùn)算符>>和<<進(jìn)行輸入輸出標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:此題考查的知識(shí)點(diǎn)是C++流。利用C++流既可以進(jìn)行有格式輸入輸出,也可以進(jìn)行無格式輸入輸出,所以選項(xiàng)B錯(cuò)誤:CH的4個(gè)預(yù)定義的流對(duì)象為:cin一標(biāo)準(zhǔn)輸入,cout一標(biāo)準(zhǔn)輸出,cerr一標(biāo)準(zhǔn)出錯(cuò)信息輸出,clog一帶緩沖的標(biāo)準(zhǔn)出錯(cuò)信息輸出,選項(xiàng)C錯(cuò)誤;C++流除了可以使用提取“>>”插入“<<”進(jìn)行輸入輸出外,還可以通過流對(duì)象的一些成員函數(shù)進(jìn)行輸入輸出,故選項(xiàng)D錯(cuò)誤。4、下列有關(guān)C++流的敘述中,錯(cuò)誤的是()。A、C++操作符setw設(shè)置的輸出寬度永久有效B、C++操作符endl可以實(shí)現(xiàn)輸出的回車換行C、處理文件I/O時(shí),要包含頭文件fstreamD、進(jìn)行輸入操作時(shí),eof()函數(shù)用于檢測(cè)是否到達(dá)文件尾標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:此題考查的是C++流。CH操作符setw()的作用是設(shè)置輸入輸出寬度,且只對(duì)當(dāng)前一次有效,并非永久有效,故選項(xiàng)A敘述錯(cuò)誤。5、在語句“cout<<’A’:”中,cout是()。A、類名B、對(duì)象名C、函數(shù)名D、C++的關(guān)鍵字標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:C++有四個(gè)預(yù)定義的流對(duì)象:cin標(biāo)準(zhǔn)輸,cout標(biāo)準(zhǔn)輸出,cerr標(biāo)準(zhǔn)出錯(cuò)信息輸出,clog帶緩沖的標(biāo)準(zhǔn)出錯(cuò)信息輸出。6、下列關(guān)于C++流的描述中,錯(cuò)誤的是()。A、cout>>’A’表達(dá)式可輸出字符AB、eof()函數(shù)可以檢測(cè)是否到達(dá)文件尾C、對(duì)磁盤文件進(jìn)行流操作時(shí),必須包含頭文件fstreamD、以iosbase::out模式打開的文件不存在時(shí),將自動(dòng)建立一個(gè)新文件標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:cout是一個(gè)標(biāo)準(zhǔn)輸出流對(duì)象。>>稱之為提取運(yùn)算符,它的功能是從輸入流中提取數(shù)據(jù)賦值給一個(gè)變量。<<為插入運(yùn)算符,其功能是把表達(dá)式的值插入到輸出流中。當(dāng)系統(tǒng)執(zhí)行cout<<x操作時(shí),首先根據(jù)x值的類型調(diào)用相應(yīng)的插入運(yùn)算符重載器函數(shù),把x的值傳送給對(duì)應(yīng)的形參,接著執(zhí)行函數(shù)體,把x的值輸出到顯示器屏幕上,在當(dāng)前屏幕光標(biāo)位置處顯示出來,然后返回ostream流,以便繼續(xù)使用插入運(yùn)算符輸出下一個(gè)表達(dá)式的值。對(duì)于本題來說,要輸出字符‘A’的值應(yīng)該寫成cout<<’A’。因而選項(xiàng)A)是錯(cuò)誤的。7、在C++中,cin是一個(gè)()。A、類B、對(duì)象C、模板D、函數(shù)標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:cin為istream流類的對(duì)象。8、要利用C++流實(shí)現(xiàn)輸入輸出的各種格式控制,必須在程序中包含的頭文件是()。A、fstreamB、istrearaC、ostreamD、iomanip標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:要使用setw、fixed等操作符,須包含iomanip這個(gè)文件。9、在C++中,打開一個(gè)文件時(shí)與該文件建立聯(lián)系的是()。A、流對(duì)象B、模板C、函數(shù)D、類標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:在CH中,打開一個(gè)文件時(shí)與該文件建立聯(lián)系的是流對(duì)象。10、在C++中既可以用于文件輸入又可以用于文件輸出的流類是()。A、fstreamB、ifstreamC、ofstreamD、iostream標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:文件流以磁盤文件以及其他可按文件方式進(jìn)行管理的外部設(shè)備為輸入輸出對(duì)象。ifstream是文件輸入流類,ofstream是文件輸出流類,fstream是文件輸入輸出流類,當(dāng)使用cin、cout的預(yù)定義流對(duì)象進(jìn)行針對(duì)標(biāo)準(zhǔn)設(shè)備的I/O操作,則需要使用iostream文件。11、對(duì)于語句cout<<endk<x;中的各個(gè)組成部分,下列敘述中錯(cuò)誤的是()。A、cout是一個(gè)輸出流對(duì)象B、endl的作用是輸出回車換行C、x是一個(gè)變量D、<<稱作提取運(yùn)算符標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:此題考查的是C++語言的輸出流。符號(hào)“<<”是預(yù)定義插入符,提取運(yùn)算符是“>>”。12、有如下程序:#inc1ude<iostream>usingnamespace.std;intmain(){cout.fill(’*’);cout.width(6);cout.fill(’#’);cout<<123<<end1;retum0;}執(zhí)行后的輸出結(jié)果是()。A、###l23B、123###C、***l23D、123***標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:此題考查的是I/O格式化輸出。函數(shù)width(intn)設(shè)置輸入輸出寬度,當(dāng)實(shí)際數(shù)據(jù)寬度小于制定的寬度時(shí),多余的位置用填充字符填滿:當(dāng)實(shí)際數(shù)據(jù)寬度大于設(shè)置的寬度時(shí),仍按實(shí)際寬度輸出:函數(shù)fill(charc)用來設(shè)置填充字符。13、下面關(guān)于C++流的敘述中,正確的是()。A、cin是一個(gè)輸入流對(duì)象B、可以用ifstream定義一個(gè)輸出流對(duì)象C、執(zhí)行語句序列char*y="PQMN";cout<<y;將輸出字符串"PQMN"的地址D、執(zhí)行語句序列charx[80];cin.getline(x,80);時(shí),若鍵入Happynewyear則x中的字符串是"Happy"標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:此題考查的是C++流的概念和I/O的格式化。cin是類的對(duì)象,亦即輸入流對(duì)象;ifstream是輸入文件流類,不能定義一個(gè)輸出流對(duì)象:C選項(xiàng)中最后輸出的是字符串“PQMN”:D選項(xiàng)中x中字符串應(yīng)該是“Happynewyear”。14、下列關(guān)于輸入流類成員函數(shù)getline()的描述中,錯(cuò)誤的是()。A、該函數(shù)是用來讀取鍵盤輸入的字符串的B、該函數(shù)讀取的字符串長(zhǎng)度是受限制的C、該函數(shù)讀取字符串時(shí),遇到終止符便停止D、該函數(shù)讀取字符串時(shí),可以包含空格標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:此題考查的是getline0函數(shù)。getline()函數(shù)的原型為:istream_type&getline(char_type*s,streamsize,char_typedelim);。其功能是從當(dāng)前輸入位置開始提取字符存入s所指向的具有n個(gè)字節(jié)的字符空間中。遇到以下情況時(shí)停止:已提取并存儲(chǔ)了n一1個(gè)字符;到流尾,無字符可??;下一個(gè)要提取的字符等于結(jié)束標(biāo)志字符delim。故選項(xiàng)B、C、D都是正確的。getline()函數(shù)不僅可以用來讀取鍵盤輸入的字符串,還可以用來讀取文件等數(shù)據(jù)流,故選項(xiàng)A錯(cuò)誤。15、有如下程序#inc1ude<iostream>#inc1ude<iomanip>usingnamespacestd;intmain(){cout<<setprecision(3)<<fixed<<setfill(’*’)<<setw(8);cout<<12.345<<____<<34.567;return0:}若程序的輸出是:**12.345**34.567則程序中下劃線處遺漏的操作符是()。A、setprecision(3)B、fixedC、setfill(’*’)D、setw(8)標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:此題考查的是輸出函數(shù)的格式控制。此題中,操作符setpreclsion的作用是設(shè)置浮點(diǎn)數(shù)的精度;fixed的作用是讓浮點(diǎn)數(shù)按定點(diǎn)格式輸出;setfill的作用是設(shè)置填充字符:setw的作用是設(shè)置輸入輸出的寬度,一次有效的設(shè)置。下劃線處應(yīng)填一個(gè)讓34.567的輸出寬度為8的操作符,即setw(8)。16、使用輸入輸出操作符setw,可以控制()。A、輸出精度B、輸出寬度C、對(duì)齊方式D、填充字符標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:此題考查的是C++流的操作符。在C++流中,操作符setw的作用是設(shè)置輸入輸出寬度。17、已知一程序運(yùn)行后執(zhí)行的第一個(gè)輸出操作是()。cout<<setw(10)<<setfi11(’*’)<<1234;則此操作的輸出結(jié)果是A、11234B、******1234C、**********1234D、1234******標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:此題考查的是輸入輸出的格式控制。setw()控制的是輸入輸出的寬度;setfill()控制的是輸出的填充字符。所以本題的輸出結(jié)果是******l234。國(guó)家二級(jí)C++機(jī)試(C++流)模擬試卷第5套一、選擇題(本題共20題,每題1.0分,共20分。)1、下列關(guān)于C++流的說明中,正確的是()。A、與鍵盤、屏幕、打印機(jī)和通信端口的交互都可以通過流類來實(shí)現(xiàn)B、從流中獲取數(shù)據(jù)的操作稱為插入操作,向流中添加數(shù)據(jù)的操作稱為提取操作C、cin是一個(gè)預(yù)定義的輸入流類D、輸出流有一個(gè)名為open的成員函數(shù),其作用是生成一個(gè)新的流對(duì)象標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:此題考查的是C++流的概念。從輸入流中提取數(shù)據(jù)稱為提取操作,把表達(dá)式插入到輸出流中的操作稱為插入操作,故選項(xiàng)B錯(cuò)誤:cin是一個(gè)預(yù)定義的輸入流對(duì)象而不是流類,故選項(xiàng)C錯(cuò)誤;輸入輸出流中沒有open成員函數(shù),故選項(xiàng)D錯(cuò)誤。2、如果利用C++流進(jìn)行輸入輸出,下面的敘述中正確的是()。A、只能借助于流對(duì)象進(jìn)行輸入輸出B、只能進(jìn)行格式化輸入輸出C、只能借助于cin和cout進(jìn)行輸入輸出D、只能使用運(yùn)算符>>和<<進(jìn)行輸入輸出標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:此題考查的知識(shí)點(diǎn)是C++流。利用C++流既可以進(jìn)行有格式輸入輸出,也可以進(jìn)行無格式輸入輸出,所以選項(xiàng)B錯(cuò)誤:C++的4個(gè)預(yù)定義的流對(duì)象為:cin一標(biāo)準(zhǔn)輸入,cout一標(biāo)準(zhǔn)輸出,Cerr一標(biāo)準(zhǔn)出錯(cuò)信息輸出,clog一帶緩沖的標(biāo)準(zhǔn)出錯(cuò)信息輸出,選項(xiàng)C錯(cuò)誤;C++流除了可以使用提取“>>”插入“<<”進(jìn)行輸入輸出外,還可以通過流對(duì)象的一些成員函數(shù)進(jìn)行輸入輸出,故選項(xiàng)D錯(cuò)誤。3、在語句“cout<<ˊAˊ;”中,cout是()。A、類名B、對(duì)象名C、函數(shù)名D、C++的關(guān)鍵字標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:C++有四個(gè)預(yù)定義的流對(duì)象:cin標(biāo)準(zhǔn)輸,cout標(biāo)準(zhǔn)輸出,Celt標(biāo)準(zhǔn)出錯(cuò)信息輸出,clog帶緩沖的標(biāo)準(zhǔn)出錯(cuò)信息輸出。4、在C++中,cin是一個(gè)()。A、類B、對(duì)象C、模板D、函數(shù)標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:cin為istream流類的對(duì)象。5、C++系統(tǒng)預(yù)定了4個(gè)用于標(biāo)準(zhǔn)數(shù)據(jù)流的對(duì)象,下列選項(xiàng)中不屬于此類對(duì)象的是()。A、coutB、cinC、cerrD、cset標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:C++流有4個(gè)預(yù)定義的流對(duì)象,它們分別是:cin標(biāo)準(zhǔn)輸入;cout標(biāo)準(zhǔn)輸出;CelT標(biāo)準(zhǔn)出錯(cuò)信息輸出:clog帶緩沖的標(biāo)準(zhǔn)出錯(cuò)信息輸出。6、在C++中,打開一個(gè)文件時(shí)與該文件建立聯(lián)系的是()。A、流對(duì)象B、模板C、函數(shù)D、類標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:在C++中,打開一個(gè)文件時(shí)與該文件建立聯(lián)系的是流對(duì)象。7、在C++中既可以用于文件輸入又可以用于文件輸出的流類是()。A、fstreamB、ifstreamC、ofstreamD、iostream標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:文件流以磁盤文件以及其他可按文件方式進(jìn)行管理的外部設(shè)備為輸入輸出對(duì)象。ifstream是文件輸入流類,ofstream是文件輸出流類,fstream是文件輸入輸出流類,當(dāng)使用cin、cout的預(yù)定義流對(duì)象進(jìn)行針對(duì)標(biāo)準(zhǔn)設(shè)備的I/O操作,則需要使用iostream文件。8、有如下程序:#includeusingnamespace.std;intmain(){cout.fin(ˊ*ˊ);cout.width(6);cout.fill(ˊ#ˊ);cout<<123<A、###123B、123###C、***123D、123***標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:此題考查的是I/O格式化輸出。函數(shù)width(intn)設(shè)置輸入輸出寬度,當(dāng)實(shí)際數(shù)據(jù)寬度小于制定的寬度時(shí),多余的位置用填充字符填滿:當(dāng)實(shí)際數(shù)據(jù)寬度大于設(shè)置的寬度時(shí),仍按實(shí)際寬度輸出:函數(shù)fill(charc)用來設(shè)置填充字符。9、有如下程序#include#includeusingnamespacesta;intmain(){cout<A、setprecision(3)B、fixedC、setfill(ˊ*ˊ)D、setw(8)標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:此題考查的是輸出函數(shù)的格式控制。此題中,操作符setprecision的作用是設(shè)置浮點(diǎn)數(shù)的精度;fixed的作用是讓浮點(diǎn)數(shù)按定點(diǎn)格式輸出;setfill的作用是設(shè)置填充字符:setw的作用是設(shè)置輸入輸出的寬度,一次有效的設(shè)置。下劃線處應(yīng)填一個(gè)讓34.567的輸出寬度為8的操作符,即setw(8)。10、已知一程序運(yùn)行后執(zhí)行的第一個(gè)輸出操作是()。cout<A、1234B、******1234C、**********1234D、1234******標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:此題考查的是輸入輸出的格式控制。setw()控制的是輸入輸出的寬度;setfill()控制的是輸出的填充字符。所以本題的輸出結(jié)果是******1234。11、下列語句分別是不同程序中的第一個(gè)輸入輸出語句,若去掉其中的“<A、cout<B、cout<C、cout<D、cout<標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:此題考查的是C++流。setfill0作用是設(shè)置填充字符:left是使輸出數(shù)據(jù)在指定寬度內(nèi)左對(duì)齊:setw()的作用是設(shè)置輸入輸出寬度,且只對(duì)當(dāng)前一次有效。12、有
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 38003.4-2024軍民通用資源分類與編碼第4部分:器材類衛(wèi)生器材
- 信息技術(shù)教師勞動(dòng)合同范本
- 房地產(chǎn)開發(fā)商合同 示范文本
- 室內(nèi)設(shè)計(jì)裝修協(xié)議格式
- 個(gè)人商業(yè)店面出租合同協(xié)議
- 2024年化糞池清掏服務(wù)合同書
- 標(biāo)準(zhǔn)拆遷安置房買賣合同
- 公司借款合同的編寫要點(diǎn)與示范
- 旅游項(xiàng)目投資合作協(xié)議模板
- 個(gè)人車輛租賃合同
- 鐵路英語 課件 Unit-3 Railway Maintenance
- 拖拉機(jī)底盤優(yōu)化設(shè)計(jì)方案
- 高職《旅游管理》專業(yè)教學(xué)計(jì)劃
- 屋面工程技術(shù)規(guī)范G50345-2012
- 2023年工會(huì)財(cái)務(wù)管理制度范本
- 足球比賽記錄表格
- 營(yíng)養(yǎng)科工作制度與職責(zé)
- 《統(tǒng)計(jì)學(xué)-基于Excel》(第3版)課后參考答案 賈俊平
- 杭州郭莊調(diào)研
- 短歌行教學(xué)講解課件
- 機(jī)械設(shè)計(jì)圖紙標(biāo)準(zhǔn)化
評(píng)論
0/150
提交評(píng)論