如何使用Linux printf格式化輸出字符串

一、printf基礎語法

printf 是一個常用的函數,用來向標準輸出流(stdout)或者文件中輸出格式化的內容。其基本語法為:

printf(format, arguments);

其中,format 是字符串,包含兩種類型的對象:普通字符和轉義序列。轉義序列是以 ‘%’ 開頭的特殊字符,用來表示實際輸出的內容。這些轉義字符可以是一個或多個,但必須以一個字母結束。例如:%s 表示一個字符串,%d 表示整數,%c 表示一個字符,%f 表示浮點數等。

arguments 是要輸出的變量或常量,用逗號分隔。

下面是一個簡單的例子,輸出一個字符串和一個整數:

#include <stdio.h>
int main(){
    char str[20] = "hello world";
    int num = 12345;
    printf("%s, %d\n", str, num);
    return 0;
}

輸出結果:

hello world, 12345

二、printf中的轉義字符

1、%d 和 %i

% d 和 %i 都表示輸出一個有符號的十進制整數。但是它們在某些特定的情況下還是有區別的。具體區別需要從歷史上來看,% d 是英文單詞「decimal」的縮寫,而 % i 是英文單詞「integer」的縮寫。也就是說,% d 用來表示十進制整數,而 % i 則可以表示八進制、十進制或者十六進制整數。

以下是一個例子:

#include <stdio.h>
int main(){
    int a = 123, b = 0123, c = 0x123;
    printf("%d, %i\n", a, a);
    printf("%d, %i\n", b, b);
    printf("%d, %i\n", c, c);
    return 0;
}

輸出結果:

123, 123
83, 83
291, 291

2、%c

%c 用來輸出一個字符,該字符由 ASCII 碼值來確定。例如:

#include <stdio.h>
int main(){
    char c = 'a';
    printf("%c\n", c);
    return 0;
}

輸出結果:

a

3、%s

%s 用來輸出一個字符串,該字符串可以是一個字符數組或者指針。例如:

#include <stdio.h>
int main(){
    char str[] = "hello world";
    printf("%s\n", str);
    return 0;
}

輸出結果:

hello world

4、%f

%f 用來輸出一個浮點數,通常情況下它會輸出小數點後6位。例如:

#include <stdio.h>
int main(){
    float f = 3.14;
    printf("%f\n", f);
    return 0;
}

輸出結果:

3.140000

5、%e 和 %E

% e 和 % E 用來輸出科學計數法表示的浮點數。
% e 表示指數部分用小寫字母 e 來表示;% E 表示指數部分用大寫字母 E 來表示。例如:

#include <stdio.h>
int main(){
    float f = 1.2345e-2;
    printf("%e\n", f);
    printf("%E\n", f);
    return 0;
}

輸出結果:

1.234500e-02
1.234500E-02

三、printf中的格式控制

printf 中的格式控制可以通過在 % 後添加一些修飾符來實現。這些修飾符包括:

  • 寬度(width):指定輸出字段的最小寬度。
  • 精度(precision):對於浮點數,用來指定小數點後的位數。對於字符串,用來指定輸出的字符數。
  • 標誌(flag):控制輸出的格式,例如左對齊、右對齊、補零等。

以下是一個例子,演示如何使用這些修飾符:

#include <stdio.h>
int main(){
    float f = 3.1415926;
    printf("%8.3f\n", f);
    printf("%-8.3f\n", f);
    printf("%08.3f\n", f);
    printf("%.2s\n", "hello world");
    return 0;
}

輸出結果:

   3.142
3.142   
003.142
he

四、總結

printf 是一個非常方便的輸出函數,可以使用各種轉義字符和格式控制來實現靈活的輸出。在使用時需要注意,控制符和對應參數類型必須匹配,否則可能會導致程序崩潰或輸出錯誤的結果。在實際開發中,經常需要使用 printf 輸出調試信息和狀態信息,因此熟練掌握 printf 的使用是非常重要的。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/291202.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-24 13:14
下一篇 2024-12-24 13:14

相關推薦

  • Python字符串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字符串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字符串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Python中將字符串轉化為浮點數

    本文將介紹在Python中將字符串轉化為浮點數的常用方法。在介紹方法之前,我們先來思考一下這個問題應該如何解決。 一、eval函數 在Python中,最簡單、最常用的將字符串轉化為…

    編程 2025-04-29
  • 如何使用Python獲取某一行

    您可能經常會遇到需要處理文本文件數據的情況,在這種情況下,我們需要從文本文件中獲取特定一行的數據並對其進行處理。Python提供了許多方法來讀取和處理文本文件中的數據,而在本文中,…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • Python學習筆記:去除字符串最後一個字符的方法

    本文將從多個方面詳細闡述如何通過Python去除字符串最後一個字符,包括使用切片、pop()、刪除、替換等方法來實現。 一、字符串切片 在Python中,可以通過字符串切片的方式來…

    編程 2025-04-29
  • 如何使用jumpserver調用遠程桌面

    本文將介紹如何使用jumpserver實現遠程桌面功能 一、安裝jumpserver 首先我們需要安裝並配置jumpserver。 $ wget -O /etc/yum.repos…

    編程 2025-04-29
  • 如何使用Python讀取CSV數據

    在數據分析、數據挖掘和機器學習等領域,CSV文件是一種非常常見的文件格式。Python作為一種廣泛使用的編程語言,也提供了方便易用的CSV讀取庫。本文將介紹如何使用Python讀取…

    編程 2025-04-29
  • Hibernate註解聯合主鍵 如何使用

    解答:Hibernate的註解方式可以用來定義聯合主鍵,使用@Embeddable和@EmbeddedId註解。 一、@Embeddable和@EmbeddedId註解 在Hibe…

    編程 2025-04-29
  • 如何使用HTML修改layui內部樣式影響全局

    如果您想要使用layui來構建一個美觀的網站或應用,您可能需要使用一些自定義CSS來修改layui內部組件的樣式。然而,修改layui組件的樣式可能會對整個頁面產生影響,甚至可能破…

    編程 2025-04-29
  • 如何使用random生成不重複的隨機數

    在編程開發中,我們經常需要使用隨機數來模擬一些場景或生成一些數據。但是如果隨機數重複,就會造成數據的不準確性。這時我們就需要使用random庫來生成不重複且隨機的數值。下面將從幾個…

    編程 2025-04-29

發表回復

登錄後才能評論