- C程序設計語言
- 魏東平 朱連章 于廣斌編著
- 1189字
- 2018-12-29 14:37:40
3.3.1 輸入、輸出基本概念
利用計算機解決問題的一般步驟為:先分析問題,再編寫程序,最后運行和調試程序直至得到正確的結果。注意,用戶要想看到結果,必須將結果顯示在屏幕上,或者用打印機打印出來。這是因為,結果是用變量或數組等來存放的,而變量和數組中的內容都保存在內存單元中,而內存單元中的內容,用戶卻是無法看到的。因此,在計算機中引入了“輸出”的概念,其功能就是將保存在內存單元中的變量或數組中的值顯示在屏幕上或者用打印機打印出來。
同時,程序在執行時,有可能需要用戶提供計算所需的數據,這就引入了另一個概念“輸入”,其功能是利用鍵盤等輸入設備為變量或數組等提供數據,并保存到內存單元中,供程序計算時使用。
總之,借助于輸入和輸出,用戶就可以與內存單元進行交互了。輸入可以把信息從外設傳送到內存,輸出則把信息從內存傳送到外設。這樣,信息從輸入設備流向內存,經處理后又從內存流向輸出設備。
在計算機系統中,鍵盤和顯示器是最常見的輸入設備和輸出設備,常稱為標準輸入/輸出(Standard Input/Output)設備。在程序設計中,進行數據的輸入、輸出操作時,如果不具體指明所使用的外部設備,就隱含地表示使用的標準輸入/輸出設備。也就是說,如果不特別說明,程序的輸入設備是鍵盤,輸出設備則是顯示器(屏幕)。
C語言本身沒有提供輸入語句和輸出語句,輸入和輸出的功能是靠輸入和輸出函數實現的。在標準C語言函數庫中事先存放了一大批標準輸入/輸出函數,用于在標準輸入/輸出設備上進行數據的輸入/輸出。其中,最常用也是最主要的是printf函數和scanf函數。事實上,由于C語言的函數庫是可選的,所以編程時也可以不用系統提供的庫函數,而是自己編寫輸入和輸出函數,在程序中通過函數調用自己編寫的輸入和輸出函數同樣可以實現數據的輸入和輸出。C語言的這一特點,為開發系統程序提供了便利。
在使用C語言庫函數時,要用到預編譯命令“#include”,其功能是將有關的頭文件包含到源文件中。在使用標準輸入、輸出庫函數時要用到“stdio.h”(stdio是Standard Input &Output的縮寫)文件,因此,在源文件開頭應有預編譯命令“#include <stdio.h>”或“#include"stdio.h"”。printf函數和scanf函數是兩個標準輸入/輸出函數,前者稱為格式輸出函數,后者稱為格式輸入函數,它們最后的字母f是“格式(format)”的意思。printf函數的功能是按指定的格式,把指定的數據輸出(顯示)到顯示器的屏幕上。scanf函數的功能則是將用戶按指定格式輸入到鍵盤緩沖區中的數據,存放到用戶指定的內存單元中。使用printf函數和scanf函數可以分別實現整型、實型、字符型、字符串等各種類型數據的輸出和輸入。C語言中,考慮到printf函數和scanf函數的使用比較頻繁,允許在僅使用這兩個函數時程序中不加“#include <stdio.h>”或“#include "stdio.h"”。
實際上,C語言中,可實現數據的輸入、輸出的庫函數還有很多。例如,僅在stdio.h中就有專門用來輸入、輸出字符數據的getchar函數和putchar函數,用來輸入、輸出字符串數據的gets函數和puts函數,等等。
本章先介紹getchar、putchar、scanf、printf等函數的語法規則和使用方法。