總結幾個常用的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 ...