%d %i ——》int
%u——》unsigned int
%hd/ %ld——》short/long
%c ——》char
%s ——》字串「nihao」
%f ——》float/double
%e ——》指數的形式輸出浮點數
%g ——》從%e和%f之間選擇較好的輸出格式輸出,一般省略後面多餘的0
特殊的格式控制符:
%x/%o ——》十六進製制/八進位制格式
%p ——》輸出乙個位址
%#x ——其中的%#%#o ——表示的輸出提示方式,表
示輸出的
是十六進製制數,會輸出結果自動加上0x
其中的%#
表示的輸出提示方式,表
示輸出的
是八進位制
數,會輸出結果自動加上0
注意:(1)格式控制符中使用的格式和後面輸出的資料要保持一致,如果型別不一致,結果不可預知
(2)字元型別的本質就是整數,字元型別也可以使用%d格式輸出,輸出的是字元所對應的ascii碼
(3)%d 跟 %i在printf中沒有區別,但是在scanf中有區別:%i 除了讀取十進位制,還可以讀取十六進製制,八進位制
特殊的格式控制符:
%實際上就是格式控制符的開始
%3d 輸出的資料佔3個字元的寬度
%02d 輸出的資料占用2個字元的寬度,如果不夠空位補0
%-3d 輸出的資料佔3個字元的寬度,左對齊,沒有-預設是右對齊
%m.nf輸出乙個共m位寬度的資料,小數點後有n位
%% 輸出乙個%號
\n 換行
\r 回車不換行,回到本行開始位置
\b 退格
\t 製表,tab鍵
\" 輸出"
\' 輸出'
\? 輸出?
\0 字串的結束標誌
\a 報警
#include
scanf("格式字串",識別符號位址列表);
scanf()是乙個函式,格式字串和printf中一樣,位址列表:&num(int num ;scanf("%d",&num);)
scanf在讀取資料的時候,會跳過前面的空白字元(空格,回車,tab鍵),直接去尋找指定的格式讀取資料
(1)輸入的資料要和scanf中指定的格式要一致,
(2)scanf中的格式字串中要求只能有格式控制符(不是不可以有)
(3)當讀取多個資料時,使用空白字元將多個輸入的資料隔開
(4)當讀取多個資料中有%c格式的資料時,採用在%c前面加乙個空格。表示忽略所有空白字元的意思
(5)scanf中不要省略&,否則可能引發段錯誤
段錯誤:訪問了非法位址
(6)scanf(「%d」,&num);
scanf不會將末尾的回車符讀走,scanf(「%*c」),——》讀取任意乙個字元並丟棄
在scanf中%i除了能讀取十進位制還能讀取八進位制跟十六進製制
c 格式化輸入與輸出
c 要進行格式化輸入與輸出,應該怎麼設定?iampsl qq.com 要弄清這個問題,我們應該先來了解一下c 的格式化輸入與輸出。在基類basic ios中有四個成員變數是用來控制格式化的,狀態標誌字,域寬,填充字元,輸出精度。也就是說c 中乙個流在進行輸入與輸出時,它會去查詢這四個成員變數,接著它...
C 格式化輸入與輸出
標準庫定義了一組操縱符來修改流的格式狀態,包括控制數值的輸入與輸出形式以及控制補白的數量和位置,大多數改變格式狀態的操縱符是設定 復原成對的。當操縱符改變流的格式狀態時,通常改變後的狀態對所有後續io都生效。預設情況下bool值列印為1或0,我們可以使用boolalpha操縱符使之輸出true或fa...
格式化輸入與輸出
格式化輸入與輸出 printf 格式控制 輸出列表 1 格式控制 是用雙撇號括起來的字串,通常也叫 轉換控制字串 它包括兩種資訊。a 格式說明。格式說明由 和格式字元組成,如 d f 等,作用是將輸出的資料轉換成指定的格式輸出。格式說明總是由 字元開始。b 普通字元。普通字元即需要原樣輸出的字元。2...