C語言中函式printf()和函式scanf()的用法

DMeursault發表於2020-10-17

一.PRINTF
C語言中函式printf()是格式化輸出函式,在編寫程式時時常用到此函式。printf()函式的呼叫格式為printf(“格式控制字串”,參量表);其中格式控制字串包括兩部分。
格式控制字串:
(1)格式轉換說明(Format Specifier)
(2)需原樣輸出的普通字元。
格式轉換說明由%開始,並以轉換字元結束,用於指定各輸出值引數的輸出格式。
1.函式prinft()的格式轉換說明如下表所示:

格式轉換說明用法
%d輸出帶符號的十進位制整數,整數的符號省略
%u以無符號的十進位制整數形式輸出
%o以無符號的八進位制整數形式輸出
%x以無符號的十六進位制整數形式(小寫)輸出
%X以無符號的十六進位制整數形式(大寫)輸出
%c輸出一個字元
%s輸出字串
%f以十進位制小數形式輸出實數,隱含六位小數
%e以指數形式輸出實數
%g自動選取f或e格式中輸出寬度較小的一種使用,且不輸出無意義的零
%%輸出百分號

關於prinf()函式的使用
注意:
(1)輸出值引數之間用逗號隔開
(2)沒有輸出值引數時,格式控制字串不再需要格式轉換說明符。
2.函式printf()中的格式修飾符
在使用該函式時可在%和格式符中間插入格式修飾符,用於對輸出格式進行微調。
關於格式修飾符的型別可在書中查閱。
ex:%7.2f表示輸出資料所佔的域寬為7,顯示的精度為2.
注意:小數點也佔一個字元位置。

二.SCANF
1.函式scanf()的一般格式
scanf(“格式控制字串”,引數地址表);
函式scanf()的格式轉換說明符如下表所示:

格式轉換說明符用法
%d輸入十進位制整數
%o輸入八進位制整數
%x輸入十六進位制整數
%c輸入一個字元,包括空白字元
%s輸入字串,遇到空白字元,系統認為讀入結束
%f或%e輸入實數,以小數或指數形式輸入均可
%%輸入一個百分號

2.scanf()中的格式修飾符
與printf()類似,scanf()的%和格式符中間也可插入格式修飾符。各類格式修飾符可自行查閱。
注意:如果函式scanf()的格式控制字串中存在除格式說明符以外的其他字元,那麼這些字元必須在輸入資料時又使用者從鍵盤原樣輸入。
心得體會:在對這兩個函式的使用中在輸入的格式上一定要嚴謹仔細,否則很容易導致程式無法正常執行。對各類格式轉換說明符的使用需要牢記,不要記混,保證在使用時儘量不查閱資料,提高編寫程式時的效率。

相關文章