c語言怎麼用printf輸出字串

2021-03-28 02:47:08 字數 5686 閱讀 5456

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...