C語言格式化輸出

2021-10-09 18:24:35 字數 2356 閱讀 9387

1.格式控制符形式

% [o] 《格式控制符》

其中,中括號裡的內容是可選的,<>裡的內容是必須的。以下對各個標誌的含義簡要介紹:

%:表示格式控制的起始符號,必不可少。–格式控制起始位置

+/-:表示對齊標誌,+表示右對齊,-表示左對其,預設情況下為右對齊。–對齊標誌

o:表示當實際長度沒有格式控制的長度大時,用「o」補全。–補全內容

m/m.n:其中,m表示輸出所佔位寬,n表示實際取識別符號的多少位輸出–佔位長度

l/h:l對整型指long型,對實型指double型;h用於將整型字元修正為short型

<>:格式控制符

1.1格式控制符

%d:用於輸出整型數(整型指本質為整型的數,如int、short等)

%c:用於輸出乙個字元

%s:用於輸出乙個字串

%o:以無符號八進位制形式輸出整數值

%x:以無符號十六進製制形式輸出整數值

%u:以無符號形式輸出十進位制數

%f:用來輸出浮點數(float),精度為6位小數,第七位四捨五入。

%p:指標的值

1.2佔位長度與格式控制符搭配輸出

1.2.1 佔位長度與%d搭配

%md:m為指定的輸出資料的位寬。如果資料的位數小於m,則左端補以空格(因為預設右對齊,所以左補用以佔位);如果資料的位數大於m,則以資料的實際位數輸出。示例如下:

1.2.2 佔位長度與%c搭配

一般無此搭配方式。

1.2.3 佔位長度與%s搭配

%ms:m為指定的輸出字串的寬度。如果字串的位數小於m,則左端補空格;如果字串的位數大於m,則以實際的字串長度輸出。例項如下:

%m.ns:意為從左向右擷取字串的n位輸出到佔位m的位置,左補空。設字串實際長度為len,則具體表現形式如下:

1.若n擷取字串前n個字元,然後做如下判斷:

若m若m>n:則輸出m個字元,左補空

2.若n>len

取字串的實際(長度len)字元,然後做如下判斷:

若m若m>len:則輸出m個字元,左補空格

1.2.4 佔位長度與%f搭配

%m.nf:m為佔位寬度,n為小數點右邊的位數,浮點數的規則較字串比起來更為複雜些,你不但要關注浮點數的總佔位寬,還要關注小數的佔位寬。小數部分的精度為lendot,下面分整數字數與小數字數簡要分析下:

1.2.4.1小數部分:

由於浮點數float的精度為6(即lendot=6)。算小數部分原則:

(1)首先根據浮點數的實際精度得出近似值,原則為:

若浮點數的實際小數字長大於6,則擷取6位,第七位四捨五入;若浮點數的實際小數字數小於6,則後補0。如1.23轉換成1.230000;1.23456789轉換成1.234568

(2)根據上步中的結果值,從中擷取n位長。注意:n一般小於或等於6,因為超過6位的資料不真實。

1.2.4.2整數部分:

整數部分完整輸出,唯一要注意的是:

當m>(整數字寬+小數點位寬+n)時,左補空。

1.2.4.3示例如下:

1.2.4.4建議

一般不對浮點數float輸出大於6位的小數,因為大於6位後的資料已經在浮點精度之外了,是不正確的資料。

1.3補全內容與佔位長度、控制符的搭配輸出

當識別符號的佔位長度大於實際的長度時,在多出的位置處用補全內容填充。補全內容預設為空,可以顯式指定補全內容為0。例項如下:

1.4對齊標誌

對齊標誌有兩種:+和-,其中預設為+。+表示右對齊,-表示左對齊。對齊標誌要相對簡單、更好理解,所以不細講,直接舉例驗證,如下:

左對齊:

C語言格式化輸出

d整型輸出,d長整型輸出 o以八進位制數形式輸出整數 x以十六進製制數形式輸出整數,或輸出字串的位址 u以十進位制數輸出unsigned型資料 無符號數 c用來輸出乙個字元 挨個輸出陣列中的元素 s用來輸出乙個字串 一次輸出整個陣列的元素 f用來輸出實數,以小數形式輸出,預設情況下保留小數點6位 e...

C語言 格式化輸出 m n

格式字元 格式字元用以指定輸出項的資料型別和輸出格式。d格式 用來輸出十進位制整數 int 有以下幾種用法 d 按整型資料的實際長度輸出。m.nd m為指定的輸出欄位的寬度,n定義為實際輸出的個數。m 0時為右對齊,根據n的大小,不足在左邊補0 m 0時和m 0好像沒有區別 如果省略m或者n,則m ...

C語言printf格式化輸出

d 十進位制有符號整數 u 十進位制無符號整數 f 浮點數 s 字串 c 單個字元 p 指標的值 e 指數形式的浮點數 x x 無符號以十六進製制表示的整數 o 無符號以八進位制表示的整數 注意是字母歐,不是零 g 自動選擇合適的表示法 1 對於 d 2 對於 f 3 對於 s 4 對於 x 多在錯...