C語言怎麼用printf輸出字串
printf函式的一般格式
printf(格式控制字串,輸出表列);
以圖1所示為例。
圖1.
https://iknow-pic.cdn.bcebos.com/aec379310a55b3192e1a9e334ea98226cefc1790
函式引數包括兩部分:
【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數字)。
C語言怎麼用printf輸出字串
printf函式的一般格式
printf(格式控制字串,輸出表列);
以圖1所示為例。
圖1.
https://iknow-pic.cdn.bcebos.com/aec379310a55b3192e1a9e334ea98226cefc1790
函式引數包括兩部分:
【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數字)。