1樓:匿名使用者
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/x 有符號16進位制整數
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'字元
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位小數;對字串,表示擷取的字元個數
-輸出的數字或字元在域內向左靠
2樓:匿名使用者
printf("任意文字或字元");
printf("任意字元1 %d 任意字元2 %s",整型變數1,字元型變數2);
或者舉個更簡單的例子顯示的結果就是a=1,b=2
3樓:匿名使用者
printf([字串][,變數])
字串:如"aabb","aaa%defdk","dsf%feadi"
變數:a,b,d,3,5,6...
可以只有字串無變數,但是隻有變數沒有字串,那就好無意義了。
為什麼?不知道你沒有沒看到在上面的三個字串中後面兩個字串中都有一個%,重點就在這裡
%d表示int型別的值,看下面的例子你就會明白:
a=1,b=2
printf("a=%d,b=%d",a,b)結果為:a=1,b=2
其中第一個%d會用第一個變數的值來代替,第二個%d會用第二個變數的值來代替。如果還有,則以此類推就可以了。
關於%d是什麼,你就可以去參考第二位朋友的回答了!
4樓:千夜渡落日
printf表示輸出
printf("%d\n",m)是其一般形式。
5樓:匿名使用者
while(){};
do{}while();
for(;;;){};
在c語言中printf後面的句子怎麼解釋?如:printf(%f\n,y); }
6樓:滄海雄風
以 float 格式輸入 y 這個數字 \n換行
7樓:匿名使用者
你那個是錯的,正確的應該是printf(“%f\n”,y);
printf是列印後面的內容的意思,也就是輸出括號裡面是要輸出的內容
引號和分號是固定格式,引號裡面是要輸出的內容,分號是一個句子的結束%f是表示輸出的是浮點型資料
\n是表示換行
逗號是表示把前面引號內的內容和後面的變數分開y是一個變數
比如y=5
則輸出來就是5.0000000,因為浮點型是精確到小數點後7位。
8樓:
應該是printf("%f\n",y)把 你把引號露了。
%f代表資料型別,就是輸出一個float型的數。這個數的值就是逗號後面的y中儲存的值。
\n是換行的意思。就是說\n之後的內容 轉到下一行輸出。
這麼說差不多能明白吧。
c語言中有,C語言中有printf 3 0f f6 1f n , fahr,celsius 其中 是什麼意思?
printf 3.0f f6.1f n fahr,celsius 3.0f 的意思是用3位浮點型數來輸出變數fahr的值 小數位為零 f6.1f n 的意思是用6位小數點為1位的浮點型數來輸出變數celsius的值.其中的小數點前後的兩位數分別表示要輸出變數的總位數和它的小數位數。 格式說明的字首 ...
c語言中printf輸出為何都要加
n 是換行鍵,在 printf輸出函式中加入的話,利於顯示結果,否則連續輸出都連著,不好區分。 n 是換行的意思 以 開頭的是轉義字元 轉義字元主要用來表示那些用一般字元不便於表示的控制 n是換行輸出的意思,一般輸出的格式printf d n c 就是用十進位制形式輸出字元c,並且是換行輸出,你可以...
C語言關於大括號的使用,c語言中的 大括號的使用,什麼時候需要什麼 ?
稅家連清舒 你確定if y 10 是屬於第二個for迴圈的嗎?顯然不可能是,因為第二個for迴圈中,y 9,那麼if y 10 永遠不可能成立了,寫在那裡有什麼意義?這是列印乘法口訣的吧?include intmain void printf n 翥甾天下 其實這是有一個竅門的,在迴圈for whi...