1. 前言|printf
是什麼?
當開始學習 C 語言時,最先接觸的函數之一就是printf
。這個函數用於將文字或變數的值輸出到終端機。它對於確認程式的運作非常重要,也是在除錯過程中不可或缺的工具。
#include <stdio.h>
int main(void) {
printf("Hello, World!n");
return 0;
}
「Hello, World!」是邁入程式設計世界的重要第一步。這是許多初學者撰寫的第一個程式,讓我們在這裡學習printf
的基本用法。

2. printf
的基本語法
printf
是一個強大的函數,可以輕鬆輸出文字與數據。以下是基本的使用方式:
printf("你好,世界!n");
上面的程式碼會在終端機輸出「你好,世界!」,並且因為n
的關係會自動換行。在 C 語言中,輸出時不會自動換行,因此如果需要換行,必須手動加上換行符號。
3. 格式化輸出的理解
printf
可以使用格式化字串來輸出不同類型的數據。以下是常見的格式化輸出符號:
%d
: 輸出整數。%f
: 輸出浮點數(預設顯示小數點以下 6 位)。%s
: 輸出字串。%c
: 輸出單個字元。
範例:同時輸出多種數據類型
int age = 25;
float height = 175.5;
char initial = 'A';
char name[] = "Taro";
printf("姓名: %sn年齡: %dn身高: %.1fn縮寫: %cn", name, age, height, initial);
輸出結果如下:
姓名: Taro
年齡: 25
身高: 175.5
縮寫: A
透過格式化輸出符號,我們可以將不同類型的數據結合起來輸出。

4. 控制輸出|欄位寬度與小數精度
printf
允許我們透過指定欄位寬度和小數精度來控制輸出的格式。
欄位寬度
設定欄位寬度可以確保輸出最少佔用的字元數。例如,下面的程式碼會用 5 個字元的寬度來輸出數值:
printf("%5d", 123);
輸出結果如下:
123
小數精度
小數精度可以用來控制浮點數的小數點後顯示的位數。
printf("%.2f", 3.14159);
輸出結果如下:
3.14
5. 進階功能|標誌與格式選項
printf
允許使用標誌來進一步控制輸出的格式。
左對齊與補零
若要讓數值左對齊,可使用-
標誌;若要在數值前補零,可使用0
標誌。
printf("%-5d", 123); // 左對齊
printf("%05d", 123); // 補零
輸出結果如下:
123
00123
十六進制與八進制輸出
使用printf
可以輸出數值的十六進制或八進制表示。
printf("%x", 255); // 十六進制
printf("%o", 255); // 八進制
輸出結果如下:
ff
377
這些格式在系統程式設計與除錯時非常有用。

6. 常見錯誤與避免方法
一個常見的printf
錯誤是格式化輸出符號與變數類型不匹配。例如,若對整數使用浮點數格式符號,會導致錯誤。
int age = 25;
printf("%f", age); // 錯誤:age 是整數
解決方案是確保格式化輸出符號與變數類型匹配。
7. 實戰範例|綜合應用
下面的程式範例結合了我們學到的所有技巧。
#include <stdio.h>
int main() {
printf("姓名: %-10s 年齡: %3dn", "Alice", 30);
printf("價格: %7.2fn", 123.456);
return 0;
}
執行結果如下:
姓名: Alice 年齡: 30
價格: 123.46
透過格式化輸出符號、欄位寬度、精度與標誌的靈活運用,可以讓輸出結果更易讀。

8. 總結
printf
是 C 語言中非常強大的輸出函數,可以透過格式化輸出符號、欄位寬度與精度控制輸出格式。善用這些功能,可以讓輸出內容更整齊清晰,在程式除錯與結果檢查時非常有幫助。希望這篇文章能幫助你更好地掌握printf
的使用技巧!
9. 歡迎提供反饋
如果你在閱讀本指南的過程中有任何疑問,或者希望我們補充更多內容,請在留言區分享你的意見。我們將根據你的反饋來進一步優化內容,提供更實用的學習資源!