C語言輸出格式控制符彙總

C語言輸出格式控制符彙總

寫在前面:這裏是小王成長日誌,一名在校大學生,想在學習之餘將自己的學習筆記分享出來,記錄自己的成長軌跡,幫助可能需要的人。歡迎關注與留言。

原文鏈接 ! ! ! : http://c.biancheng.net/cpp/html/33.html

栗子是我自己舉的。

0.格式字符串通用格式

在Turbo C中格式字符串的一般形式爲:

  • [標誌] [輸出最小寬度] [.精度] [長度] 類型
  • 其中方括號[]中的項爲可選項。

1. 標誌位

標 志 意義
- 結果左對齊,右邊填空格
+ 輸出符號(正號或負號)
空格 輸出值爲正時冠以空格,爲負時冠以負號
# 對c、s、d、u類無影響; 對o類,在輸出時加前綴o; 對x類,在輸出時加前綴0x; 對e、g、f 類當結果有小數時纔給出小數點。

演示:

  • 在這裏的左對齊的演示和第二部分最小寬度放在一起.

  • int a = -100, b = 101;
    printf("%+d|%+d|\n", a, b);
    /*******輸出結果*******
    -100|+101| //將符號也輸出出來了
    *********************/
    
  • int a = 100, b = -101;
    printf("|% d|% d|\n", a, b);
    /*******輸出結果*******
    | 100|-101|//注意到100前面有個空格  正數符號用空格表示 負數直接輸出符號
    *********************/
    
  • int a = 100;
    float b = 99.99, c = 99;
    printf("%x|%f|\n", a, b);//%x 表示以十六進制輸出這個數
    printf("%#x|%#f|\n", a, b);
    /*******輸出結果*******
    64|99.989998|
    0x64|99.989998|//注意前綴
    *********************/
    

2.輸出最小寬度

用十進制整數來表示輸出的最少位數。若實際位數多於定義的寬度,則按實際位數輸出,若實際位數少於定義的寬度則補以空格或0。

int a=100,b=101,c=102;
printf("%6d|%6d|%6d|\n",a,b,c);//每一個數字佔6位 不足處補空格 注意printf是默認右對齊
printf("%-6d|%-6d|%-6d|",a,b,c);//- 標誌位表示左對齊,右邊不足的地方補空格
/*******輸出結果*******
   100|   101|   102|//第一行默認右對齊 左邊補空格
100   |101   |102   |//第二行-表示 左對齊 右邊補空格
*********************/

3.精度

精度格式符以“.”開頭,後跟十進制整數。
本項的意義是:

  • 如果輸出數字,則表示小數的位數;
  • 如果輸出的是字符,則表示輸出字符的個數;
  • 若實際位數大於所定義的精度數,則截去超過的部分。

演示:

char a[]="abcdef";
float b = 99.12345, c = 99;
printf("%s|%f|%f\n", a, b, c);//正常輸出
printf("%.5s|%.3f|%.2f\n", a, b, c);//控制字符長度 以及小數位數
/*******輸出結果*******
abcdef|99.123451|99.000000
abcde|99.123|99.00         //字符串a只輸出了前5位  後面兩個小數都被控制了小數位數
*********************/

4.長度

長度格式符爲h、l兩種,h表示按短整型量輸出,l表示按長整型量輸出。

long int a = 270000000;
printf("long int = %d;int = %d.\n",sizeof(long int),sizeof(int));
printf("|%d|%d|%d|\n",a,a,a);
printf("|%hd|%ld|%d|",a,a,a);
/*******輸出結果*******
long int = 4;int = 4.//在筆者電腦上兩個編譯器long int的實現的長度都和int 一致 所以這裏%d 和%ld 都還可以的 但是在其他電腦上就不一定了
|270000000|270000000|270000000|
|-8320|270000000|270000000|    //短整型時出錯了
*********************/

5.類型

類型字符用以表示輸出數據的類型,其格式符和意義如下表所示:

格式字符 意義
d 以十進制形式輸出帶符號整數(正數不輸出符號)
o 以八進制形式輸出無符號整數(不輸出前綴0)
x,X 以十六進制形式輸出無符號整數(不輸出前綴Ox)
u 以十進制形式輸出無符號整數
f 以小數形式輸出單、雙精度實數
e,E 以指數形式輸出單、雙精度實數
g,G 以%f或%e中較短的輸出寬度輸出單、雙精度實數
c 輸出單個字符
s 輸出字符串

這個不予演示。


都看到這裏了,各位哥哥姐姐叔叔阿姨給小王點個贊 關個注 留個言吧,和小王一起成長吧,你們的關注是對我最大的支持。
有事沒事進來看看吧 : 小王的博客目錄索引
C語言專欄看這 : C語言學習專欄


如果以上內容有任何不準確或遺漏之處,或者你有更好的意見,就在下面留個言讓我知道吧-我會盡我所能來回答。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章