c語言的所有格式符,C語言的所有格式符。

2021-12-23 04:12:25 字數 5392 閱讀 6308

1樓:

%a,%a 讀入一個浮點值(僅c99有效)%c 讀入一個字元

%d 讀入十進位制整數

%i 讀入十進位制,八進位制,十六進位制整數

%o 讀入八進位制整數

%x,%x 讀入十六進位制整數

%s 讀入一個字串,遇空格、製表符或換行符結束。

%f,%f,%e,%e,%g,%g 用來輸入實數,可以用小數形式或指數形式輸入。

%p 讀入一個指標

%u 讀入一個無符號十進位制整數

%n 至此已讀入值的等價字元數

% 掃描字符集合

%% 讀%符號

2樓:匿名使用者

一、格式符含義

1、d格式符:按十進位制格式輸出。

%d 輸出數字長度為變數數值的實際長度

%md 輸出m位(不足補空格,大於m位時按實際長度輸出)

%ld,%mld l(小寫字母l)表示輸出「長整型」資料

%0md,%0mld 0(數字0)表示位數不足m時補0

注:%後面的m(位數控制)、0(位數不足補0)對於其他格式符也適用。

例:(□表示空格)

int i=123;

long j=123456;

printf("%d□5d□05d,□ld□8ld□08ld",i,i,i,j,j,j);

輸出:123□□□123□00123,□123456□□□123456□00123456

2、o(字母)格式符:按八進位制格式輸出。(不會出現負數格式)

3、x格式符:按十六進位制格式輸出。(不會出現負數格式)

4、u格式符:用於輸出unsigned型別資料。

例:main()

輸出:a=-1,177777,ffff,65535

b=-2,177776,fffe,65534

5、c格式符:以字元形式輸出。

6、s格式符:以字串格式輸出。

例:printf("%s","china");

%ms m指定寬度(不足時左補空格,大於時按實際寬度輸出)

%-ms 左對齊,不足m時右補空格

%m.ns 輸出佔m個字元位置,其中字元數最多n個,左補空格

%-m.ns 同上,右補空格

7、f格式符:按實數格式輸出。

%f 按實數格式輸出,整數部分按實際位數輸出,6位小數

%m.nf 總位數m(含小數點),其中n位小數

%-m.nf 同上,左對齊

例:main()

程式輸出: 333333.328152(實數運算中誤差不可避免)

例:main()

程式輸出: 3333333333333.333010 3333333333333.333010(相同)

注意從以上兩例可以看出,實數運算中誤差不可避免,double比float精度高。

float實數(單精度)的有效位數是7位,double實數(雙精度)的有效位數是16位,超過有效位數的輸出和輸入均無意義。

例:main()

輸出結果:

123.455994□□123.455994□□□□□□123.46□□123.46□□123.46

8、e格式符:以指數形式輸出實數。%e 輸出13位,其中:1位整數,1位小數點,6位小數,5位指數(含字元e和指數的符號)

9、g格式符:根據數值大小,自動選擇f或e格式輸出。

二、使用注意

1、%是printf()的格式說明符,若要直接輸出字元%,在格式控制中使用兩個連續的%。

例:printf("%f%%", 1.0/3) 輸出: 0.333333%。

2、通常在有格式字元o和x按八進位制和十六進位制形式輸出整數時,在數值前不出現0和0x,可在%和格式字元間插入#來實現。

