首頁>Club>
9
回覆列表
  • 1 # 使用者5189701024573

    C語言怎麼用printf輸出字串

    printf函式的一般格式

    printf(格式控制字串,輸出表列);

    以圖1所示為例。

    圖1.

    https://iknow-pic.cdn.bcebos.com/aec379310a55b3192e1a9e334ea98226cefc1790

    函式引數包括兩部分:

    【1】格式控制字串,是用雙引號括起來的字串,也稱為轉換控制字串,它指定輸出資料項的型別和格式。

    它包括兩種資訊:

    ●格式說明項:由%和格式字元組成,如%d,%f等。格式說明總是由%字元開始,到格式字元終止。它的作用是將輸出的資料項轉換為指定的格式輸出。輸出表列中的每個資料項對應一個格式說明項。

    ● 普通字元:即需要原樣輸出的字元,如逗號和換行符。

    【2】輸出列表,是需要輸出的一些資料項,可以是表示式。

    例如:假如a=3,b=4,那麼printf("a=%db=%d",a,b);,輸出a=3b=4。其中兩個 “%d”是格式說明,表示輸出兩個整數,分別對應變數a,b。“a=”,“b=”是普通字元,原樣輸出。

    由於printf是函式,因此,格式控制字串和輸出表列實際上都是函式的引數。printf函式的一般形式可以表示為:

    printf(引數1,引數2,引數3,…,引數n)

    printf函式的功能是將引數2到引數n按照引數1給定的格式輸出。

    【3】格式字元 (構成格式說明項)

    對於不同型別的資料項,應當使用不同的格式字元構成的格式說明項。常用的有以下幾種格式字元:(按不同型別資料,列出各種格式字元的常用用法)

    【d格式符】用來輸出十進位制整數。有以下幾種用法:

    ● %d,按照資料的實際長度輸出。

    ● %md,m指定輸出欄位的寬度 (整數)。如果資料的位數小於m,則左端補以空格(右對齊);若大於m,則按照實際位數輸出。

    ● %-md,m指定輸出欄位的寬度 (整數)。如果資料的位數小於m,則右端補以空格 (左對齊);若大於m,則按照實際位數輸出。

    ● %ld,輸出長整型資料,也可以指定寬度%mld。

    【o格式符】以八進位制形式輸出整數。注意:是將記憶體單元中的各位的值按八進位制形式輸出,輸出的資料不帶符號,即將符號位也一起作為八進位制的一部分輸出。

    例如:

    inta=-1;

    printf("%d,%o,%x",a,a,a);

    -1的原碼:1000,0000,0000,0001。

    -1在記憶體中的補碼錶示為:

    1111,1111,1111,1111=1,111,111,111,111,111=1,7,7,7,7,7=ffff

    輸出:-1,177777,ffff

    【s格式符】用來輸出一個字串。有以下幾種用法:

    ● %s,輸出字串。

    ● %ms,輸出的字串佔m列,如果字串長度大於m,則字串全部輸出;若字串長度小於m,則左補空格 (右對齊)。

    ● %-ms,輸出的字串佔m列,如果字串長度大於m,則字串全部輸出;若字串長度小於m,則右補空格 (左對齊)。

    ● %m.ns,輸出佔m列,但只取字串左端n個字元,左補空白 (右對齊)。

    ● %-m.ns,輸出佔m列,但只取字串左端n個字元,右補空白 (左對齊)。

    【 f 格式符】用來輸出實數 (包括單、雙精度,單雙精度格式符相同),以小數形式輸出。有以下幾種用法:

    ● %f,不指定寬度,使整數部分全部輸出,並輸出6位小數。注意,並非全部數字都是有效數字,單精度實數的有效位數一般為7位 (雙精度16位)。

    ● %m.nf,指定資料佔m列,其中有n位小數。如果數值長度小於m,左端補空格(右對齊)。

    ● %-m.nf,指定資料佔m列,其中有n位小數。如果數值長度小於m,右端補空格(左對齊)。

    【 e 格式符】以指數形式輸出實數。可用以下形式表示:

    ● %e,不指定輸出資料所佔的寬度和小數位數,由系統自動指定。如6位小數,指數佔5位,-e佔1位,指數符號佔1位,指數佔3位。數值按照規格化指數形式輸出 (小數點前必須有而且只有1位非0數字)。

  • 中秋節和大豐收的關聯?
  • 樂觀到底有什麼用?