printf()函式輸出資料格式彙總

2021-10-03 12:51:54 字數 1534 閱讀 2839

總結幾個常用的printf輸出資料格式:

1、整型:

%d,十進位制整型;------->

有符號的十進位制整型

%ld,十進位製長整型;

%3d,位數為3,不足在左邊補空格;

%-3d,位數為3,不足在右邊補空格;(-可以理解為非,預設是在左邊加0和空格的,-表示不是在左邊,那就是在右邊了?)

%05d,位數為5,不足的在左邊補0 //不可能在右邊補0

%u,無符號十進位制整型;

%lu,無符號十進位製長整型;

%o,無符號八進位制整型;//形如012

%lo,無符號八進位製長整型;

%x,無符號十六進製制整型;//形如0x12

%x,無符號十六進製制整型大寫;//形如0xaa

%04x,位數為4,不足的在左邊補0-------------------->經常使用

%lx,無符號十六進製製長整型;

ps:在上述的整型顯示中,對於十六進製制數,並沒有有符號輸出形式,全是無符號,因為此時是以二進位制數(對應十六進製制數)形式展示的,不存在符號位。只有轉換成對應的十進位制數時,才有符號的概念。

2、實型:

%f   float

%lf  double實型;

m.n:m指域寬,即實型數所佔的總的位數,包含小數點(並不是整數部分的位數!!)。n指精度,即實型數的小數字數。

未指定n時,隱含的精度為n=6位。即%f的話,輸出的是6位小數。

%f:不指定寬度,整數部分全部輸出並輸出6位小數。

%m.nf:輸出共佔m列,其中有n位小數,如數值寬度小於m左端補空格。 

%-m.nf:輸出共佔n列,其中有n位小數,如數值寬度小於m右端補空格。

m的存在,與整型變數的位數類似,主要是為了保持資料的整齊。

其實,我們有時候不寫m,而只關心小數字數

float fvalue = 342.588888;

printf("%f\n",fvalue);

printf("%.2f\n",fvalue);

printf("%.0f\n",fvalue);//整數被四捨五入

printf("%2.2f\n",fvalue);//總列數少於整數字數+保留的小數字數

printf("%8.2f\n",fvalue);//總列數(包含小數點)大於整數字數+保留的小數字數,左邊補空格

printf("%08.2f\n",fvalue);//總列數(包含小數點)大於整數字數+保留的小數字數,左邊補0

3、字元:

%c,字元

4、字串

%s,字串

%7s,字串,不足7位的在左邊補空格//形式跟int一樣

%07s,字串,不足7位的在左邊補0//形式跟int一樣

5、指標

%p,指標

格式輸出函式printf

1 格式輸出函式的一般形式 函式原型 int printf char format argument,函式功能 按規定格式向輸出裝置 一般為顯示器 輸出資料,並返回實際輸出的字元數,若出錯,則返回負數。它使用的一般形式為 printf 格式控制字串 輸出項列表 語句中 輸出項列表 列出要輸出的表示式...

printf格式輸出函式詳解

printf 格式控制字串 輸出表列 常用的格式有 d 表示按十進位制整型輸出 ld 表示按十進位製長整型輸出 c 表示按字元型輸出等。main d 以十進位制形式輸出帶符號整數 正數不輸出符號 o 以八進位制形式輸出無符號整數 不輸出字首 0 x,x 以十六進製制形式輸出無符號整數 不輸出字首 o...

Printf格式輸出

printf 輸出各種型別 完整格式 0m.nl或者h格式字元 轉換說明的開始 佔位符 不能省略 左對齊,省略 右對齊 0 有0代表空位填0,省略代表空位不填 m.n m域寬 指對應的輸出項在輸出裝置占用多個字元的寬度 n精度 輸出浮點數的時候 小數點後面的位數 l 整數long浮點數double ...