printf函式格式化輸出使用總結

2021-07-04 09:40:44 字數 3199 閱讀 2990

printf函式稱為格式輸出函式,其關鍵字最末乙個字母f即為「格式」(format)之意。

其功能是按使用者指定的格式,把指定的資料顯示到顯示器螢幕上。printf函式是乙個標準庫函式,它的函式原型在標頭檔案「stdio.h」中。

但作為乙個特例,不要求在使用 printf 函式之前必須包含stdio.h檔案。

printf函式呼叫的一般形式為:

printf(「格式控制字串」, 輸出表列)

其中格式控制字串用於指定輸出格式。格式控制串可由格式字串和非格式字串兩種組成。格式字串是以%開頭的字串,在%後面跟有各種格式字元,以說明輸出資料的型別、形式、長度、小數字數等。如:

非格式字串原樣輸出,在顯示中起提示作用。輸出表列中給出了各個輸出項,要求格式字串和各輸出項在數量和型別上應該一一對應。

在turbo c中格式字串的一般形式為:

[標誌][輸出最小寬度][.精度][長度]型別。

其中方括號中的項為可選項。

各項的意義介紹如下。

1) 型別

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

格式字元意義d

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

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

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

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

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

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

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

c輸出單個字元

s輸出字串

\b                               退格

\f                               換頁

\n                               換行

\r                               回車

\t                               製表符

\047                             八進位制47,即 單引號

\c                              c代表任一其他字元,例如」\「

printf 函式

轉義字元                       定義

c                               字元

s                               字串

d                               十進位制整數

ld                              十進位製長整數

u                               十進位制無符號整數

lu                              十進位制無符號長整數

x                               十六進製制整數

lx                              十六進製製長整數

o                                八進位制整數

lo                               八進位製長整數

e                                科學計數法表示浮點數

f                                浮點數

g                                選用e或f中較短的一種形式

printf 修飾符

字元                              定義

-                                 左對齊修飾符

#                                 顯示8進製整數時在前面加個0

顯示16進製制整數時在前面加0x

+                                 顯示使用d,e,f,g轉換的整數時,加上正負號+ 或 -

0                                 用0而不用空白符來填充顯示的值

printf的格式說明符

假定x='a'  y=15 z=2.3 $1 = bob smith

格式說明符                                功能

%c                                   列印單個ascii字元

printf ("the character is %c\n",x)

輸出:the character is a

%d                                   列印乙個十進位制整數

printf("ths boy is %d years old\n",y)

輸出:the boy is 15 years old

%e                                   列印數字的e計數法形式

printf("z is %e\n",z)

輸出: z is 2.3e+01

%f                                   列印乙個浮點數

printf("z is %f\n",2.3*2)

輸出: z is 4.600000

%o                                   列印數字的八進位制值

printf ("z is %o\n",y)

輸出:z is 17

%s                                   列印乙個字串

printf ("the name is %s\n",$1)

輸出:the name is bob smith

%x                                   列印數字的十六進製制

printf("y is %x\n",y)

輸出:x is f

格式化輸出函式printf()

符號作用 d十進位制有符號整數 u十進位制無符號整數 f浮點數 s字串 c單個字元 p指標的值 e指數形式的浮點數 x,x 無符號十六進製制表示的整數 o無符號以八進位制表示的整數 g自動選擇合適的表示法 g表示以 f e中較短的輸出寬度輸出單 雙精度實數,在指數小於 4或者大於等於精度時使用 e格...

printf格式化輸出

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

printf 格式化輸出

格式 printf s b 輸出 b printf的轉義序列 序列 說明 a 警告字元,通常為ascii的bel字元 b 後退 c 抑制 不顯示 輸出結果中任何結尾的換行字元 只在 b格式指示符控制下的 引數字串中有效 而且,任何留在引數裡的字元 任何接下來的引數以及 任何留在格式字串中的字元,都被...