最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
C語言中printf怎樣格式化輸出函數(shù)

本篇文章給大家分享的是有關(guān)C語言中printf怎樣格式化輸出函數(shù),小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

公司主營業(yè)務(wù):成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出橋東免費(fèi)做網(wǎng)站回饋大家。

int printf(const char *format,[argument]);

format 參數(shù)輸出的格式,定義格式為:

%[flags][width][.perc] [F|N|h|l]type

規(guī)定數(shù)據(jù)輸出方式,具體如下:

1.type 含義如下:

d 有符號10進(jìn)制整數(shù)

i 有符號10進(jìn)制整數(shù)

o 有符號8進(jìn)制整數(shù)

u 無符號10進(jìn)制整數(shù)

x 無符號的16進(jìn)制數(shù)字,并以小寫abcdef表示

X 無符號的16進(jìn)制數(shù)字,并以大寫ABCDEF表示

F/f 浮點(diǎn)數(shù)

E/e 用科學(xué)表示格式的浮點(diǎn)數(shù)

g 使用%f和%e表示中的總的位數(shù)表示最短的來表示浮點(diǎn)數(shù) G 同g格式,但表示為指數(shù)

c 單個(gè)字符

s 字符串

% 顯示百分號本身

p 顯示一個(gè)指針,near指針表示為:XXXX

far 指針表示為:XXXX:YYYY

n 相連參量應(yīng)是一個(gè)指針,其中存放已寫字符的個(gè)數(shù)

2.flags 規(guī)定輸出格式,取值和含義如下:

無 右對齊,左邊填充0和空格

- 左對齊,右邊填充空格

+ 在數(shù)字前增加符號 + 或 -

一個(gè)空格 只對負(fù)數(shù)顯示符號

# 當(dāng)type=c,s,d,i,u時(shí)沒有影響

type=o,x,X時(shí),分別在數(shù)值前增加'0',"0x","0X"

type=e,E,f時(shí),總是使用小數(shù)點(diǎn)

type=g,G時(shí),除了數(shù)值為0外總是顯示小數(shù)點(diǎn) 3.width 用于控制顯示數(shù)值的寬度,取值和含義如下n(n=1,2,3...) 寬度至少為n位,不夠以空格填充

0n(n=1,2,3...) 寬度至少為n位,不夠左邊以0填充 * 格

式列表中,下一個(gè)參數(shù)還是width 4.prec 用于控制小數(shù)點(diǎn)后面的位數(shù),取值和含義如下:

無 按缺省精度顯示

0 當(dāng)type=d,i,o,u,x時(shí),沒有影響

type=e,E,f時(shí),不顯示小數(shù)點(diǎn)

n(n=1,2,3...) 當(dāng)type=e,E,f時(shí)表示的最大小數(shù)位數(shù)

type=其他,表示顯示的最大寬度 .*

格式列表中,下一個(gè)參數(shù)還是width

5.F|N|h|l 表示指針是否是遠(yuǎn)指針或整數(shù)是否是長整數(shù)

F 遠(yuǎn)指針

n 近指針

h短整數(shù)或單精度浮點(diǎn)數(shù)

l 長整數(shù)或雙精度浮點(diǎn)數(shù)

1.一般格式

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

例如:printf("i=%d,ch=%c\n",i,ch);

說明:

(1)“格式控制”是用雙撇號括起來的字符串,也稱“轉(zhuǎn)換控制字符串”,它包括兩種信息:

①格式說明:由“%”和格式字符組成,它的作用是將輸出的數(shù)據(jù)轉(zhuǎn)換為指定的格式輸出。

②普通字符,即需要原樣輸出的字符。

(2)“輸出表列”是需要輸出的一些數(shù)據(jù),可以是表達(dá)式

(3)printf函數(shù)的一般形式可以表示為

printf(參數(shù)1,參數(shù)2,……,參數(shù)n)

功能是將參數(shù)2~參數(shù)n按參數(shù)1給定的格式輸出

2.格式字符(9種)

(1)d(或i)格式符。用來輸出十進(jìn)制整數(shù),有以下幾種用法:

①%d,按整型數(shù)據(jù)的實(shí)際長度輸出。

