C語言輸入輸出格式符

2021-10-23 16:48:56 字數 2615 閱讀 2552

printf函式(格式輸出函式)

1.一般格式

printf(格式控制,輸出表列)

例如:printf(「i=%d,ch=%c\n」,i,ch);

說明:(1)「格式控制」是用雙撇號括起來的字串,也稱「轉換控制字串」,它包括兩種資訊:

①格式說明:由「%」和格式字元組成,它的作用是將輸出的資料轉換為指定的格式輸出。

②普通字元,即需要原樣輸出的字元。

(2)「輸出表列」是需要輸出的一些資料,可以是表示式

(3)printf函式的一般形式可以表示為

printf(引數1,引數2,……,引數n)

功能是將引數2~引數n按引數1給定的格式輸出

2.格式字元(9種)

(1)d(或i)格式符。用來輸出十進位制整數,有以下幾種用法:

①%d,按整型資料的實際長度輸出。

②%md,m為指定的輸出欄位的寬度。如果資料的位數小於m,則左端補以空格,若大於m,則按實際位數輸出。

③%ld(%mld 也可),輸出長整型資料。

例如:long a=123456;

printf("%ld",a);

(2)o格式符,以八進位制數形式輸出整數。格式:%o,%mo,%lo,%mlo都可。

(3)x(或x)格式符,以十六進製制數形式輸出整數。格式:%x,%mx,%lx,%mlx都可。

(4)u格式符,用來輸出unsigned型資料,即無符號數,以十進位制數形式輸出。格式:%u,%mu,%lu都可。

(5)c格式符,用來輸出乙個字元。格式:%c,%mc都可。

(6)s格式符,用來輸出乙個字串。格式:%s,%ms,%-ms,%m.ns,%-m.ns都可。

(7)f格式符,用來輸出實數(包括單、雙精度),以小數形式輸出。格式:%f,%m.nf,%-m.nf都可。

注意:單精度實數的有效位數一般為7位,雙精度為16位。

(8)e(或e)格式符,以指數形式輸出實數。格式:%e,%m.ne,%-m.ne都可。

(9)g(或g)格式符,用來輸出實數,它根據數值的大小,自動選f格式或e格式(選擇輸出時佔寬度較小的一種)。

3.說明

(1)除了x、e、g(用大寫字母表示)外,其他格式字元必須用小寫字母;

(2)「格式控制」字串內可以包含轉義字元;

(3)如果想輸出字元「%」,則應該在「格式控制」字串中用連續兩個%表示,如:

printf("%f%%",1.0/3);

(4)格式字元表參見下表

表4.1 printf格式字元

格式字元 說 明

d,i 以帶符號的十進位制形式輸出整數(正數不輸出符號)

o 以八進位制無符號形式輸出整數(不輸出前導符0)

x,x 以十六進製制無符號形式輸出整數(不輸出前導符0x),用x則輸出十六進製制數的a~f時以小寫形式輸出,用x時,則以大寫字母輸出

u 以無符號十進位制形式輸出整數

c 以字元形式輸出,只輸出乙個字元

s 輸出字串

f 以小數形式輸出單、雙精度數,隱含輸出6位小數

e,e 以指數形式輸出實數

g,g 選用%f或%e格式中輸出寬度較短的一種格式,不輸出無意義的0

表4.2 printf的附加格式說明字元

字元說明

字母l用於長整型整數,可加在格式符d、o、x、u前面

m(代表乙個正整數)

資料最小寬度

n(代表乙個正整數)

對實數,表示輸出n位小數;對字串,表示擷取的字元個數

(二)c語言不提供輸入輸出語句,輸入輸出操作是由c的庫函式完成。但要包含標頭檔案stdio.h。

putchar( ) 向終端輸出乙個字元 printf( )的格式字元:

① d格式符 用來輸出十進位制整數 %d 按整型資料的實際長度輸出 %md

使輸出長度為m,如果資料長度小於m,則左補空格,如果大於m,則輸出實際長度 %ld 輸出長整型資料

② o格式符 以八進位制形式輸出整數

③ x格式符 以十六進製制形式輸出整數

④ u格式符 用來輸出unsigned型資料,以十進位制形式輸出

⑤ c格式符 用來輸出乙個字元

⑥ s格式符 輸出乙個字串 %s 輸出實際長度字串 %ms 輸出的串佔m列,如果串長度小於m,左補空格,如果大於m,實際輸出

%-ms輸出的串佔m列,如果串長度小於m,右補空格, %m.ns 輸出佔m列,但只取字串中左端n個字元並靠右對齊 %-m.ns

m、n含義同上,靠左對齊,如果n>m,則m自動取n值

⑦ f格式符 以小數形式輸出實數 %f 整數部分全部輸出,小數部分輸出6位 %m.nf

輸出資料共佔m列,其中有n位小數。如果數值長度小於m,左補空格 %-m.nf 同上,右補空格

⑧ e格式符 以指數形式輸出實數 %e 系統指定6位小數,5位指數(e+002 )

⑨ g格式符 輸出實數,根據數值大小,自動選f格式或e格式

3.資料輸入 getchar( ) 從終端輸入乙個字元 scanf( 格式控制,位址列表) 標準c scanf中不使用%u,對於unsigned型資料,以%d或%o或%x輸入。%後的*,用來跳過它相應的資料。輸入資料時不能規定精度如scanf( 「%7.2f」, &a );是不合法的。

C語言輸入輸出格式

c 字元 d 有符號十進位制整數 f 浮點數 o 八進位制整數 x 十六進製制整數 s 字串 m指定資料寬度,n指定小數字數 例 include 指定資料寬度為20位,小數字數15位,可以看出,整數部分33前面還有兩個空格。算上小數點一共是20個位置。另 在用 f輸出時要注意資料本身能提供的有效數字...

c 輸入輸出格式控制

使用這些格式需要宣告包含 long flags const 返回當前的格式標誌。long flays long newflag 設定格式標誌為newflag,返回舊的格式標誌。long setf long bits 設定指定的格式標誌位,返回舊的格式標誌。long setf long bits,lo...

c語言中輸入輸出格式集合

1.轉換說明符 a a 浮點數 十六進製制數字和p p 記數法 c99 c 字元 d 有符號十進位制整數 f 浮點數 包括float和doulbe e e 浮點數指數輸出 e e 記數法 g g 浮點數不顯無意義的零 0 虛擬主機服務商 i 有符號十進位制整數 與 d相同 u 無符號十進位制整數 o...