C語言 格式化字元

2022-02-26 12:05:57 字數 1319 閱讀 1324

前段時間用c寫了乙個程式,發現3年前學的c的基本語法都忘得差不多了。下面的格式化字元,我覺得值得我寫個隨筆,免得下次再寫時,忘記了。

格式字元控制:

說明:sprintf(格式化後的字元,"%(長度)格式符",格式化前的字元);

1、 d格式符。用來輸出十進位制數。有以下幾種用法:

(1)、%d按整數的實際長度輸出。

(2)、%md,m為指定的輸出欄位的寬度。如果資料位數小於m,則左端補以空格,若大於m,則按實際位數輸出。(3)、%ld,輸出長整型資料。例:long a=135790;printf(「%ld」,a);如果用%d輸出就會發生錯誤,因為整型資料的範圍是-32768到32767.對long型資料應當用%ld格式輸出,對長整型資料也可以指定字段寬度,如:%8ld。

2、 o格式符,以八進位制數形式輸出整數。由於記憶體單元中的各位的值(0或1)按八進位制形式輸出,因此輸出的數值不帶符號,即將符號位也一起作為八進位制的一部分輸出。

3、 x格式符,以十六進製制數形式輸出整數。同樣不會出現負的十六進製制數。同樣可以用%lx輸出長整型數,也可以指定輸出字段寬度。

4、 u格式符,用來輸出unsigned型資料,即無符號數,以十進位制形式輸出。乙個有符號整數(int型)也可以用%u格式輸出,反之,乙個unsigned型的資料也可以用%d格式輸出。按相互賦值的規則處理。unsigned型資料也可以用%x格式輸出。

5、 c格式符,用來輸出乙個字元。乙個字元型資料也可以用整數形式輸出。

6、 s格式符,用來輸出乙個字串。

(1)、%s,printf(「%s」,「hello」);

(2)、%ms輸出字串佔m列,如字串本身大於m,則突破m的限制,字串全部輸出,如果小於m,則左補空格。(3)、%-ms如果字串小於m,則在m範圍內,字串向左靠,右補空格。

(4)、%m.ns,輸出佔m列,但只取字串中左端n個字元。這n個字元輸出在m列的右側,左補空格。

(5)、%-m.ns,其中m,n含義同上,n個字元輸出在m範圍的左側,右補空格。如果n>m,則自動取n值,即保證n個字元正常輸出。

7、 f格式符,用來輸出實數(包括單,雙精度),以小數形式輸出。

(1)、%f,不指定字段寬度,有系統自動指定,使整數部分全部如數輸出,並輸出6位小數。應當注意,並非全部數字都是有效數字。單精度實數的有效位數一般是7位。

(2)、%m.nf指定輸出的資料佔m列,其中有n位小數。如果數值長度小於m,則左補空格。

(3)、%-m.nf與%m.nf基本相同,只是輸出的數值向左端靠,右端補空格。

8、 e格式符,以指數形式輸出。

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

c語言字元輸出格式化

char 8 2 7 2 7 1 c c d u signed char 8 2 7 2 7 1 c c d u unsigned char 8 0 2 8 1 c c d u signed short int 16 2 15 2 15 1 hd unsigned short int 16 0 2 ...

C語言格式化字串

在turbo c中格式字串的一般形式為 標誌 輸出最小寬度 精度 長度 型別 其中方括號中的項為可選項。各項的意義介紹如下 1.型別型別字元用以表示輸出資料的型別,其格式符和意義下表所示 表示輸出型別的格式字元 格式字元意義 d 以十進位制形式輸出帶符號整數 正數不輸出符號 o 以八進位制形式輸出無...

c語言字元輸出格式化

符號屬性 長度屬性 基本型 所佔位數 取值範圍 輸入符舉例 輸出符舉例 char 8 2 7 2 7 1 c c d u signed char 8 2 7 2 7 1 c c d u unsigned char 8 0 2 8 1 c c d u signed short int 16 2 15 ...