c語言格式控制符和轉義字元
1格式控制符
格式輸出printf 作用是向終端輸出若干個型別任意的資料。
格式:printf (格式控制符,輸出列表)
1格式控制符
l格式說明引導符。
l指定左對齊輸出。
l指定空位填零。
lm.n 指定輸出域寬度及精度
m表示資料最小寬度,如果實際資料寬m,按實際資料寬度輸出,如果實際資料寬度ll,h 輸出長度的修正
l對整型指定長整型long
例:%ld , %lx , %lo , %lu
l對實型指定雙精度double
例:%lf
h 只用於整型的格式字元修正為short
例:%hd , %hx , %ho , %hu
2格式字元指定輸出項的資料型別和輸出格式。
ld 有符號十進位制整數。
lo 無符號八進位制數。
lx 無符號十六進製制數(小寫的x格式中用小寫字母a,b,c,d,e,f來表示10到15之間的數,大寫的x則用大寫的abcdef來表示10到15之間的數)
lu 不帶符號的十進位制整數。
lc 輸出乙個字元。
ls 輸出乙個字串
le 以指數形式輸出實型數。
lf 以小數形式輸出實型數。
lg 自動決定輸出格式為e和f中較短的一種,不列印無效的零。
l輸出%
注意:對於單精度數,使用 %f 格式符輸出時,僅前7位是有效數字,小數6位。
對於雙精度數,使用 %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),什麼都不做注:
lv垂直製表和\f換頁符對螢幕沒有任何影響,但會影響印表機執行響應操作。
ln其實應該叫回車換行。換行只是換一行;\r回車只是回到行首。
lt 游標向前移動四格或八格,可以在編譯器裡設定
l在字元裡(即單引號裡)使用。在字串裡(即雙引號裡)不需要,只要用 ' 即可。
C語言轉義字元和格式控制符參考
有符號的整型數可以用 d 輸出。無符號的整型數可以用 u 輸出。電腦裡存的數字都是二進位制數,最高位是符號位還是資料位,可以由輸出格式符來控制。二進位制數轉換八進位制數 三個 1 對應乙個 7 二進位制數鏨十六進製制數 四位二進位制對應一位十六進製制,四個1 對應乙個 f。說明 格式字元 c 輸出乙...
輸出格式控制符
c語言printf 輸出格式控制 1 轉換說明符 a a 浮點數 十六進製制數字和p p 記數法 c99 c 字元 d 有符號十進位制整數 f 浮點數 包括float和doulbe e e 浮點數指數輸出 e e 記數法 g g 浮點數不顯無意義的零 0 i 有符號十進位制整數 與 d相同 u 無符...
輸出庫函式printf中的格式控制符
printf的格式控制的完整格式 0 m.n l或h 格式字元 下面對組成格式說明的各項加以說明 表示格式說明的起始符號,不可缺少。有 表示左對齊輸出,如省略表示右對齊輸出。0 有0表示指定空位填0,如省略表示指定空位不填。m.n m指域寬,即對應的輸出項在輸出裝置上所佔的字元數。n指精度。用於說明...