官术网_书友最值得收藏!

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()輸出字符串。

主站蜘蛛池模板: 翁牛特旗| 湄潭县| 绥棱县| 和平区| 桐城市| 察雅县| 高平市| 浮山县| 曲阜市| 宜兰县| 江阴市| 双峰县| 镇赉县| 灵寿县| 平阳县| 樟树市| 来宾市| 凤庆县| 揭东县| 托克托县| 花垣县| 方城县| 汉川市| 安吉县| 麦盖提县| 若尔盖县| 达日县| 茂名市| 通榆县| 昂仁县| 汝州市| 永新县| 怀柔区| 南漳县| 湛江市| 陈巴尔虎旗| 乌拉特后旗| 武冈市| 高尔夫| 新蔡县| 旬阳县|