【新手必看】C 語言 printf 函數徹底解析!從基礎到高級技巧完整指南

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. 歡迎提供反饋

如果你在閱讀本指南的過程中有任何疑問,或者希望我們補充更多內容,請在留言區分享你的意見。我們將根據你的反饋來進一步優化內容,提供更實用的學習資源!