printf函數(格式輸出函數) 


[轉]printf函數(格式輸出函數)
 

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都可。

        參見:li4-3.c/*無符號數據的輸出*/

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

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

        參見:li4-5.c    /*字符串的輸出*/

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

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

       參見:li4-6.c/*輸出單精度實數時的有效位數*/

          li4-7.c/*輸出雙精度實數時的有效位數*/

             li4-8.c/*輸出實數時指定小數位數*/

    (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

m(代表一個正整數)

n(代表一個正整數)

-

輸出的數字或字符在域內向左靠

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

數據最小寬度


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com