例:printf(「%o,%#o,%x,%#x\n」,10,10,10,10);

輸出:12,012,a,0xa

3、指定輸出寬度的同時指定左對齊可在寬度前插入「—」來實現。

c語言轉換格式符大全?

3樓:匿名使用者

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

format 引數輸出的格式,定義格式為:

%[flags][width][.perc] [f|n|h|l]type

規定資料輸出方式,具體如下:

1.type 含義如下:

d 有符號10進位制整數

i 有符號10進位制整數

o 有符號8進位制整數

u 無符號10進位制整數

x 無符號的16進位制數字,並以小寫abcdef表示

x 無符號的16進位制數字,並以大寫abcdef表示

f/f 浮點數

e/e 用科學表示格式的浮點數

g 使用%f和%e表示中的總的位數表示最短的來表示浮點數 g 同g格式,但表示為指數

c 單個字元

s 字串

% 顯示百分號本身

p 顯示一個指標,near指標表示為:***x

far 指標表示為:***x:yyyy

n 相連參量應是一個指標,其中存放已寫字元的個數

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

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

- 左對齊,右邊填充空格

+ 在數字前增加符號 + 或 -

一個空格 只對負數顯示符號

# 當type=c,s,d,i,u時沒有影響

type=o,x,x時,分別在數值前增加'0',"0x","0x"

type=e,e,f時,總是使用小數點

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

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

式列表中,下一個引數還是width 4.prec 用於控制小數點後面的位數,取值和含義如下:

無 按預設精度顯示

0 當type=d,i,o,u,x時,沒有影響

type=e,e,f時,不顯示小數點

n(n=1,2,3...) 當type=e,e,f時表示的最大小數位數

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

格式列表中,下一個引數還是width

5.f|n|h|l 表示指標是否是遠指標或整數是否是長整數

f 遠指標

n 近指標

h短整數或單精度浮點數

l 長整數或雙精度浮點數

1.一般格式

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

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

說明:(1)「格式控制」是用雙撇號括起來的字串,也稱「轉換控制字串」,它包括兩種資訊:

①格式說明:由「%」和格式字元組成,它的作用是將輸出的資料轉換為指定的格式輸出。

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

(2)「輸出表列」是需要輸出的一些資料,可以是表示式

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

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

功能是將引數2~引數n按引數1給定的格式輸出

2.格式字元(9種)

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

①%d,按整型資料的實際長度輸出。

②%md,m為指定的輸出欄位的寬度。如果資料的位數小於m,則左端補以空格,若大於m,則按實際位數輸出。

③%ld(%mld 也可),輸出長整型資料。

例如:long a=123456;

printf("%ld",a);

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

(3)x(或x)格式符,以十六進位制數形式輸出整數。格式:%x,%mx,%lx,%mlx都可。

(4)u格式符,用來輸出unsigned型資料,即無符號數,以十進位制數形式輸出。格式:%u,%mu,%lu都可。

參見:li4-3.c/*無符號資料的輸出*/

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

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

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

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

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

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

li4-7.c/*輸出雙精度實數時的有效位數*/

li4-8.c/*輸出實數時指定小數位數*/

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

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

3.說明

(1)除了x、e、g(用大寫字母表示)外,其他格式字元必須用小寫字母;

(2)「格式控制」字串內可以包含轉義字元;

(3)如果想輸出字元「%」,則應該在「格式控制」字串中用連續兩個%表示,如:

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

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

表4.1 printf格式字元

格式字元 說 明

d,i 以帶符號的十進位制形式輸出整數(正數不輸出符號)

o 以八進位制無符號形式輸出整數(不輸出前導符0)

x,x 以十六進位制無符號形式輸出整數(不輸出前導符0x),用x則輸出十六進位制數的a~f時以小寫形式輸出,用x時,則以大寫字母輸出

u 以無符號十進位制形式輸出整數

c 以字元形式輸出,只輸出一個字元

s 輸出字串

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

e,e 以指數形式輸出實數

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

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

字元說明

字母l用於長整型整數,可加在格式符d、o、x、u前面

m(代表一個正整數)

資料最小寬度

n(代表一個正整數)

對實數,表示輸出n位小數;對字串,表示擷取的字元個數

-輸出的數字或字元在域內向左靠

4樓:匿名使用者

%c 字元

%d 十進位制整數

%e 浮點數,指數e的形式 %s 字串%e 浮點數,指數e的形式 %u 無符號十進位制整數%f 浮點數,小數點形式 %g 輸出%f與%e較短者%o 無符號八進位制整數 %g 輸出%f與%e較短者%x 無符號十六進位制整數,以0~f表示 %x 無符號十六進位制整數,以0~f表示

%l 長整型,加在d,o,u,x,x之前,如%ld(注意%l是英文字母l,不是數字1)

c語言中的f格式符,C語言中的 f格式符

f在輸入輸出使用,它表示輸入或輸出的數為浮點數 即可以帶小數的數 如 float a scanf f a 就可以輸入3.15 a 3.15 同理 d,表示輸入或輸出的數為整數。c表示輸入或輸出的數為字元。不曉得你上個問題是什麼,但是 f是輸出一個實數,並不需要制定輸出寬度的。他的小數位佔6寬度,小數...

C語言輸出500以內所有勾股數用C語言程式表達

僅僅是對一樓的優抄化的,還有其他的方bai法,du但是複雜方法對於500以內zhi就顯得太不值得了,還是dao窮舉法簡單些 include int main return 0 暴力一下就行版了 include int main return 0 c語言 求相加之和小於500的勾股數。即x y z 5...

c語言賦值運算子,C語言賦值運算子

a a a a 分步 1 a a a a a 9 a 9 a a 9,a 6 2 a 6 a 6 6 a 12a a a a 1 a a a 9 2 a 9 a 9 9 a 0 3 a 0 a 0 在c語言中11種賦值運算子的具體含義,用法?1.六個變數 表示式的賦值 是賦值運算子,是除後賦值,是乘...