c語言轉義符與格式控制符

2021-03-03 21:51:40 字數 2007 閱讀 9789

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指精度。用於說明...