C輸入和輸出的概念_第1頁(yè)
C輸入和輸出的概念_第2頁(yè)
C輸入和輸出的概念_第3頁(yè)
C輸入和輸出的概念_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

本文格式為Word版,下載可任意編輯——C輸入和輸出的概念C++輸入和輸出的概念

程序的輸入指的是從輸入文件將數(shù)據(jù)傳送給程序,程序的輸出指的是從程序?qū)?shù)據(jù)傳送給輸出文件。下面是我為大家整理的C++輸入和輸出的概念,接待參考~

我們經(jīng)常用到的輸入和輸出,都是以終端為對(duì)象的,即從鍵盤(pán)輸入數(shù)據(jù),運(yùn)行結(jié)果輸出到顯示器屏幕上。從操作系統(tǒng)的角度看,每一個(gè)與主機(jī)相連的輸入輸出設(shè)備都被看作一個(gè)文件。除了以終端為對(duì)象舉行輸入和輸出外,還經(jīng)常用磁盤(pán)光盤(pán)作為輸入輸出對(duì)象,磁盤(pán)文件既可以作為輸入文件,也可以作為輸出文件。

程序的輸入指的是從輸入文件將數(shù)據(jù)傳送給程序,程序的輸出指的是從程序?qū)?shù)據(jù)傳送給輸出文件。

C++輸入輸出包含以下三個(gè)方面的內(nèi)容:

對(duì)系統(tǒng)指定的標(biāo)準(zhǔn)設(shè)備的輸入和輸出。即從鍵盤(pán)輸入數(shù)據(jù),輸出到顯示器屏幕。這種輸入輸出稱(chēng)為標(biāo)準(zhǔn)的輸入輸出,簡(jiǎn)稱(chēng)標(biāo)準(zhǔn)I/O。

以外存磁盤(pán)文件為對(duì)象舉行輸入和輸出,即從磁盤(pán)文件輸入數(shù)據(jù),數(shù)據(jù)輸出到磁盤(pán)文件。以外存文件為對(duì)象的輸入輸出稱(chēng)為文件的=輸入輸出,簡(jiǎn)稱(chēng)文件I/O。

對(duì)內(nèi)存中指定的空間舉行輸入和輸出。通常指定一個(gè)字符數(shù)組作為存儲(chǔ)空間實(shí)際上可以利用該空間存儲(chǔ)任何信息。這種輸入和輸出稱(chēng)為字符串輸入輸出,簡(jiǎn)稱(chēng)串I/O。

C++采取不同的方法來(lái)實(shí)現(xiàn)以上種輸入輸出。為了實(shí)現(xiàn)數(shù)據(jù)的有效滾動(dòng),C++系統(tǒng)供給了浩瀚的I/O類(lèi)庫(kù),調(diào)用不同的類(lèi)去實(shí)現(xiàn)不同的功能。

在C語(yǔ)言中,用printf和scanf舉行輸入輸出,往往不能保證所輸入輸出的數(shù)據(jù)是穩(wěn)當(dāng)?shù)陌埠玫?。在C++的輸入輸出中,編譯系統(tǒng)對(duì)數(shù)據(jù)類(lèi)型舉行嚴(yán)格的檢查,只要類(lèi)型不正確的數(shù)據(jù)都不成能通過(guò)編譯。因此C++的.I/O操作是類(lèi)型安好typesafe的。C++的I/O操作是可擴(kuò)展的,不僅可以用來(lái)輸入輸出標(biāo)準(zhǔn)類(lèi)型的數(shù)據(jù),也可以用于用戶(hù)自定義類(lèi)型的數(shù)據(jù)。C++對(duì)標(biāo)準(zhǔn)類(lèi)型的數(shù)據(jù)和對(duì)用戶(hù)聲明類(lèi)型數(shù)據(jù)的輸入輸出,采用同樣的方法處理。C++通過(guò)I/O類(lèi)庫(kù)來(lái)實(shí)現(xiàn)豐富的I/O功能。C++的輸入輸出優(yōu)于C語(yǔ)言中的printf和scanf,但是對(duì)比繁雜,要掌管大量細(xì)節(jié)。

