【c&&C++】 printf函數
printf函數稱為格式輸出函數,其關鍵字最末一個字母f即為“格式”(format)之意。其功能是按用戶指定的格式,把指定的數據顯示到顯示器屏幕上。
一、printf函數調用的一般形式
printf函數是一個標準庫函數,它的函數原型在頭文件“stdio.h”中。printf函數調用的一般形式為:printf(“格式控制字符串”,
輸出表列)其中格式控制字符串用于指定輸出格式。格式控制串可由格式字符串和非格式字符串兩種組成。格式字符串是以%開頭的字符串,在%后面跟有各種格式
字符,以說明輸出數據的類型、形式、長度、小數位數等。如“%d”表示按十進制整型輸出,“%ld”表示按十進制長整型輸出,“%c”表示按字符型輸出
等。
非格式字符串在輸出時原樣照印,在顯示中起提示作用。輸出表列中給出了各個輸出項, 要求格式字符串和各輸出項在數量和類型上應該一一對應。
二、格式字符串
格式字符串的一般形式為: [標志][輸出最小寬度][.精度][長度]轉換說明符其中方括號[]中的項為可選項。各項的意義介紹如下:
1.轉換說明符用以表示輸出數據的類型,其格式符和意義下表所示:
表示輸出類型的格式字符格式字符意義
c 輸出單個字符,參數為該字符的ASCII碼。
d 以十進制形式輸出帶符號整數(正數不輸出符號)
e/E 以指數形式輸出單、雙精度實數,默認6位小數。
f 以小數形式輸出單、雙精度實數,默認6位小數。
g/G 以%f%e中較短的輸出寬度輸出單、雙精度實數,如果指數小于-4或大于等于精度(默認6),則使用e/E格式,否則用f格式,末尾多余的0將省略。
i 以十進制形式輸出帶符號整數(正數不輸出符號) ,同d
o 以八進制形式輸出無符號整數(不輸出前綴O)
s 輸出字符串,參數為char指針,顯示空字符之前的所有字符或指定數目的數字,不顯示末尾的空字符。
u 以十進制形式輸出無符號整數
x/X 以十六進制形式輸出無符號整數(不輸出前綴OX) ,x輸出小寫,X輸出大寫。
2.長度
長度格式符為h,l兩種,h表示按短整型量輸出,l表示按長整型量輸出。
3.精度
精度格式符以“.”開頭,后跟十進制整數。本項的意義是:如果輸出數字,則表示小數的位數;如果輸出的是字符,則表示輸出字符的個數;若實際位數大于所定義的精度數,則截去超過的部分。
4.輸出最小寬度
用十進制整數來表示輸出的最少位數。若實際位數多于定義的寬度,則按實際位數輸出,若實際位數少于定義的寬度則補以空格或0。
5.標志
標志字符為-、+、#、空格四種,其意義下表所示:
標志格式字符標志意義
- 結果左對齊,右邊填空格
+ 結果右對齊,對于有符號數,在其左邊加上+或-
# 只能用于x、X、o,在前面加上0x、0X、o。
空格 在正數前加空格
三、轉義序列
序列 含義
\a 振鈴
\b 回退
\f 走紙
\n 換行
\r 回車
\t 水平制表符
\v 垂直制表符

浙公網安備 33010602011771號