亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

首頁 慕課教程 C 語言入門教程 C 語言入門教程 10 C 語言中的 printf() 格式輸出

C 語言中的 printf() 格式輸出

作為 C 語言中主力的標準輸出函數, printf 為我們提供了豐富的格式選項。

1. 格式參數

首先列舉一下 printf 全部的參數:

% [標志位] [顯示占位寬度] [精度] [數字長度] 說明符

這里面用括號包裹的內容為可選參數,我們分項來介紹上面的各項參數,首先從最常用的說明符開始介紹:

說明符 參數含義 輸出示例
o 無符號八進制數 410
x 無符號十六進制數 7ff
X 無符號十六進制數(表示數字的字母部分大寫) 7FF
d 或者 i 有符號十進制整數 -3245
u 無符號十進制整數 3421
f 或者 F 十進制浮點數 3.14
e 科學計數法 表示指數的e小寫 3.142333e+2
E 科學計數法 表示指數的e小寫 3.142333E+2
g 在 %e 和 %f 格式中,自動選擇最短的輸出格式 3.14
G 在 %E 和 %F 格式中,自動選擇最短的輸出格式 3.14
c 字符 h
s 字符串 hello
p 指針地址 8ffff

接下來是標志位的介紹。

標志位 參數含義
- 向左對齊,默認是向右對齊
+ 強制顯示正負號,在默認情況下對于只有負數的時候才顯示負號

再下來介紹寬度參數:

寬度 參數含義
(數字) 顯示的最小寬度。如果要顯示的內容達不到最小寬度數值,那么用空格補齊。

然后介紹顯示精度的參數。

精度 參數含義
(數字) 最小精度的數值

最后的數字的長度的問題比較復雜,所以通過對比表格展示了參數使用前后的區別。表格第一行表示不使用參數的情況下的顯示。

數字長度 d i u o x X f F e E g G c s
(none) int unsigned int double int char*
hh signed char unsigned char
h short int unsigned short int
l long int unsigned long int wint_t wchar_t*
ll long long int unsigned long long int
j intmax_t uintmax_t
z size_t size_t
t ptrdiff_t ptrdiff_t

2. 實例參考

下面我們來看下 printf() 函數的具體使用:

實例演示
預覽 復制
復制成功!
#include <stdio.h>

int main()
{
   printf ("Characters: %c \n", 'a');
   printf ("Decimals: %d %+ld\n", -1977, 650000L);
   printf ("Preceding with blanks: %10d \n", 1977);
   printf ("Preceding with zeros: %010d \n", 1977);
   printf ("Some different radices: %d %x %o %#x %#o \n", 100, 100, 100, 100, 100);
   printf ("floats: %4.2f %+.0e %E \n", 3.1415, 3.1415, 3.1415);
   printf ("%s \n", "A string");
   return 0;
}
運行案例 點擊 "運行案例" 可查看在線運行效果

顯示效果:

Characters: a
Decimals: -1977 +650000
Preceding with blanks:       1977
Preceding with zeros: 0000001977
Some different radices: 100 64 144 0x64 0144
floats: 3.14 +3e+00 3.141500E+00
A string

3. 小結

對于 printf 函數, C 語言中提供了非常多的顯示格式的選項,以方便大家用來與用戶進行交互使用。

這里里面的必選項是說明符,也就是說明你要是顯示的數據的類型。而諸如標志位,顯示占位符,顯示數字的精度,數字的長度等參數都是可選參數,根據你要顯示的需求和顯示的屏幕的情況來自己選擇。

還有一點請記住,在使用這個函數的時候,不要忘記引用這個函數所在的程序庫,也就是 #include <stdio.h>,要添加在程序的起始位置上。