資源描述:
《格式轉換說明符》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在行業(yè)資料-天天文庫。
1、格式轉換說明符printf()/scanf()? 表一printf()的轉換說明符轉換說明輸出%a浮點數(shù)、十六進制數(shù)字和p-記數(shù)法?(C99)%A浮點數(shù)、十六進制數(shù)字和P-記數(shù)法?(C99)%c一個字符%d有符號十進制整數(shù)%e浮點數(shù)、e-記數(shù)法%E浮點數(shù)、E-記數(shù)法%f浮點數(shù),十進制記數(shù)法%g根據(jù)數(shù)值不同自動選擇%f或者%e。%e格式在指數(shù)小于-4或者大于等于精度時使用%G根據(jù)數(shù)值不同自動選擇%f或者%E。%E格式在指數(shù)小于-4或者大于等于精度時使用%i有符號十進制整數(shù)?(與%d相同)%o無符號八進制整數(shù)%p指針(就是指地
2、址)%s字符串%u無符號十進制整數(shù)%x使用十六進制數(shù)字0f?的無符號十六進制整數(shù)%X使用十六進制數(shù)字0F的無符號十六進制整數(shù)%%打印一個百分號? 表二?printf()?修飾符修飾符意義標志五種標志?(-、+、空格、#?和0)?都將在表三中描述,可以使用零個或多個標志digit(s)字段寬度的最小值。如果該字段不能容納要打印的數(shù)或者字符串,系統(tǒng)會使用更寬的字段。示例:“%4d”.digit(s)精度。對于%e、%E和%f轉換,是將要在小數(shù)點的右邊打印的數(shù)字的位數(shù)。對于%g和%G轉換,是有效數(shù)字的最大位數(shù)。對于%s轉換,是將
3、要打印的字符的最大數(shù)目。對于整數(shù)轉換,是將要打印的數(shù)字的最小位數(shù);如果必要,要使用前導零來達到這個位數(shù)。只使用“.”表示其后跟隨一個零,所以%.f與%.0f相同。示例:“%5.2f”打印一個浮點數(shù),他的字段寬度為5個字符,小數(shù)點后有兩個數(shù)字。h和整數(shù)轉換說明符一起使用,表示一個shortint?或者?unsignedshortint?類型數(shù)值。示例:“%hu”、“%hx”和“%6.4hd”hh和整數(shù)轉換說明符一起使用,表示一個signedchar?或者unsignedchar類型數(shù)值。示例:“%hhu”、“%hhx”和“%6.4hhd”j和整數(shù)轉換說明符一
4、起使用,表示一個intmax_t或uintmax_t值。示例:“%jd”和“%8jX”l和整數(shù)說明符一起使用,表示一個longint?或者unsignedlongint?類型值。示例:“%ld”和“%8lu”ll和整數(shù)說明符一起使用,表示一個longlongint或?unsignedlonglongint?類型值?(C99)。示例:“%lld”和“%8llu”L和浮點轉換說明符一起使用,表示一個longdouble值。示例:“%Lf”和“%10.4Le”t和整數(shù)轉換說明符一起使用,表示一個ptrdiff_t值(與兩個指針之間的差相對應的類型)(C99)示例
5、:“%td”和“%12ti”z和整數(shù)轉換說明符一起使用,表示一個size_t值(sizeof返回的類型)(C99)。示例:“%zd”和“%12zx” 表三?printf()的標志修飾符意義-項目是左對齊的,也就是說,會把項目打印在字段的左側開始處。示例:“%-20s”+有符號的值若為正,則顯示帶加號的符號;若為負,則帶減號的符號。示例:“%+6.2f”(空格)有符號的值若為正,則顯示時帶前導空格(但是不顯示符號);若為負,則帶減號符號。+標志會覆蓋空格標志。示例:“%6.2f”#使用轉換說明的可選形式。若為%o格式,則以0
6、開始;若為%x和%X格式,則以0x或0X開始,對于所有的浮點形式,#保證了即使不限任何數(shù)字,也打印一個小數(shù)點字符。對于%g和%G格式,它防止尾隨零被刪除。示例:“%#o”、“%#8.0f”和“%+#10.3E”0對于所有的數(shù)字格式,用前導零而不是用空格填充字段寬度。如果出現(xiàn)-標志或者指定了精度(對于整數(shù))則忽略該標志。示例:“%010d”和“%08.3f”? 表四?ANSIC?中?scanf()的轉換說明符轉換說明符意義%c把輸入解釋成一個字符%d把輸入解釋成一個有符號十進制整數(shù)%e,%f,%g,?%a把輸入解釋成一個浮點
7、數(shù)?(%a是C99標準)%E,%F,%G,%A把輸入解釋成一個浮點數(shù)?(%A是C99標準)%i把輸入解釋成一個有符號十進制整數(shù)%o把輸入解釋成一個有符號八進制數(shù)%p把輸入解釋成一個指針(地址)%s把輸入解釋成一個字符串;輸入的內(nèi)容以一個非空白字符作為開始,并且包含知道下一個空白字符的全部字符%u把輸入解釋成一個無符號十進制整數(shù)%x,%X把輸入解釋成一個有符號十六進制整數(shù)? 表五?scanf()的轉換修飾符修飾符意義*滯后賦值。示例:“%*d”digit(s)最大字段寬度;在達到最大字段寬度或者遇到第一個空白字符時(不管哪一
8、個先發(fā)生都一樣)停止對輸入項的讀取。示例:“%10s”hh把整數(shù)讀