轉載來自http://longxj.iteye.com/blog/570613
讀寫字符函數:
getchar():讀取一個字符,送到屏幕,等待鍵入回車鍵纔會返回結果
getche():讀取一個字符,送到屏幕,不等待回車鍵,非標準c定義的
getch():讀取一個字符,不送回屏幕,不等待回車鍵,非標準c定義的
putchar():向屏幕輸出一個字符
讀寫字符串:
gets():讀入一個字符串
puts():向屏幕寫一個字符串
格式化輸出:
格式化限定符:
%c 字符
%d 有符號十進制整數
%i 有符號十進制整數
%e 科學表示(小寫e)
%E 科學表示(大寫E)
%f 十進制浮點數
%g 用%e或%f中較短的一個
%G 用%E或%F中較短的一個
%o 無符號八進制數
%s 字符串
%u 無符號十進制整數
%x 無符號十六進制數(小寫)
%X 無符號十六進制數(大寫)
%p 顯示一個指針
%n 將至今已寫入的字符數放到指定的整數中去
%% 打印一個百分號
格式化限定符的修飾符:
域寬限定符:
%5d:最小寬度爲5個字符
%05d:最小寬度爲5個字符,不足用0進行填充
精度限定符:
對%f,%e,%E,表示要顯示的小數位數
對%g或%G,表示有效位數
對字符串:%5.7s顯示一個最小5個字符數但不超過7個字符數的字符串
對%d,表示顯示的最小位數:%3.8d,1000 結果爲0001000(不足用0進行填充)
對齊輸出:
默認爲右對齊
可以加負號表示左對齊:%-f
l和h修飾符:
對於d,i,o,u,x,l表示長整型,h表示短整型
L修飾符也可當作浮點限定符e,f,g的前綴,在這種情況下表示顯示雙精度數
*和#修飾符:
對g,G,f,E,e前面有#,就可以確保即使沒有小數位也要顯示小數點:%#x
對x或X,十六進制數將帶0x顯示
對o,八進制數將帶數字0顯示
*,使得域寬限定和精度限定可以動態提供:printf("%*.*f",10,4,100.234)
格式化輸入:
很多都跟格式化輸入一樣,可以用輸入的觀點來看前面輸出的描述
掃描集:
scanf("%[xyz]",str):只將是xyz字符的字符子串讀入str中
scanf("%[^xyz],str):將不是xyz的字符字串讀入str中
壓縮輸入:
scanf("%d%*c%d",&x,&y)
當輸入10,11時,10和11被分別讀入到變量中