- C語言入門很輕松(微課超值版)
- 云尚科技編著
- 1099字
- 2022-07-29 14:43:41
5.2 格式輸入輸出函數(shù)
格式化輸入輸出函數(shù)就是之前常用的函數(shù)scanf_s()與函數(shù)printf(),函數(shù)scanf()_s用于標準輸入,也就是通過鍵盤讀取并格式化;函數(shù)printf()用于標準輸出,即輸出數(shù)據(jù)到屏幕上。
5.2.1 格式輸出函數(shù)printf()
格式輸出函數(shù)printf()主要是將標準輸入流讀入的數(shù)據(jù)向輸出設備進行輸出,一般形式如下:
printf("格式字符串"); printf("格式字符串",輸出項列表);
說明如下:
(1)“格式字符串”用來指定輸出的格式,由“普通字符”和“格式控制字符”組成。“普通字符”是除了格式說明符之外的需要原樣輸出的字符,一般是輸出時的提示性信息,也可以輸出空格及轉義字符;“格式控制字符”由“%”和格式說明符組成,如%c、%d、%f等,用于將輸出項依次轉換為指定的格式輸出。
例如,若已經(jīng)定義了基本整型變量a并且將a賦值為10,則可以這樣輸出a的值:
int a=10; printf(“變量a 的值為:%d\n”, a);
輸出的結果如下:
a的值是:10
C語言中的格式字符及說明如表5-1所示。
表5-1 C語言中的格式字符及說明

(2)“輸出項列表”是需要輸出的若干數(shù)據(jù)的列表,各項間由逗號隔開,每一項既可以是常量、變量,也可以是表達式,按照“格式字符串”規(guī)定的格式輸出具體的值。例如,上個例子中也可以這樣輸出結果:
例如,若已經(jīng)定義了基本整型變量a、b,并且將a賦值為10,b的值為a+5,則可以這樣輸出a和b的值:
int a=10,b; printf(“a=%d b=%d\n”, a, a+5);
輸出的結果如下:
a=10 b=15
【例5.1】編寫程序,定義整型變量a,字符型變量b,浮點型變量c,并為a、b、c分別賦值,最后通過輸出函數(shù)printf()輸出變量a、b、c的值(源代碼\ch5\5.1.txt)。

程序運行結果如圖5-1所示。

圖5-1 例5.1的程序運行結果
5.2.2 格式輸入函數(shù)scanf_s()
格式輸入函數(shù)scanf_s()與printf()相對應,按照用戶所指定的格式通過鍵盤將數(shù)據(jù)輸入到指定的變量之中。函數(shù)scanf_s()的書寫格式如下:
scanf_s("格式字符串",地址列表);
說明如下:
(1)“格式字符串”的含義與函數(shù)printf()中的“格式字符串”基本相同,由“普通字符”和“格式控制字符”組成,用來指定輸入的格式。
(2)“地址列表”是由若干個地址組成的列表,變量的地址可以利用運算符&(取地址符號)求出。
(3)程序運行時,按照“格式字符串”的格式依次輸入數(shù)據(jù),其中“普通字符”要在輸入的時候原樣錄入,以“回車”作為輸入結束的標志。
【例5.2】編寫程序,定義整型變量a、b,浮點型變量c、d,通過輸入函數(shù)scanf_s()在鍵盤中輸入數(shù)值,最后輸出變量a、b、c、d的值(源代碼\ch5\5.2.txt)。

程序運行結果如圖5-2所示。

圖5-2 例5.2的程序運行結果
☆大牛提醒☆
函數(shù)scanf_s()“格式字符串”中的“普通字符”都需要在運行程序時原樣輸入,為了避免不必要的操作造成程序運行時的失誤,建議除了“格式控制字符”之外只保留最基本的分隔符,不要出現(xiàn)多余符號。如果是為了顯示輸入過程中的提示性信息,則可以用函數(shù)printf()輸出字符串。
- Apache Oozie Essentials
- 大學計算機應用基礎實踐教程
- Learning Flask Framework
- Java 9 Programming Blueprints
- Responsive Web Design with HTML5 and CSS3
- JavaScript+Vue+React全程實例
- ASP.NET 3.5程序設計與項目實踐
- KnockoutJS Starter
- 微服務從小白到專家:Spring Cloud和Kubernetes實戰(zhàn)
- Python Data Structures and Algorithms
- 微信小程序開發(fā)與實戰(zhàn)(微課版)
- Learning AWS
- 硬件產(chǎn)品設計與開發(fā):從原型到交付
- Struts 2.x權威指南
- C語言程序設計實踐