1. 格式控制符
格式輸出printf 作用是向終端輸出若干個型別任意的資料。
格式:printf (格式控制符,輸出列表)
1) 格式控制符
l % 格式說明引導符。
l - 指定左對齊輸出。
l 0 指定空位填零。
l m.n 指定輸出域寬度及精度
m表示資料最小寬度,如果實際資料寬度》m,按實際資料寬度輸出,如果實際資料寬度l l,h 輸出長度的修正
l對整型指定長整型long
例:%ld , %lx , %lo , %lu
l對實型指定雙精度double
例:%lf
h只用於整型的格式字元修正為short
例:%hd , %hx , %ho , %hu
2) 格式字元 指定輸出項的資料型別和輸出格式。
l d 有符號十進位制整數。
l o 無符號八進位制數。
l x 無符號十六進製制數(小寫的x格式中用小寫字母a,b,c,d,e,f來表示10到15之間的數,大寫的x則用大寫的abcdef來表示10到15之間的數)
l u不帶符號的十進位制整數。
l c 輸出乙個字元。
l s 輸出乙個字串
l e 以指數形式輸出實型數。
l f 以小數形式輸出實型數(單精度,或稱浮點數)。
l g 自動決定輸出格式為e和f中較短的一種,不列印無效的零。
l% 輸出%
補充:%a(%a) 浮點數、十六進製制數字和p-(p-)記數法(c99)
%p 指標
注意:
? 對於單精度數,使用 %f 格式符輸出時,僅前7位是有效數字,小數
6位(有效數字定義:在乙個近似數中,從左邊第乙個不是0的數字起,到精確到末位數止,所有的數字,都叫這個近似數字的有效數字)。
? 對於雙精度數,使用 %lf 格式符輸出時,前16位是有效數字,小數6
位。
? 編譯程式只是檢查printf 函式的呼叫形式,不分析格式控制字串,如果格式字元與輸出項的型別不匹配,不進行型別轉換(輸出的數為隨機)。
? 格式控制字串中可以包含轉義字元。
? 格式控制字串中的普通字元則原樣輸出。
? 輸出項的引數除了常數、變數外還可以是表示式、函式呼叫。
? %g,%f和%e這三個格式用於列印浮點值,%g格式用於列印那些不需要按列對齊的浮點數特別有用,其作用有:
a) 去掉該數尾多餘的零(沒有達到六位的數)
b) 保留六位有效數字(多餘六位的)
%e格式用於列印浮點數時,一律顯式地使用指數形式
例如:輸出圓周率時是:3.141593e+00
它們的區別:
%g格式列印出的數是總共6位有效數字
%e格式列印出小數點後的6位有效數字
%f禁止使用指數形式來表示浮點數,因此圓周率輸出為:3.141593(但注意它的精度要求:也是小數點後6位有效數字)
? %e和%g只是在輸出時用大寫字母(e)代替了小寫字母(e)
? %%格式用於列印乙個%字元。
? 輸出正負號的技巧,例如:
printf("%+d %+d %+d\n",-5,0,5);
只要在中間加個「+」號就行,作用是輸出符號位(即,數的正負號)
如果不希望正數的前面出現『+』號,只要在「% d」中間加個「 」號(即空格)就行,例如:
int i;
for(i=-3;i<=3;i++)
printf("% d\n",i); // 注意%和d之間有乙個空格
2. 轉義字元
\a: 蜂鳴,響鈴
\b: 回退:向後退一格
\f: 換頁
\n: 換行,游標到下行行首
\r: 回車,游標到本行行首
\t: 水平製表
\v: 垂直製表
\\: 反斜槓
\': 單引號
\": 雙引號
\?: 問號
\ddd: 1到3位八進位制數所代表的字元
\xhh: 1到2位十六進製制數所代表的字元
\0: 空字元(null),什麼都不做
注: l \v垂直製表和\f換頁符對螢幕沒有任何影響,但會影響印表機執行響應操作。
l \n其實應該叫回車換行。換行只是換一行;\r回車只是回到行首。
l \t 游標向前移動四格或八格,可以在編譯器裡設定
l \' 在字元裡(即單引號裡)使用。在字串裡(即雙引號裡)不需要,只要用 ' 即可。 例:
如果在字元'a'中直接使用',就會出現這種情形:'a'' ,編譯器會報錯,因為編譯器會認為多寫了乙個單引號。
所以在字元中時,必須使用\',以避免歧義性。
如果為了在字串裡面新增乙個單引號,直接用單引號 ' 即可,如果用轉義字元 \' 的話就會把\'兩者直接算進去。
C語言轉義字元和格式控制符參考
轉義字元參考 a 蜂鳴,響鈴 b 回退 向後退一格 f 換頁 n 換行,游標到下行行首 r 回車,游標到本行行首 t 水平製表 v 垂直製表 反斜槓 單引號 雙引號 問號 ddd 三位八進位制 xhh 二位十六進製制 0 空字元 null 什麼都不做 注 1,v垂直製表和 f換頁符對螢幕沒有任何影響...
C語言轉義字元和格式控制符參考
轉義字元參考 a 蜂鳴,響鈴 b 回退 向後退一格 f 換頁 n 換行,游標到下行行首 r 回車,游標到本行行首 t 水平製表 v 垂直製表 反斜槓 單引號 雙引號 問號 ddd 三位八進位制 xhh 二位十六進製制 0 空字元 null 什麼都不做 注 1,v垂直製表和 f換頁符對螢幕沒有任何影響...
C語言 格式控制符
d 以帶符號的十進位制形式輸出整數 o 以八進位制無符號形式輸出整數 x 以十六進製制無符號形式輸出整數 u 以無符號十進位制形式輸出整數 c 以字元形式輸出,只輸出乙個字元 s 輸出字串 f 以小數形式輸出單,雙精度數,隱含輸出六位小數 e 以指數形式輸出實數 g 選用 f或 e格式中輸出寬度較短...