首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> C 語言基礎

C語言數據輸出大全:printf 進階格式控制技巧

     編輯:C 語言基礎

三大輸出函數對比

  • puts():僅輸出字符串,自動換行。
  • putchar():僅輸出單字符。
  • printf():輸出各類型數據,格式可控,最強大、最常用,可完全替代前兩者。

putchar() 基礎用法

#include <stdio.h>
#include <stdlib.h>
int main() {
    putchar('a');
    putchar(7);       // ASCII 7 響鈴
    putchar('\x46');  // 十六進制 46 = 'F'
    system("pause");
    return 0;
}

輸出:aF(同時聽到「嘟」聲)。

換行行為差異

puts() 自動換行;printf() 和 putchar() 不換行,需手動添加 \n。

char *str = "c.biancheng.net";
int n = 100;
char c = 'Z';
puts(str);      // 自動換行
putchar(c);     // 無換行
printf("%d", n); // 無換行
putchar(c);     // 無換行

輸出:
c.biancheng.net
Z100Z請按任意鍵繼續. . .

printf() 進階格式控制——對齊輸出矩陣

需求:輸出 4×4 整數矩陣,數字對齊。暴力做法極其繁瑣,printf 格式控制輕鬆搞定:

printf("%-9d %-9d %-9d %-9d\n", a1, a2, a3, a4);
printf("%-9d %-9d %-9d %-9d\n", b1, b2, b3, b4);
printf("%-9d %-9d %-9d %-9d\n", c1, c2, c3, c4);
printf("%-9d %-9d %-9d %-9d\n", d1, d2, d3, d4);

輸出整齊對齊。%-9d 含義:d 十進制,9 最小寬度 9 字符,- 左對齊,不足補空格。

格式控制字符完整語法

%[flags][width][.precision]type

[xxx] 表示可選部分,非常慣用寫法。

1) type(必須)── 輸出類型

  • d:有符號十進制整數
  • f:浮點數
  • c:字符
  • s:字符串
  • x/X:十六進制
  • o:八進制
  • u:無符號十進制

2) width ── 最小輸出寬度

默認右對齊,不足補空格:

printf("%10d%12f", 234, 9.8);

輸出:       234    9.800000(234 前 7 空格,9.8 前 4 空格)

3) .precision ── 精度控制

  • 對 %d:最小輸出寬度,不足補 0。%.10d 輸出 4309 → 0000004309
  • 對 %f:小數位數,不足補 0,四捨五入。%.3f 輸出 2.9328745 → 2.933

4) flags ── 標志字符

標志含義
-左對齊
+輸出符號(正號/負號)
空格正數冠空格,負數冠負號
#八進制加 0 前綴;十六進制加 0x;浮點數強制顯示小數點

實用場景:目錄列表對齊

如 DOS dir 命令輸出,文件名、大小、日期整齊對齊,皆賴 printf 格式控制。掌握這些「小把戲」能讓程序輸出專業美觀。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved