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

下載本文檔

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

文檔簡介

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

1.格式字符

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

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

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

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

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

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

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

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

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

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

對于字符串,格式“n1”指定字符串的輸出寬度,若n1小于字符串的實際長度,則自動突破,輸出整個字符串;若n1大于字符串的實際長度,則右對齊,左邊補空格。若用“.n2”格式指定字符串的輸出寬度,則若n2小于字符串的實際長度,將只輸出字符串的前n2個字符。

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

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

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

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論