C 語言之格式化輸入與輸出

2021-06-19 10:46:34 字數 1685 閱讀 7950

%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  ——其中的%#

表示的輸出提示方式,表

示輸出的

是十六進製制數,會輸出結果自動加上0x

%#o ——

其中的%#

表示的輸出提示方式,表

示輸出的

是八進位制

數,會輸出結果自動加上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...