②%md,m為指定的輸出字段的寬度。如果數(shù)據(jù)的位數(shù)小于m,則左端補(bǔ)以空格,若大于m,則按實(shí)際位數(shù)輸出。

③%ld(%mld 也可),輸出長整型數(shù)據(jù)。

例如:long a=123456;

printf("%ld",a);

(2)o格式符,以八進(jìn)制數(shù)形式輸出整數(shù)。格式:%o,%mo,%lo,%mlo都可。

(3)x(或X)格式符,以十六進(jìn)制數(shù)形式輸出整數(shù)。格式:%x,%mx,%lx,%mlx都可。

(4)u格式符,用來輸出unsigned型數(shù)據(jù),即無符號數(shù),以十進(jìn)制數(shù)形式輸出。格式:%u,%mu,%lu都可。

參見:li4-3.c/*無符號數(shù)據(jù)的輸出*/

(5)c格式符,用來輸出一個(gè)字符。格式:%c,%mc都可。

(6)s格式符,用來輸出一個(gè)字符串。格式:%s,%ms,%-ms,%m.ns,%-m.ns都可。

參見:li4-5.c /*字符串的輸出*/

(7)f格式符,用來輸出實(shí)數(shù)(包括單、雙精度),以小數(shù)形式輸出。格式:%f,%m.nf,%-m.nf都可。

注意:單精度實(shí)數(shù)的有效位數(shù)一般為7位,雙精度為16位。

參見:li4-6.c/*輸出單精度實(shí)數(shù)時(shí)的有效位數(shù)*/

li4-7.c/*輸出雙精度實(shí)數(shù)時(shí)的有效位數(shù)*/

li4-8.c/*輸出實(shí)數(shù)時(shí)指定小數(shù)位數(shù)*/

(8)e(或E)格式符,以指數(shù)形式輸出實(shí)數(shù)。格式:%e,%m.ne,%-m.ne都可。

(9)g(或G)格式符,用來輸出實(shí)數(shù),它根據(jù)數(shù)值的大小,自動選f格式或e格式(選擇輸出時(shí)占寬度較小的一種)。

3.說明

(1)除了X、E、G(用大寫字母表示)外,其他格式字符必須用小寫字母;

(2)“格式控制”字符串內(nèi)可以包含轉(zhuǎn)義字符;

(3)如果想輸出字符“%”,則應(yīng)該在“格式控制”字符串中用連續(xù)兩個(gè)%表示,如:

printf("%f%%",1.0/3);

(4)格式字符表參見下表

表4.1 printf格式字符

格式字符 說 明

d,i 以帶符號的十進(jìn)制形式輸出整數(shù)(正數(shù)不輸出符號)

o 以八進(jìn)制無符號形式輸出整數(shù)(不輸出前導(dǎo)符0)

x,X 以十六進(jìn)制無符號形式輸出整數(shù)(不輸出前導(dǎo)符0x),用x則輸出十六進(jìn)制數(shù)的a~f時(shí)以小寫形式輸出,用X時(shí),則以大寫字母輸出

u 以無符號十進(jìn)制形式輸出整數(shù)

c 以字符形式輸出,只輸出一個(gè)字符

s 輸出字符串

f 以小數(shù)形式輸出單、雙精度數(shù),隱含輸出6位小數(shù)

e,E 以指數(shù)形式輸出實(shí)數(shù)

g,G 選用%f或%e格式中輸出寬度較短的一種格式,不輸出無意義的0

表4.2 printf的附加格式說明字符

字符

說明

字母l

用于長整型整數(shù),可加在格式符d、o、x、u前面

m(代表一個(gè)正整數(shù))

數(shù)據(jù)最小寬度

n(代表一個(gè)正整數(shù))

對實(shí)數(shù),表示輸出n位小數(shù);對字符串,表示截取的字符個(gè)數(shù)

-

輸出的數(shù)字或字符在域內(nèi)向左靠

程序例:

#include

int main()

{

printf("Hello,world\n");

while(1);

}

#include

int main()

{

int i = 1, j =2;

printf("%d %d\n",i,j);

while(1);

}

printf 命令

用途

寫格式化輸出。

