【筆記】【C語言】格式控制符 / 格式輸出函式printf()詳解
阿新 • • 發佈:2022-04-12
printf函式稱為格式輸出函式,其關鍵字 最末一個字母 f 即為“格式”(format)之意。
其功能是按使用者指定的格式,把指定的資料顯示到顯示器螢幕上。
printf函式 呼叫的一般形式
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 | 輸出字串 |
標 志 | 意義 |
---|---|
- | 結果左對齊,右邊填空格 |
+ | 輸出符號(正號或負號) |
空格 | 輸出值為正時冠以空格,為負時冠以負號 |
# | 對c、s、d、u類無影響; 對o類,在輸出時加字首o; 對x類,在輸出時加字首0x; 對e、g、f 類當結果有小數時才給出小數點。 |
3) 輸出最小寬度
輸出的最少位數。 若實際位數多於定義的寬度,則按實際位數輸出,若實際位數少於定義的寬度則補以空格或0。
4) 精度
精度格式符以“.”開頭,後跟十進位制整數。
5) 長度 長度格式符為h、l兩種,h表示按短整型量輸出,l表示按長整型量輸出。 使用printf函式時還要注意一個問題,那就是輸出表列中的求值順序。不同的編譯系統不一定相同,可以從左到右,也可從右到左。Turbo C是按從右到左進行的。請看下面兩個例子。