c格式化輸出

2021-06-22 17:19:55 字數 2156 閱讀 1620

printf()函式是格式化輸出函式,一般用於向標準輸出裝置按規定格式輸出資訊。在編寫程式時經常會用到此函式。printf()函式的呼叫格式為: printf("《格式化字串》", 《參量表》);

其中格式化字串包括兩部分內容:一部分是正常字元, 這些字元將按原樣輸出, 另一部分是格式化規定字元,以"%"開始,後跟乙個或幾個規定字元用來確定輸出內容格式。

參量表是需要輸出的一系列引數,其個數必須與格式化字串所說明的輸出引數個數一樣多,各引數之間用","分開,且順序一一對應,否則將會出現意想不到的錯誤。

二、 格式化規定符

turbo c2.0提供的格式化規定符如下:

━━━━━━━━━━━━━━━━━━━━━━━━━━

符號 作用

——————————————————————————

%d 十進位制有符號整數

%u 十進位制無符號整數

%f 浮點數

%s 字串

%c 單個字元

%p 指標的值

%e 指數形式的浮點數

%x, %x 無符號以十六進製制表示的整數

%0 無符號以八進位制表示的整數

%g 自動選擇合適的表示法

━━━━━━━━━━━━━━━━━━━━━━━━━━

可以在"%"和字母之間插進數字表示最大場寬。

三、規定符說明

說明1:對於d%

(1)%md: 指定輸出的寬度。資料位數小於m,左端補空格;大於m,按實際位數輸出。比如說%3d 表示輸出3位整型數,不夠3位右對齊。

a=123;b=12345;

printf("%4d,%4d",a,b);

輸出結果為:_123,12345

若想在輸出值前加一些0, 就應在場寬項前加個0。例如%04d 表示在輸出乙個小於4位的數值時,將在前面補0使其總寬度為4位。

(2)%ld: 輸出長整型資料。比如下面的就不能用%d。

long a=123456;

printf("%ld",a);

printf("%9ld",a); 輸出結果為:___123456

(3)%-md:

可以控制輸出左對齊,即在"%"和字母之間加入乙個"-" 號可,沒有說明則右對齊。

比如:%-7d 表示輸出7位整數左對齊

說明2:對於f%

(1)%m.nf

表示最大場寬m,小數字為n位,整數字則為m-n-1位,夠m位右對齊。

比如:%9.2f 表示輸出場寬為9的浮點數, 其中小數字為2,整數字為6,小數點佔一位,不夠9位右對齊。

(2)%-m.nf可以控制輸出左對齊。

(3)%lf 表示輸出double浮點數。

說明3:對於%s,%e同樣道理

%-10s 表示輸出10個字元左對齊,沒有說明則右對齊。

%8s 表示輸出8個字元的字串,不夠8個字元右對齊。

%6.9s 表示顯示乙個長度不小於6且不大於9的字串。若大於9,則第9個字元以後的內容將被刪除。

說明4:其它注意

(1)超過說明的場寬

如果字串的長度或整型數字數超過說明的場寬,將按其實際長度輸出。對浮點數,若整數部分位數超過了說明的整數字寬度,將按實際整數字輸出。若小數部分位數超過了說明的小數字寬度, 則按說明的寬度以四捨五入輸出。

(2)浮點數表示字元或整型量的輸出格式,如%6.9s 和%6.9d

如果用浮點數表示字元或整型量的輸出格式,小數點後的數字代表最大寬度,小數點前的數字代表最小寬度。若大於最大寬度,則最大寬度以後的內容將被刪除

比如: %6.9s 表示顯示乙個長度不小於6且不大於9的字串。若大於9,則第9個字元以後的內容將被刪除。

四、一些特殊字元

━━━━━━━━━━━━━━━━━━━━━━━━━━

字元 作用

——————————————————————————

/n 換行

/f 清屏並換頁

/r 回車

/t tab符

/xhh 表示乙個ascii碼用16進表示,

其中hh是1到2個16進製制數

━━━━━━━━━━━━━━━━━━━━━━━━━━

C 格式化輸出

int a 12345678 格式為sring輸出 label1.text string.format asdfadsfadsfasdf a label2.text asdfadsf a.tostring adsfasdf label1.text string.format asdfadsfadsf...

c格式化輸出

一 printf 函式 printf 函式是格式化輸出函式,一般用於向標準輸出裝置按規定格式輸出資訊。在編寫程式時經常會用到此函式。printf 函式的呼叫格式為 printf 格式化字串 參量表 其中格式化字串包括兩部分內容 一部分是正常字元,這些字元將按原樣輸出,另一部分是格式化規定字元,以 開...

C 格式化輸出

閱讀目錄 include include 不要忘記包含此標頭檔案 using namespace std intmain 輸出結果 input a 34 輸入a的值 dec 34 十進位制形式 hex 22 十六進製制形式 oct 42 八進位制形式 china 域寬為 china 域寬為,空白處以...