語法

printf Format [ Argument ... ]

描述

printf 命令轉(zhuǎn)換、格式化并寫 Argument 參數(shù)到標(biāo)準(zhǔn)輸出。Argument 參數(shù)是由 Format 參數(shù)控制格式化的。格式化輸出行不能超出 LINE_MAX 字節(jié)長度。

下列環(huán)境變量影響 printf 命令的執(zhí)行:

LANG 在 LC_ALL 和相應(yīng)的環(huán)境變量(以 LC_ 開頭)沒有指定語言環(huán)境時(shí),確定語言環(huán)境編目使用的語言環(huán)境。

LC_ALL 確定用于覆蓋由 LANG 或其它任何 LC_ 環(huán)境變量設(shè)置的任何語言環(huán)境編目值的語言環(huán)境。

LC_CTYPE 確定把文本字節(jié)數(shù)據(jù)順序解釋為字符的語言環(huán)境;例如,單一字節(jié)對應(yīng)多字節(jié)字符的參數(shù)。

LC_MESSAGES 確定寫消息使用的語言。

LC_NUMERIC 確定數(shù)字格式編排的語言環(huán)境。此環(huán)境變量影響使用 e、E、f、g 和 G 轉(zhuǎn)換字符編寫的數(shù)字的格式。

Format 參數(shù)是包含三種對象類型的一個(gè)字符串:

* 無格式字符復(fù)制到輸出流。

* 轉(zhuǎn)換規(guī)范,每個(gè)規(guī)范導(dǎo)致在值參數(shù)列表中檢索 0 個(gè)或更多個(gè)項(xiàng)。

* 以下轉(zhuǎn)義序列。在復(fù)制到輸出流時(shí),這些序列導(dǎo)致它們的相關(guān)操作在有此功能的設(shè)備上顯示:

\\ 反斜杠

\a 警告

\b 退格

\f 換頁

\n 換行

\r 回車

\t 跳格

\v 垂直跳格

\ddd ddd 是 1、2 或 3 位八進(jìn)制數(shù)字。這些轉(zhuǎn)義序列作為由八進(jìn)制數(shù)指定的具有數(shù)字值的字節(jié)顯示。

Argument 參數(shù)是一個(gè)或多個(gè)字符串的列表,它在 Format 參數(shù)的控制下被寫到標(biāo)準(zhǔn)輸出。

Format 參數(shù)在必要的情況下會經(jīng)常重新使用以滿足 Argument 參數(shù)。將好像提供了空字符串 Argument 一樣評估任何額外的 c 或者 s 轉(zhuǎn)換規(guī)范;其它額外轉(zhuǎn)換規(guī)范將好像提供了 0 Argument 一樣評估。此處 Format 參數(shù)不包含轉(zhuǎn)換規(guī)范僅出現(xiàn) Argument 參數(shù),結(jié)果是不確定的。

每個(gè) Format 參數(shù)中的轉(zhuǎn)換規(guī)范都具有如下順序的語法:

1. % (百分號)。

2. 零或更多的選項(xiàng),修改轉(zhuǎn)換規(guī)范的含義。選項(xiàng)字符和它們的含義是:

- 轉(zhuǎn)換結(jié)果在字段中左對齊。

+ 符號轉(zhuǎn)換結(jié)果常以符號(+ 或者 -)開始。

空格 如果符號轉(zhuǎn)換的第一個(gè)字符不是符號,結(jié)果的前綴將是空格。如果空格和 + 選項(xiàng)字符都顯示,則忽略空格選項(xiàng)字符。

# 此選項(xiàng)指定值轉(zhuǎn)換到備用格式。對于 c、d、i, u 和 s 轉(zhuǎn)換,選項(xiàng)沒有作用。對于 o 轉(zhuǎn)換,它增加精度來強(qiáng)制結(jié)果的第一數(shù)字是 a、0(零)。對于 x 和 X 轉(zhuǎn)換,非零結(jié)果分別具有 0x 或 0X 前綴。對于 e、E、 f、g 和 G 轉(zhuǎn)換,結(jié)果通常包含基數(shù)字符,即使基數(shù)字符后沒有數(shù)字。對于 g 和 G 轉(zhuǎn)換,結(jié)尾零不象通常一樣除去。

