printf函數(shù)中常用的格式說(shuō)明_第1頁(yè)
printf函數(shù)中常用的格式說(shuō)明_第2頁(yè)
printf函數(shù)中常用的格式說(shuō)明_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

3.2.2printf函數(shù)中常用的格式說(shuō)明格式控制中,每個(gè)格式說(shuō)明都必須用“%”開頭,以一個(gè)格式字符作為結(jié)束,在此之間可以根據(jù)需要插入“寬度說(shuō)明”、左對(duì)齊符號(hào)“-”、前導(dǎo)零符號(hào)“0"等。

1.格式字符

%后允許使用的格式字符和它們的功能如表3.1所示。在某些系統(tǒng)中,可能不允許使用大寫字母的格式字符,因此為了使程序具有通用性,在寫程序時(shí)應(yīng)盡量不用大寫字母的格式字符。2.長(zhǎng)度修飾符

在%和格式字符之間,可以加入長(zhǎng)度修飾符,以保證數(shù)據(jù)輸出格式的正確和對(duì)齊。對(duì)于長(zhǎng)整型數(shù)(long)應(yīng)該加l,即%ld;對(duì)于短整型數(shù)(short)可以加h,即%hd。3.輸出數(shù)據(jù)所占的寬度說(shuō)明

當(dāng)使用%d,%c,%f,%e,%s,…的格式說(shuō)明時(shí),輸出數(shù)據(jù)所占的寬度(域?qū)?由系統(tǒng)決定,通常按照數(shù)據(jù)本身的實(shí)際寬度輸出,前后不加空格,并采用右對(duì)齊的形式。也可以用以下三種方法人為控制輸出數(shù)據(jù)所占的寬度(域?qū)?,按照使用者的意愿進(jìn)行輸出。

(1)在%和格式字符之間插入一個(gè)整數(shù)常數(shù)來(lái)指定輸出的寬度n(例如%4d,n代表整數(shù)4)。如果指定的寬度n不夠,輸出時(shí)將會(huì)自動(dòng)突破,保證數(shù)據(jù)完整輸出。如果指定的寬度n超過(guò)輸出數(shù)據(jù)的實(shí)際寬度,輸出時(shí)將會(huì)右對(duì)齊,左邊補(bǔ)以空格,達(dá)到指定的寬度。

(2)對(duì)于float和double類型的實(shí)數(shù),可以用“n1.n2”的形式來(lái)指定輸出寬度(n1和n2分別代表一個(gè)整常數(shù)),其中n1指定輸出數(shù)據(jù)的寬度(包括小數(shù)點(diǎn)),n2指定小數(shù)點(diǎn)后小數(shù)位的位數(shù),n2也稱為精度(例如%12.4f,n1代表整數(shù)12,n2代表整數(shù)4)。

對(duì)于f,e或E,當(dāng)輸出數(shù)據(jù)的小數(shù)位多于n2位時(shí),截去右邊多余的小數(shù),并對(duì)截去部分的第一位小數(shù)做四舍五入處理;當(dāng)輸出數(shù)據(jù)的小數(shù)位少于n2時(shí),在小數(shù)的最右邊補(bǔ)0,使得輸出數(shù)據(jù)的小數(shù)部分寬度為n2。若給出的總寬度n1小于n2加上整數(shù)位數(shù)和小數(shù)點(diǎn)(e或E格式還要加上指數(shù)的5位),則自動(dòng)突破n1的限制;反之,數(shù)字右對(duì)齊,左邊補(bǔ)空格。

也可以用“.n2”格式(例如%.6f),不指定總寬度,僅指定小數(shù)部分的輸出位數(shù),由系統(tǒng)自動(dòng)突破,按照實(shí)際寬度輸出。如果指定“n1.0”或“.0”格式(例如%12.0f或%.0f),則不輸出小數(shù)點(diǎn)和小數(shù)部分。

對(duì)于g或G,寬度用來(lái)指定輸出的有效數(shù)字位數(shù)。若寬度超過(guò)數(shù)字的有效數(shù)字位數(shù),則左邊自動(dòng)補(bǔ)0;若寬度不足,則自動(dòng)突破。不指定寬度,將自動(dòng)按照b位有效數(shù)字輸出,截去右邊多余的小數(shù),并對(duì)截去部分的第一位小數(shù)做四舍五入處理。

(3)對(duì)于整型數(shù),若輸出格式是“0n1”或“.n2”格式(例如%05d或%.5d},則如果指定的寬度超過(guò)輸出數(shù)據(jù)的實(shí)際寬度,輸出時(shí)將會(huì)右對(duì)齊,左邊補(bǔ)0。

對(duì)于float和double類型的實(shí)數(shù),若用“0n1”或“n2”格式輸出(例如%012.4f),如果給出的總寬度n1大于n2加上整數(shù)位數(shù)和小數(shù)點(diǎn)(e或E格式還要加上指數(shù)的5位),則數(shù)字右對(duì)齊,左邊補(bǔ)0。

對(duì)于字符串,格式“n1”指定字符串的輸出寬度,若n1小于字符串的實(shí)際長(zhǎng)度,則自動(dòng)突破,輸出整個(gè)字符串;若n1大于字符串的實(shí)際長(zhǎng)度,則右對(duì)齊,左邊補(bǔ)空格。若用“.n2”格式指定字符串的輸出寬度,則若n2小于字符串的實(shí)際長(zhǎng)度,將只輸出字符串的前n2個(gè)字符。

注意:輸出數(shù)據(jù)的實(shí)際精度并不完全取決于格式控制中的域?qū)捄托?shù)的域?qū)挘侨Q于數(shù)據(jù)在計(jì)算機(jī)內(nèi)的存儲(chǔ)精度。通常系統(tǒng)只能保證float類型有7位有效數(shù)字,double類型有15位有效數(shù)字。若你指定的域?qū)捄托?shù)的域?qū)挸^(guò)相應(yīng)類型數(shù)據(jù)的有效數(shù)字,輸出的多余數(shù)字是沒(méi)有意義的,只是系統(tǒng)用來(lái)填充域?qū)挾选?.輸出數(shù)據(jù)左對(duì)齊

通常輸出數(shù)據(jù)都隱含右對(duì)齊,如果想左對(duì)齊,可以在格式控制中的“%”和寬度之間加一個(gè)“-”號(hào)來(lái)實(shí)現(xiàn)。

5.使輸出數(shù)據(jù)總帶+號(hào)或-號(hào)

通常輸出的數(shù)據(jù)如果是負(fù)數(shù),前面有符號(hào)“-”,但正數(shù)前面的“+”一般都省略了。如果要每一個(gè)數(shù)前面都帶正負(fù)號(hào),可以在“%”和格式字符間加一個(gè)“+”號(hào)來(lái)

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論