C++的I/O對(duì)C的進(jìn)展--類(lèi)型安好和可擴(kuò)展性

在C語(yǔ)言中,用primf和scanf舉行輸人輸出,往往不能保證所輸入輸出的數(shù)據(jù)是穩(wěn)當(dāng)?shù)?、安好的。學(xué)過(guò)C語(yǔ)言的讀者可以分析下面的用法,想用格式符%d輸出一個(gè)整數(shù),但不提防用它輸出了單精度變量和字符串,會(huì)展現(xiàn)什么處境?假定所用的系統(tǒng)int型占兩個(gè)字節(jié)。

printf%d,i;//i為整型變量,正確,輸出i的值

printf%d,f;//f為單精度變量,輸出f變量中前兩個(gè)字節(jié)的內(nèi)容

printf%d,C++;//輸出宇符串C++的地址

編譯系統(tǒng)認(rèn)為以上語(yǔ)句都是合法的,而不對(duì)數(shù)據(jù)類(lèi)型的合法性舉行檢查,鮮明所得到的結(jié)果不是人們所期望的,在用scanf輸入時(shí),有時(shí)展現(xiàn)的問(wèn)題是很隱秘的。如:

scanf%d,i;//正確,輸入一個(gè)整數(shù),賦給整型變量i

scanf%d,i;//漏寫(xiě)

假使已有聲明語(yǔ)句“inti=1;”,定義i為整型變量,其初值為1。編譯系統(tǒng)不認(rèn)為上面的scanf語(yǔ)句出錯(cuò),而是將輸人的值存放到地址為000001的內(nèi)存單元中,這個(gè)錯(cuò)誤可能產(chǎn)生嚴(yán)重的后果。

C++為了與C兼容,留存了用printf和scanf舉行輸出和輸人的方法,以便使過(guò)去所編寫(xiě)的大量的C程序依舊可以在C++的環(huán)境下運(yùn)行,但是夢(mèng)想讀者在編寫(xiě)新的C++程序時(shí)不要用C的輸入輸出機(jī)制,而要用C++自己特有的輸人輸出方法。在C++的輸入輸出中,編譯系統(tǒng)對(duì)數(shù)據(jù)類(lèi)型舉行嚴(yán)格的檢查,只要類(lèi)型不正確的數(shù)據(jù)都不成能通過(guò)編譯。因此C++的I/O操作是類(lèi)型安好typesafe的。

此外,用printf和scanf可以輸出和輸入標(biāo)準(zhǔn)類(lèi)型的數(shù)據(jù)如int、float、double、char,但無(wú)法輸出用戶(hù)自己聲明的類(lèi)型(如數(shù)組、布局體、類(lèi))的數(shù)據(jù)。在C++中,會(huì)經(jīng)常遇到對(duì)類(lèi)對(duì)象的輸人輸出,鮮明無(wú)法使用printf和scanf來(lái)處理。C++的I/O操作是可擴(kuò)展的,不僅可以用來(lái)輸人輸出標(biāo)準(zhǔn)類(lèi)型的數(shù)據(jù),也可以用于用戶(hù)自定義類(lèi)型的數(shù)據(jù)。C++對(duì)標(biāo)準(zhǔn)類(lèi)型的數(shù)據(jù)和對(duì)用戶(hù)聲明類(lèi)型數(shù)據(jù)的輸人輸出,采用同樣的方法處理。鮮明,在用戶(hù)聲領(lǐng)略一個(gè)新類(lèi)后,是無(wú)法用printf和scanf函數(shù)直接輸出和輸人這個(gè)類(lèi)的對(duì)象的。

可擴(kuò)展性是C++輸人輸出的重要特點(diǎn)之一,它能提高軟件的重用性,加快軟件的開(kāi)發(fā)過(guò)程。

C++通過(guò)I/O類(lèi)庫(kù)來(lái)實(shí)現(xiàn)豐富的I/O功能。這樣使C++的輸人輸出明顯地

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論