0 對于 d、i、o、 u、x、e、 E、f、g 和 G 轉(zhuǎn)換,前導(dǎo)零(跟在符號或底數(shù)的后面)用于填充字段寬度,將不用空格填充。如果顯示 0(零)和 -(減號)選項(xiàng),0(零)選項(xiàng)被忽略。對于 d、i、o、u、x 和 X 轉(zhuǎn)換,如果指定精度,0(零)選項(xiàng)將被忽略。

注:

其它轉(zhuǎn)換,沒有定義其行為。

3. 可選的指定最小值字段寬度的十進(jìn)制數(shù)字字符串。如果轉(zhuǎn)換值字符少于字段寬度,該字段將從左到右按指定的字段寬度填充。如果指定了左邊調(diào)整選項(xiàng),字段將在右邊填充。如果轉(zhuǎn)換結(jié)果寬于字段寬度,將擴(kuò)展該字段以包含轉(zhuǎn)換后的結(jié)果。不會發(fā)生截?cái)?。然而,小的精度可能?dǎo)致在右邊發(fā)生截?cái)唷?/p>

4. 可選的精度。精度是一個(gè) .(點(diǎn))后跟十進(jìn)制數(shù)字字符串。如果沒有給出精度,按 0(零)對待。精度指定:

* d、o、i、 u、x 或 X 轉(zhuǎn)換的最少數(shù)字顯示位數(shù)。

* e 和 f 轉(zhuǎn)換的基數(shù)字符后的最少數(shù)字顯示位數(shù)。

* g 轉(zhuǎn)換的最大有效數(shù)字位數(shù)。

* s 轉(zhuǎn)換中字符串的最大打印字節(jié)數(shù)目。

5. 指示要應(yīng)用的轉(zhuǎn)換類型的一個(gè)字符,例如:

% 不進(jìn)行轉(zhuǎn)換。打印一個(gè) %(百分號)。

d, i 接受整數(shù)值并將它轉(zhuǎn)換為有符號的十進(jìn)制符號表示法。精度指定顯示的最小數(shù)字位數(shù)。如果值轉(zhuǎn)換后可以用更少的位數(shù)來表示,將使用前導(dǎo)零擴(kuò)展。缺省精度是 1。精度為零的零值轉(zhuǎn)換的結(jié)果是空字符串。用零作為前導(dǎo)字符來指定字段寬度,導(dǎo)致用前導(dǎo)零填充字段寬度值。

o 接受整數(shù)值并將它轉(zhuǎn)換為有符號的八進(jìn)制符號表示法。精度指定顯示的最小數(shù)字位數(shù)。如果值轉(zhuǎn)換后可以用更少的位數(shù)來表示,將使用前導(dǎo)零擴(kuò)展。缺省精度是 1。精度為零的零值轉(zhuǎn)換的結(jié)果是空字符串。用零作為前導(dǎo)字符來指定字段寬度,導(dǎo)致用前導(dǎo)零填充字段寬度值。不用八進(jìn)制值表示字段寬度。

u 接受整數(shù)值并將它轉(zhuǎn)換為無符號的十進(jìn)制符號表示法。精度指定顯示的最小數(shù)字位數(shù)。如果值轉(zhuǎn)換后可以用更少的位數(shù)來表示,將使用前導(dǎo)零擴(kuò)展。缺省精度是 1。精度為零的零值轉(zhuǎn)換的結(jié)果是空字符串。用零作為前導(dǎo)字符來指定字段寬度,導(dǎo)致用前導(dǎo)零填充字段寬度值。

x, X 接受整數(shù)值并將它轉(zhuǎn)換為十六進(jìn)制符號表示法。字母 abcdef 用于 x 轉(zhuǎn)換,字母 ABCDEF 用于 X 轉(zhuǎn)換。精度指定顯示的最小數(shù)字位數(shù)。如果值轉(zhuǎn)換后可以用更少的位數(shù)來表示,將使用前導(dǎo)零擴(kuò)展。缺省精度是 1。精度為零的零值轉(zhuǎn)換的結(jié)果是空字符串。用零作為前導(dǎo)字符來指定字段寬度,導(dǎo)致用前導(dǎo)零填充字段寬度值。

