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格式指示符控制下的 引數字串中有效 而且,任何留在引數裡的字元 任何接下來的引數以及 任何留在格式字串中的字元,都被...