C C 輸出格式控制符

2022-07-01 23:57:14 字數 1647 閱讀 9046

c/c++格式控制符

一、型別

型別字元用以表示輸出資料的型別,其格式符和意義如下表所示:

格式字元意義d

以十進位制形式輸出帶符號整數(正數不輸出符號)

o以八進位制形式輸出無符號整數(不輸出字首0)

x,x以十六進製制形式輸出無符號整數(不輸出字首ox)

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

f以小數形式輸出單、雙精度實數

e,e以指數形式輸出單、雙精度實數

g,g以%f或%e中較短的輸出寬度輸出單、雙精度實數

c輸出單個字元

s輸出字串

p輸出指標

二、標誌

標誌字元為 -、+、# 和空格四種,其意義下表所示:

標 志意義

–結果左對齊,右邊填空格

+輸出符號(正號或負號)

空格輸出值為正時冠以空格,為負時冠以負號

#對c、s、d、u類無影響; 對o類,在輸出時加字首o;

對x類,在輸出時加字首0x; 對e、g、f 類當結果有小數時才給出小數點。

三、輸出最小寬度

用十進位制整數來表示輸出的最少位數。

若實際位數多於定義的寬度,則按實際位數輸出,若實際位數少於定義的寬度則補以空格或0。

eg.  "%6f":輸出最少6位。

四、精度

精度格式符以「.」開頭,後跟十進位制整數。

本項的意義是:如果輸出數字,則表示小數的位數;如果輸出的是字元,則表示輸出字元的個數;若實際位數大於所定義的精度數,則截去超過的部分。

eg.  "%.2f":保留2位有效位。

五、長度

長度格式符為h、l兩種,h表示按短整型量輸出,l表示按長整型量輸出。

特殊的:

要輸出%d只需在前面再加上乙個%,要輸出\只需在前面再加上乙個\,要輸出雙引號也只需在前面加上乙個\即可

%x、%x、%#x、%#x 四種用法輸出為:2f、 2f、 0x2f、 0x2f

eg.:

錯誤:time_t _t; time(&_t);

time_t _t1 = _t - m_starttime;

output(_t("\n*** current time: %lds, time last: %lds"), _t, _t1);

正確:time_t _t; time(&_t);

time_t _t1 = _t - m_starttime;

output(_t("\n*** current time: %llds, time last: %llds"), _t, _t1);

前者當只輸出_t時結果正確,同時輸出_t1時結果為0,最終發現window10 64位下長度不夠,修改後結果正確。

C 輸出格式控制符

net有兩種格式控制符,一種是標準格式控制符,另一種是使用者自定義的。標準格式的一般形式 n表示佔位符的序號,0對應第乙個變數,1對應第2個變數,依此類推。m 是可選項,m表示輸出的變數在控制台中所佔據的字元個數。yn 是可選項。y是格式化說明符,n為正整數,代表定義資料的精度範圍。1 貨幣金額格式...

輸出格式控制

1 轉換說明符 a a 浮點數 十六進製制數字和 p p 記數法 c99 c 字元 d 有符號十進位制整數 f 浮點數 包括float 和doulbe e e 浮點數指數輸出 e e 記數法 g g 浮點數不顯無意義的零 0 i 有符號十進位制整數 與 d相同 u 無符號十進位制整數 o 八進位制整...

輸出格式控制

在輸出資料時,為簡便起見,往往不指定輸出的格式,由系統根據資料的型別採取預設的格式,但有時希望資料按指定的格式輸出,如要求以十六進製制或八進位制形式輸出乙個 整數,對輸出的小數只保留兩位小數等。有兩種方法可以達到此目的。一種是我們已經介紹過的使用控制符的方法 詳情請檢視 c 輸入cout與輸出cin...