f 接受浮點(diǎn)或者雙精度值并將它轉(zhuǎn)換為十進(jìn)制符號表示法,格式為 [-] ddd.ddd。基數(shù)字符(在這里顯示為十進(jìn)制點(diǎn))后的數(shù)字位數(shù)等于規(guī)定的精度。 LC_NUMERIC 語言環(huán)境編目確定在這個(gè)格式中使用的基數(shù)字符。如果不指定精度,則輸出六個(gè)數(shù)字。如果精度是 0(零),將不顯示基數(shù)字符。

e, E 接受浮點(diǎn)或者雙精度值并將它轉(zhuǎn)換為指數(shù)表示的形式 [-] d.dde{+|-}dd。在基數(shù)字符前有一個(gè)數(shù)字(在這里顯示為十進(jìn)制點(diǎn)),基數(shù)字符后的數(shù)字位數(shù)等于規(guī)定的精度。 LC_NUMERIC 語言環(huán)境編目確定在這個(gè)格式中使用的基數(shù)字符。如果不指定精度,則輸出六個(gè)數(shù)字。如果精度是 0(零),將不顯示基數(shù)字符。E 轉(zhuǎn)換字符在指數(shù)前生成帶 E 而不是帶 e 的數(shù)字。指數(shù)通常至少包含兩個(gè)數(shù)字。然而,如果要打印的指數(shù)值大于兩個(gè)數(shù)字,必要時(shí)需要打印附加指數(shù)數(shù)字。

g、G 接受浮點(diǎn)和雙精度值并轉(zhuǎn)換為 f 或 e 轉(zhuǎn)換字符的樣式(或在 G 轉(zhuǎn)換的情況下是 E),用精度指定有效數(shù)字的個(gè)數(shù)。尾零將從結(jié)果中除去。基數(shù)字符只有在其后是數(shù)字時(shí)顯示。使用的樣式取決于轉(zhuǎn)換的值。樣式 g 僅在轉(zhuǎn)換的指數(shù)結(jié)果小于 -4,或大于或等于精度時(shí)使用。

c 接受值將其作為字符串并打印字符串中的第一個(gè)字符。

s 接受值將其作為字符串并打印字符串中的字符直到字符串結(jié)束或者達(dá)到精度指示的字符個(gè)數(shù)。如果沒有指定精度,打印全部字符直到出現(xiàn)第一個(gè)空字符。

b 接受值將其作為字符串,可能包含反斜杠轉(zhuǎn)義序列。打印來自轉(zhuǎn)換字符串的字節(jié)直到字符串結(jié)束或者達(dá)到精度規(guī)范指示的字節(jié)數(shù)。如果沒有指定精度,打印全部字節(jié)直到出現(xiàn)第一個(gè)空字符。

支持下列反斜杠轉(zhuǎn)義序列:

* 先前列出的反斜杠轉(zhuǎn)義序列在 Format 參數(shù)描述下。這些轉(zhuǎn)義序列將被轉(zhuǎn)換到它們表示的單個(gè)字符。

* \c(反斜杠 c)序列,它不顯示并使 printf 命令忽略 Format 參數(shù)中的字符串參數(shù)包含的剩余的所有字符串,所有剩余的字符串參數(shù)和所有附加字符。

退出狀態(tài)

該命令返回以下出口值:

0 成功完成。

>0 發(fā)生錯誤。

示例

1. 輸入下列命令:

printf ("%5d%4d\n",1213,43);

產(chǎn)生下列輸出:

_1213_ _43

三次使用 Format 參數(shù)打印所有給定字符串。0(零)由 printf 命令提供以滿足最后的 %4d 轉(zhuǎn)換規(guī)格。

2. 輸入下列命令

printf ("%c %c\n",78,79);

產(chǎn)生下列輸出:

N_O

以上就是C語言中printf怎樣格式化輸出函數(shù),小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


分享題目:C語言中printf怎樣格式化輸出函數(shù)
文章來源:http://fisionsoft.com.cn/article/gdhoes.html