當我們提到輸入時,這意味著要向程式填充一些資料。輸入可以是以檔案的形式或從命令列中進行。c 語言提供了一系列內建的函式來讀取給定的輸入,並根據需要填充到程式中。
當我們提到輸出時,這意味著要在螢幕上、印表機上或任意檔案中顯示一些資料。c 語言提供了一系列內建的函式來輸出資料到計算機螢幕上和儲存資料到文字檔案或二進位制檔案中。
c 語言把所有的裝置都當作檔案。所以裝置(比如顯示器)被處理的方式與檔案相同。以下三個檔案會在程式執行時自動開啟,以便訪問鍵盤和螢幕。
標準檔案
檔案指標
裝置標準輸入
stdin
鍵盤標準輸出
stdout
螢幕標準錯誤
stderr
您的螢幕
檔案指標是訪問檔案的方式,本節將講解如何從螢幕讀取值以及如何把結果輸出到螢幕上。
c 語言中的 i/o (輸入/輸出) 通常使用 printf() 和 scanf() 兩個函式。
scanf() 函式用於從標準輸入(鍵盤)讀取並格式化, printf() 函式傳送格式化輸出到標準輸出(螢幕)。
#include // 執行 printf() 函式需要該庫
int main()
%d 格式化輸出整數
#include int main()
%f 格式化輸出浮點型資料
#include int main()
int getchar(void) 函式從螢幕讀取下乙個可用的字元,並把它返回為乙個整數。這個函式在同乙個時間內只會讀取乙個單一的字元。您可以在迴圈內使用這個方法,以便從螢幕上讀取多個字元。
int putchar(int c) 函式把字元輸出到螢幕上,並返回相同的字元。這個函式在同乙個時間內只會輸出乙個單一的字元。您可以在迴圈內使用這個方法,以便在螢幕上輸出多個字元。
#include int main( )
當上面的**被編譯和執行時,它會等待您輸入一些文字,當您輸入乙個文字並按下回車鍵時,程式會繼續並只會讀取乙個單一的字元,顯示如下:
$./a.out
enter a value :runoob
you entered: r
char *gets(char *s) 函式從 stdin 讀取一行到 s 所指向的緩衝區,直到乙個終止符或 eof。
int puts(const char *s) 函式把字串 s 和乙個尾隨的換行符寫入到 stdout。
#include int main( )
當上面的**被編譯和執行時,它會等待您輸入一些文字,當您輸入乙個文字並按下回車鍵時,程式會繼續並讀取一整行直到該行結束,顯示如下:
$./a.out
enter a value :runoob
you entered: runoob
int scanf(const char *format, …) 函式從標準輸入流 stdin 讀取輸入,並根據提供的 format 來瀏覽輸入。
int printf(const char *format, …) 函式把輸出寫入到標準輸出流 stdout ,並根據提供的格式產生輸出。
format 可以是乙個簡單的常量字串,但是您可以分別指定 %s、%d、%c、%f 等來輸出或讀取字串、整數、字元或浮點數。還有許多其他可用的格式選項,可以根據需要使用。如需了解完整的細節,可以檢視這些函式的參考手冊。現在讓我們通過下面這個簡單的例項來加深理解:
#include int main( )
當上面的**被編譯和執行時,它會等待您輸入一些文字,當您輸入乙個文字並按下回車鍵時,程式會繼續並讀取輸入,顯示如下:
$./a.out
enter a value :runoob 123
you entered: runoob 123
在這裡,應當指出的是,scanf() 期待輸入的格式與您給出的 %s 和 %d 相同,這意味著您必須提供有效的輸入,比如 「string integer」,如果您提供的是 「string string」 或 「integer integer」,它會被認為是錯誤的輸入。另外,在讀取字串時,只要遇到乙個空格,scanf() 就會停止讀取,所以 「this is test」 對 scanf() 來說是三個字串。 C語言輸入輸出
i o函式 printf 和scanf 輸出程式 函式的呼叫是在c語言標頭檔案 stdio.h 中包含這些像printf 輸入輸出 printf 一般形式如下 printf 格式化字串 輸出參數列 鍵盤輸入函式 顯示器輸出函式printf putchar puts 磁碟檔案操作creatnew 建立...
C語言 輸入輸出
getchar 函式只能接受單個字元 scanf 格式控制字串 位址表列 輸入時要用乙個以上的空格或回車鍵最為每兩個輸入數之間的間隔 格式字串形式 輸入資料寬度 長度 型別格式 字元意義 d輸入十進位制整數 o輸入八進位制整數 x輸入十六進製制整數 u輸入無符號十進位制整數 f 或 e 輸入實型數 ...
C語言 輸入輸出
這期主要講printf 和scanf 族類函式。返回值首先,這兩個函式都是有返回值的,printf函式返回成功輸出的字元個數,scanf函式返回成功接收的引數個數,如果接收到ctrl z,代表檔案末尾eof,返回 1。include intmain printf eof返回值or等價為 d n a ...