1樓:叫8爸爸
printf函式的一般格式
printf(格式控制字串,輸出表列);
以圖1所示為例。
圖1.函式引數包括兩部分:
【1】格式控制字串,是用雙引號括起來的字串,也稱為轉換控制字串,它指定輸出資料項的型別和格式。
它包括兩種資訊:
●格式說明項:由%和格式字元組成,如%d,%f等。格式說明總是由%字元開始,到格式字元終止。
它的作用是將輸出的資料項轉換為指定的格式輸出。輸出表列中的每個資料項對應一個格式說明項。
● 普通字元:即需要原樣輸出的字元,如逗號和換行符。
【2】輸出列表,是需要輸出的一些資料項,可以是表示式。
例如:假如a=3,b=4,那麼printf("a=%db=%d",a,b);,輸出a=3b=4。其中兩個 「%d」是格式說明,表示輸出兩個整數,分別對應變數a,b。
「a=」,「b=」是普通字元,原樣輸出。
由於printf是函式,因此,格式控制字串和輸出表列實際上都是函式的引數。printf函式的一般形式可以表示為:
printf(引數1,引數2,引數3,…,引數n)
printf函式的功能是將引數2到引數n按照引數1給定的格式輸出。
【3】格式字元 (構成格式說明項)
對於不同型別的資料項,應當使用不同的格式字元構成的格式說明項。常用的有以下幾種格式字元:(按不同型別資料,列出各種格式字元的常用用法)
【d格式符】用來輸出十進位制整數。有以下幾種用法:
● %d,按照資料的實際長度輸出。
● %md,m指定輸出欄位的寬度 (整數)。如果資料的位數小於m,則左端補以空格(右對齊);若大於m,則按照實際位數輸出。
● %-md,m指定輸出欄位的寬度 (整數)。如果資料的位數小於m,則右端補以空格 (左對齊);若大於m,則按照實際位數輸出。
● %ld,輸出長整型資料,也可以指定寬度%mld。
【o格式符】以八進位制形式輸出整數。注意:是將記憶體單元中的各位的值按八進位制形式輸出,輸出的資料不帶符號,即將符號位也一起作為八進位制的一部分輸出。
例如:inta=-1;
printf("%d,%o,%x",a,a,a);
-1的原碼:1000,0000,0000,0001。
-1在記憶體中的補碼錶示為:
1111,1111,1111,1111=1,111,111,111,111,111=1,7,7,7,7,7=ffff
輸出:-1,177777,ffff
【s格式符】用來輸出一個字串。有以下幾種用法:
● %s,輸出字串。
● %ms,輸出的字串佔m列,如果字串長度大於m,則字串全部輸出;若字串長度小於m,則左補空格 (右對齊)。
● %-ms,輸出的字串佔m列,如果字串長度大於m,則字串全部輸出;若字串長度小於m,則右補空格 (左對齊)。
● %m.ns,輸出佔m列,但只取字串左端n個字元,左補空白 (右對齊)。
● %-m.ns,輸出佔m列,但只取字串左端n個字元,右補空白 (左對齊)。
【 f 格式符】用來輸出實數 (包括單、雙精度,單雙精度格式符相同),以小數形式輸出。有以下幾種用法:
● %f,不指定寬度,使整數部分全部輸出,並輸出6位小數。注意,並非全部數字都是有效數字,單精度實數的有效位數一般為7位 (雙精度16位)。
● %m.nf,指定資料佔m列,其中有n位小數。如果數值長度小於m,左端補空格(右對齊)。
● %-m.nf,指定資料佔m列,其中有n位小數。如果數值長度小於m,右端補空格(左對齊)。
【 e 格式符】以指數形式輸出實數。可用以下形式表示:
● %e,不指定輸出資料所佔的寬度和小數位數,由系統自動指定。如6位小數,指數佔5位,-e佔1位,指數符號佔1位,指數佔3位。數值按照規格化指數形式輸出 (小數點前必須有而且只有1位非0數字)。
2樓:大野瘦子
void main()
printf輸出字串的一些格式
1、原樣輸出字串:printf("%s", str);
2、輸出指定長度的字串, 超長時不截斷, 不足時右對齊:printf("%ns", str);
注:n 為指定長度的10進位制數值
3、輸出指定長度的字串, 超長時不截斷, 不足時左對齊:printf("%-ns", str);
注:n 為指定長度的10進位制數值
4、輸出指定長度的字串, 超長時截斷, 不足時右對齊:printf("%n.ms", str);
注:n 為最終的字串輸出長度
m 為從引數字串中取出的子串長度
5、輸出指定長度的字串, 超長時截斷, 不足時左對齊是: printf("%-n.ms", str);
注:n 為最終的字串輸出長度
m 為從引數字串中取出的子串長度
3樓:福建省寧德市
printf函式的一般使用形式為:printf("輸出格式",輸出項系列);要輸出字串,則只需寫出相應的輸出格式以及輸出項系列即可,其中輸出格式為%s,輸出項系列為字串名
printf函式輸出字串的例子如下:
#include
void main()
上述程式輸出了字串 abcd
4樓:上帝來自地球
列子如下:
#include
struct student;
int main(void)
5樓:匿名使用者
假設你的結構變數為s,用s.a去訪問那個字串即可。
printf("%s", s.a);就可以列印了
6樓:烏龍魔法師
#include
main()
這樣也是可以的
,另外c還提供了函式輸入輸出字串
上面用gets(name);輸入
puts(name) 輸出也是可以的
7樓:伊·梵
沒有中文環境,用printf不能輸出漢字
一種取巧的辦法是,自己構造"你好"的點陣字模(也可以使用現成的點陣漢字型檔),然後用printf("@")輸出點陣,可以看到巨大的"你好"
圖形模式下可以使用點陣漢字型檔輸出中文,不過那不是用printf實現的
8樓:重生之狼
int number;
char name[10];
int score;
printf("%d %s %d",number,name,score);
9樓:烏鴉
#include
int main(void)
注意 如果不支援中文字型檔 會出現亂碼
10樓:匿名使用者
printf("%s\n",&a);
11樓:匿名使用者
c語言裡沒有string
只有定義個字元陣列
char name[20];
printf("%d %s %d",number,name,score);
標頭檔案stdio.h
c語言裡怎麼使用printf?
12樓:匿名使用者
printf()函式的呼叫格式為: printf("《格式化字串》", 《參量表》)。
其中格式化字串包括兩部分內容:一部分是正常字元,這些字元將按原樣輸出; 另一部分是格式化規定字元,以"%"開始,後跟一個或幾個規定字元,用來確定輸出內容格式。
參量表是需要輸出的一系列引數,其個數必須與格式化字串所說明的輸出引數個數一樣多, 各引數之間用","分開, 且順序一一對應,否則將會出現意想不到的錯誤。
比如:int a=1234;
printf("a=%d\n",a);
輸出結果為a=1234。
scanf()是c語言中的一個輸入函式。與printf函式一樣,都被宣告在標頭檔案stdio.h裡,因此在使用scanf函式時要加上#include 。
int scanf(const char * restrict format,...);
函式scanf() 是從標準輸入流stdin (標準輸入裝置,一般指向鍵盤)中讀內容的通用子程式,可以說明的格式讀入多個字元,並儲存在對應地址的變數中。
如:scanf("%d %d",&a,&b);
函式返回值為int型,如果a和b都被成功讀入,那麼scanf的返回值就是2。
擴充套件資料:
printf函式使用注意事項
1.域寬問題
%d:按整型資料的實際長度輸出。
如果想輸出指定寬度可以指定域寬,%md-->m域寬,列印出來以後,在控制檯上,顯示m位;
如果我們要列印的數的位數如果超過我們設定m則原樣輸出;
如果我們要列印的數的位數如果小於我們設定的位數,則補空白,具體如下:
如果m為正數,則左對齊(左側補空白);
如果m為負數,則右對齊(右側補空白)。
2.轉義字元問題
如果想輸出字元"%",則應該在「格式控制」字串中用連續兩個%表示。
如:printf("%f%%", 1.0/3);輸出結果: 0.333333%。
13樓:僅僅是追憶
1、使用格式為:printf(「格式化字串",值列表);
2.、格式化控制符:
%d:輸出int型別,short型別,%ld:輸出long型別,%f:輸出float型別,%lf:輸出double型別,%c:輸出char型別。
3、%d或者%ld的其他控制符:%md:m代表這個整數佔多少位,m是一個整數,實際數字不足的位數用空格補齊,如果實際的整數的位數大於或者等於m時,就按實際輸出。
m也可以是負數,那麼代表不足位在後面補齊。
4、%f或者%lf的其他控制符:float是加上小數點一共7位有效,也就是小數點後6位是有效數字,double是加上小數點一共15位有效,也就是小數點後14位是有效數字
14樓:丿染指流年丶丶
printf用法:
如果在程式中要使用 printf 或者 scanf,那麼就必須要包含標頭檔案 stdio.h。因為這兩個函式就是包含在該標頭檔案中的。
printf 函式的原型為:
# include
int printf(const char *format, ...);
printf 的格式有四種:
1、 printf("字串\n");
# include
int main(void)
其中\n表示換行的意思。它是一個轉義字元,前面在講字元常量的時候見過。其中 n 是「new line」的縮寫,即「新的一行」。
此外需要注意的是,printf 中的雙引號和後面的分號必須是在英文輸入法下。雙引號內的字串可以是英文,也可以是中文。
2、 printf("輸出控制符",輸出引數);
# include
int main(void)
這句話的意思是將變數 i 以十進位制輸出。
3、 printf("輸出控制符1 輸出控制符2…", 輸出引數1, 輸出引數2, …);
# include
int main(void)
輸出控制符 1 對應的是輸出引數 1,輸出控制符 2 對應的是輸出引數 2……編譯、連結、執行後我們看一下輸出結果:10 3
4、 printf("輸出控制符 非輸出控制符",輸出引數);
c語言用迴圈輸出字母,C語言用迴圈輸出26個字母
include void main if i 7 6 是i對7求佘數,如果i 14,則佘為0,i 8 則佘為1 include int main return 0 ddddddddddddddddddd 用c語言迴圈語句輸出26個大寫及小寫字母 可以參考下面的 include int main 擴充...
c語言printf101輸出的為什麼是
字元的表示方法有三種,第一種是直接用字元表示就是用引號 char c1 a 表示字元a第二種是用asc2碼錶示,是整數 char c2 97 也是表示字元a第三種是用轉義字元表示 char c3 141 這裡的141是八進位制數,也就是97,還是字元a char c4 x61 這裡的61是十六進位制...
在C語言中,輸出語句printf10d ,c 中的10是什麼意思
10是指定的抄輸出欄位的寬度。襲如果資料的位數小於10,則左端補空格。若大於10,則按照實際位數輸出。10d是格式輸出,其中的10是指定的輸出欄位的寬度。printf的格式控制的完整格式 1 表示格式說明的起始符號,不可缺少。2 有 表示左對齊輸出,如省略表示右對齊輸出。3 0 有0表示指定空位填0...