C輸入&輸出
C語言提供了一系列內置函數來實現讀取用戶輸入和輸出至屏幕的功能。
標準文件
C 語言把所有的設備都當作文件。所以設備(比如顯示器)被處理的方式與文件相同。以下三個文件會在程序執行時自動打開,以便訪問鍵盤和屏幕。
標準文件 | 文件指針 | 設備 |
---|---|---|
輸入 | stdin | 鍵盤 |
輸出 | stdout | 屏幕 |
錯誤 | stderr | 屏幕 |
getchar() & putchar() 函數
- int getchar(void)函數從屏幕上讀取下一個可用的字符,並把它返回爲一個整數。
- int putchar(int c)函數把字符輸出到屏幕上,並返回相同的字符。
#include <stdio.h>
int main( )
{
int c;
printf( "請輸入:");
c = getchar( );
printf( "\n您輸入的值是: ");
putchar( c );
printf( "\n");
return 0;
}
上面的代碼被編譯和執行時,當您輸入一個文本並按下回車鍵時,程序會繼續並只會讀取一個單一的字符,顯示如下:
請輸入:Hello
您輸入的值是: H
gets() & puts() 函數
char *gets(char *s) 函數從 stdin 讀取一行到 s 所指向的緩衝區,直到一個終止符或 EOF。
int puts(const char *s) 函數把字符串 s 和一個尾隨的換行符寫入到 stdout。
#include <stdio.h>
int main( )
{
char str[100];
printf( "請輸入:");
gets(str);
printf( "\n您輸入的值是: ");
putchar(str);
printf( "\n");
return 0;
}
上面的代碼被編譯和執行時,當您輸入一個文本並按下回車鍵時,程序會繼續並讀取一整行直到該行結束,顯示如下:
請輸入: Hello
您輸入的值是: Hello
scanf() 和 printf() 函數
int scanf(const char *format, …) 函數從標準輸入流 stdin 讀取輸入,並根據提供的 format 來瀏覽輸入。
int printf(const char *format, …) 函數把輸出寫入到標準輸出流 stdout ,並根據提供的格式產生輸出。
#include <stdio.h>
int main( )
{
int i;
printf( "請輸入一個整數:");
scanf("%d", &i);
printf( "\n您輸入的值是: ");
printf( "%d\n", i);
return 0;
}
上面的代碼被編譯和執行時,當您輸入一個文本並按下回車鍵時,程序會繼續並讀取輸入,顯示如下:
請輸入一個整數:123
您輸入的值是: 123