C語言中的各輸出格式含義

2021-08-21 18:17:15 字數 1104 閱讀 6443

%g是c語言printf()函式的乙個輸出格式型別,它表示以%f%e中較短的輸出寬度輸出單、雙精度實數,在指數小於-4或者大於等於精度時使用%e格式

printf()輸出格式型別說明:

輸出型別       格式字元意義

a        浮點數、十六進製制數字和p-計數法(c99)

a        浮點數、十六進製制數字和p-計數法(c99)

c   輸出單個字元

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

e   以指數形式輸出單、雙精度實數  指數標識為e

e   以指數形式輸出單、雙精度實數  指數標識為e

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

g       以%f%e中較短的輸出寬度輸出單、雙精度實數,在指數小於-4或者大於等於精度時使用%e格式

i         有符號十進位制整數(與%d相同)

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

p       輸出記憶體位址形式資料(16進製制)

s   輸出字串

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

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

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

ps: 有關%g輸出的補充說明

%g用於列印浮點型資料時,會去掉多餘的零,至多保留六位有效數字(不同於%e的預設保留小數點後6位)

當%g用於列印超過6位的浮點型資料時,因為精度問題,%f不得不輸出乙個不精確的超過六位的數字,%e也是同樣,而%g此時會選擇%e格式進行輸出,並且按第一條要求,去掉多餘的零,並且四捨五入到6位數字。這是《c primer plus》中所說的超過精度的時候的情況。  (可見,這個6位,是按float型別精度來計算的。)

當乙個數字的絕對值很小的時候,要表示這個數字所需要的字元數目就會多到讓人難以接受。舉例而言,如果我們把π*10^-10寫作0.00000000000314159就會顯得非常醜陋**,反之,如果我們寫作3.14159e-10,就不但簡潔而且易讀好懂。當指數是-4時,這兩種表現形式大小相同。對於比較小的數值,除非該數的指數小於或者等於-5,%g才會採用科學技術發來表示,即,以%e的格式進行輸出。

本回答由電腦網路分類達人 張弦推薦

c語言輸出格式

stdio.h標頭檔案使我們可以訪問標準i o庫,stdlib.h定義了exit success和exit failure符號,string.h標頭檔案提供的函式操縱字串。常見printf格式 d 以十進位制形式列印乙個整型值 o 以八進位制形式列印乙個整型值 x 以十六進製制形式列印乙個整型值 g...

c語言輸出格式

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

c語言中輸入輸出格式集合

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