C語言 printf 格式化 輸出 右對齊補零


轉自:http://blog.csdn.net/wguoyong/article/details/6845595

 

1.1  標准輸入輸出函數

1.1.1 格式化輸入輸出函數   
Turbo C2.0 標准庫提供了兩個控制台格式化輸入、 輸出函數printf( ) 和    
scanf(), 這兩個函數可以在標准輸入輸出設備上以各種不同的格式讀寫數據。    
printf()函數用來向標准輸出設備(屏幕)寫數據; scanf() 函數用來從標准輸入    
設備(鍵盤)上讀數據。下面詳細介紹這兩個函數的用法。    
一、printf()函數    
printf()函數是格式化輸出函數, 一般用於向標准輸出設備按規定格式輸出    
信息。在編寫程序時經常會用到此函數。printf()函數的調用格式為:    
printf("<格式化字符串>", <參量表>);    
其中格式化字符串包括兩部分內容: 一部分是正常字符,  這些字符將按原    
樣輸出; 另一部分是格式化規定字符, 以"%"開始, 后跟一個或幾個規定字符,    
用來確定輸出內容格式。    
參量表是需要輸出的一系列參數, 其個數必須與格式化字符串所說明的輸出    
參數個數一樣多, 各參數之間用","分開, 且順序一一對應,  否則將會出現意想    
不到的錯誤。    
1. 格式化規定符    
Turbo C2.0提供的格式化規定符如下:    
━━━━━━━━━━━━━━━━━━━━━━━━━━    
符號  作用    
──────────────────────────    
%d  十進制有符號整數    
%u  十進制無符號整數    
%f  浮點數    
%s  字符串    
%c  單個字符    
%p  指針的值    
%e  指數形式的浮點數    
%x, %X  無符號以十六進制表示的整數    
%0  無符號以八進制表示的整數    
%g  自動選擇合適的表示法    
━━━━━━━━━━━━━━━━━━━━━━━━━━    
說明:    
(1). 可以在"%"和字母之間插進數字表示最大場寬。    
例如:  %3d  表示輸出3位整型數, 不夠3位右對齊。    
%9.2f 表示輸出場寬為9的浮點數, 其中小數位為2, 整數位為6,    
小數點占一位, 不夠9位右對齊。    
%8s  表示輸出8個字符的字符串, 不夠8個字符右對齊。    
如果字符串的長度、或整型數位數超過說明的場寬, 將按其實際長度輸出。    
但對浮點數, 若整數部分位數超過了說明的整數位寬度, 將按實際整數位輸出;    
若小數部分位數超過了說明的小數位寬度, 則按說明的寬度以四舍五入輸出。    
另外, 若想在輸出值前加一些0, 就應在場寬項前加個0。     
例如:  %04d  表示在輸出一個小於4位的數值時, 將在前面補0使其總寬度      
為4位。      
如果用浮點數表示字符或整型量的輸出格式, 小數點后的數字代表最大寬度,    
小數點前的數字代表最小寬度。    
例如: %6.9s 表示顯示一個長度不小於6且不大於9的字符串。若大於9,  則    
第9個字符以后的內容將被刪除。    
(2). 可以在"%"和字母之間加小寫字母l, 表示輸出的是長型數。    
例如:  %ld  表示輸出long整數    
%lf  表示輸出double浮點數    
(3). 可以控制輸出左對齊或右對齊, 即在"%"和字母之間加入一個"-" 號可     
說明輸出為左對齊, 否則為右對齊。      
例如:  %-7d  表示輸出7位整數左對齊      
%-10s 表示輸出10個字符左對齊

2. 一些特殊規定字符    
━━━━━━━━━━━━━━━━━━━━━━━━━━    
字符  作用    
──────────────────────────    
/n  換行    
/f  清屏並換頁    
/r  回車    
/t  Tab符    
/xhh  表示一個ASCII碼用16進表示,    
其中hh是1到2個16進制數    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM