printf函數稱爲格式輸出函數,其關鍵字最末一個字母f即爲“格式”(format)之意。其功能是按用戶指定的格式,把指定的數據顯示到顯示器屏幕上。
printf(“格式控制字符串”, 輸出表列);
其中格式控制字符串用於指定輸出格式。格式控制串可由格式字符串和非格式字符串兩種組成。格式字符串是以%開頭的字符串,在%後面跟有各種格式字符,以說明輸出數據的類型、形式、長度、小數位數等。如:
(1) “%d”表示按十進制整型輸出;
(2) “%ld”表示按十進制長整型輸出;
(3) “%c”表示按字符型輸出等。
非格式字符串原樣輸出,在顯示中起提示作用。輸出表列中給出了各個輸出項,要求格式字符串和各輸出項在數量和類型上應該一一對應。
(1) 類型
類型字符用以表示輸出數據的類型,其格式符和意義如下表所示:
(2)標誌
標誌字符爲-、+、#和空格四種
(3)輸出最小寬度
用十進制整數來表示輸出的最少位數。若實際位數多於定義的寬度,則按實際位數輸出,若實際位數少於定義的寬度則補空格或0
(4)精度
精度格式符以“.”開頭,後跟十進制整數。如果輸出數字,則表示小數的位數;如果輸出的是字符,則表示輸出字符的個數;若實際位數大於所定義的精度數,則四捨五入截去超過的部分
(5)長度
長度格式符爲h、l兩種,h表示按短整型量輸出,l表示按長整數輸出。
#include<stdio.h>
#include<string.h>
int main()
{
char c, s[20];
int a=1234;
float f=3.141592653589;
double x=0.12345678912345678;
strcpy(s, "Hello,World");
c='\x41';
printf("a=%d\n", a); //按照十進制整數格式輸出,顯示 a=1234
printf("a=%d%%\n", a); //輸出%號 結果 a=1234%
printf("a=%6d\n", a); //輸出6位十進制整數 左邊補空格,顯示 a= 1234
printf("a=%06d\n", a); //輸出6位十進制整數 左邊補0,顯示 a=001234
printf("a=%2d\n", a); //a超過2位,按實際輸出 a=1234
printf("a=%-6d\n", a); ///輸出6位十進制整數 右邊補空格,顯示 a=1234
printf("f=%f\n", f); //浮點數有效數字是7位,結果 f=3.141593
printf("f=%6.4f\n", f); //輸出6列,小數點後4位,結果 f=3.1416
printf("x=%lf\n", x); //輸出長浮點數 x=0.123457
printf("x=%18.16lf\n", x);//輸出18列,小數點後16位,x=0.1234567891234567
printf("c=%c\n", c); //輸出字符 c=A
printf("c=%x\n", c); //以十六進制輸出字符的ASCII碼 c=41
printf("s[]=%s\n", s); //輸出數組字符串s[]=Hello,World
printf("s[]=%6.9s\n", s); //輸出最多9個字符的字符串 s[]=Hello,Wor
return 0;
}