【C語言】- 數據輸出-printf( )和putchar( )

格式化輸出函數printf( )

printf( )功能:

向系統指定輸出設備按指定的格式輸入任意個任意類型的數據,并返回實際輸出的字符數。若出錯,將返回負數。

printf( )使用形式:

printf("格式控制字符串",輸出項列表);

格式字符(以"%"引導):

(1)d格式字符:用來輸出十進制整數。

  • %d,按整型數據的實際長度輸出。
  • %md,m為指定的輸出字段的寬度。若實際位數小于m,則左端補空格;若實際位數大于m,則按實際位數輸出。
  • %ld,輸出長整型數據。
    (2)o格式字符("%#o"):以八進制形式輸出整數。
    (3)x格式字符("%#x"):以十六進制形式輸出整數。
    (4)u格式字符:用來輸出unsigned型數據,即無符號數,以十進制輸出。
    (5)c格式字符:用來輸出一個字符。
    (6)s格式字符:用來輸出一個字符串。
    (7)f格式字符:用來輸出實數(包括單雙精度),以小數形式輸出。
  • %f,整數部分全輸出并輸出6位小數。
    (8)e格式字符:以指數形式輸出實數。
    (9)g格式字符:用來輸出實數,它根據數值的大小,自動選擇f格式或e格式(選擇輸出時占寬度較小的一種),且不輸出無意義的零。

格式字符串:

%[flag][width][.prec][F|N|h|L]Type

(1)標志flag:

  • "+":對于正數符號位輸出為正號"+",對于負數輸出"-"。
  • 空格(" "):對于正數符號位輸出空格,對于負數輸出"-"。
  • "-":輸出時左對齊,右側補空格。
  • "#":加在代表輸出八進制的類型字符"o"前表示八進制。
    (2)輸出寬度width:用十進制整數來表示輸出的最少位數。若實際數據的位數多于指定寬度,則按實際位數輸出;若少于指定寬度,則補以空格或"0";
    (3)精度prec:精度格式符以"."開頭,后跟一個十進制整數。
    意義:如果輸出數字,則表示數字的小數位數;如果輸出的時字符,則表示輸出字符的個數;若實際位數大于所定義的精度,則超出部分被截去。
    (4)長度:F|n|h|l 表示指針是否是遠指針,或整數是否是長整數。
  • F:表示遠指針。
  • n:表示近指針。
  • h:短整型或單精度浮點數。
  • l:長整型或雙精度浮點數。
    (5)類型Type:
    類型指示符:
格式字符 說明
d,i 以帶符號的十進制形式輸出整數
o 以八進制形式輸出整數
u 以無符號的十進制形式輸出整數
x或X 以十六進制形式輸出整數
c 輸出單個字符
s 輸出字符串
f 以小數形式輸出實數
e或E 以指數形式輸出實數
g或G 自動選擇"%f"和"%e"中寬度最小的形式輸出實數

(6)具體的格式字符串示例:

  • %m.nf:輸出的實數共占m個字符,其中小數有n個。若實際數值位數不足m個,左端補空格;若實際數值位數超出規定的寬度,則整數部分按實際輸出,小數部分四舍五入為n位。
  • %e:標準寬度占13位,其中,尾數部分為:整數部分占1位,小數點占1位,小數占6位,e占1位;指數部分為:正負號占1位,指數占3位。
  • %m.ne:整個數寬度至少占m位,n為尾數部分的小數部分,不足的在左端補空格,多出的按實際位數輸出。
  • %ms:輸出一個字符串,寬度占m位。若長度小于m,則右對齊,左側補空格;若長度大于m,則原樣輸出,不進行截取。
  • %-ms:與%ms類似,但長度小于m時,字符串左對齊,右側補空格。
  • %m.ns:整個輸出項占m列,但只取字符串中左側n個字符輸出。輸出時右對齊,左端補空格。當m<n時,所占寬度m忽略不計,輸出字符串的前n個字符。
  • %-m.ns:含義與%m.ns相似,將n個字符輸出在m列范圍內,左對齊,右側補空格。
    (7)注意點:
  • 任意一個整型數據也可以以字符形式輸出,輸出時,如果整形數據超過255的,先對256做取余操作后再輸出。
  • ”格式字符串“中的格式類型指示符的類型及個數,必須與”輸出項列表“中的輸出項的數據類型、個數一致,否則會引起輸出錯誤。
  • 如果格式類型指示符的個數小于輸出項的個數,多余的輸出項不予輸出;如果格式說明的個數多于輸出項的個數,多余的格式項輸出不定值或"0"。

單個字符的輸出函數putchar( )

putchar( )功能:

向標準輸出設備(顯示器)輸出一個字符,并返回輸出字符的ASCII值。

putchar( )使用形式:

putchar(ch);
其中"ch"可以是整型或字符型的常量、變量或表達式,也可以是一個轉義字符。輸出時,先計算括號內的值,然后根據ASCII碼輸出相應的字符。

putchar( )函數只能用于單個字符的輸出,且一次只能輸出一個字符。

常用字母對應的ASCII碼值:

A~Z 65~90
a~z 97~122

實例效果:

        printf("%d\n",234);
        printf("%3d\n",23144);
        printf("%3d\n",21);
        printf("%#o\n",23);
        printf("%#x\n",17);
        printf("%c\n",68);
        char a[10] = "abcdef";
        printf("%s\n",a);
        printf("%f\n",10.1);
        printf("%g\n",23.2424);
        printf("%5.2f\n",0.123);
        printf("%5.2f\n",0.1234567);
        printf("%e\n",1331.1341123);
        printf("%8.3e\n",1331.1341123);
        printf("%8.3e\n",1331.2);
        printf("%3s\n",a);
        printf("%9s\n",a);
        printf("%-9s\n",a);
        printf("%4.2s\n",a);
        printf("%2.5s\n",a);
        printf("%-4.2s\n",a);
        printf("%-2.5s\n",a);
輸出結果
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,247評論 6 543
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,520評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 178,362評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,805評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,541評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,896評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,887評論 3 447
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,062評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,608評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,356評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,555評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,077評論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,769評論 3 349
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,175評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,489評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,289評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,516評論 2 379

推薦閱讀更多精彩內容