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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

1.格式字符

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

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

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

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

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

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

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

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

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

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

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

注意:輸出數據的實際精度并不完全取決于格式控制中的域寬和小數的域寬,而是取決于數據在計算機內的存儲精度。通常系統只能保證float類型有7位有效數字,double類型有15位有效數字。若你指定的域寬和小數的域寬超過相應類型數據的有效數字,輸出的多余數字是沒有意義的,只是系統用來填充域寬而已。4.輸出數據左對齊

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

5.使輸出數據總帶+號或-號

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

溫馨提示

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

評論

0/150

提交評論