在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ C/ C 輸入 & 輸出
C 輸入 & 輸出
C 標(biāo)準(zhǔn)庫 - < signal.h >
C 標(biāo)準(zhǔn)庫- < string.h >
C 循環(huán)
C 數(shù)據(jù)類型
C 字符串
C 標(biāo)準(zhǔn)庫 - < stdarg.h >
C 標(biāo)準(zhǔn)庫 - < math.h >
C 預(yù)處理器
C 存儲類
C 標(biāo)準(zhǔn)庫 - < locale.h >
C 指針
C 標(biāo)準(zhǔn)庫 - < assert.h >
C 結(jié)構(gòu)體
C 命令行參數(shù)
C 標(biāo)準(zhǔn)庫 - < ctype.h >
C 強(qiáng)制類型轉(zhuǎn)換
C 程序結(jié)構(gòu)
C typedef
C 遞歸
C 運(yùn)算符
C 環(huán)境設(shè)置
C 函數(shù)
C 位域
C 標(biāo)準(zhǔn)庫 - < stddef.h >
C 數(shù)組
C 標(biāo)準(zhǔn)庫 - < errno.h >
C 標(biāo)準(zhǔn)庫 -參考手冊
C 可變參數(shù)
C 變量
C 錯誤處理
C 作用域規(guī)則
C 文件讀寫
C 內(nèi)存管理
C 基本語法
C 標(biāo)準(zhǔn)庫 - < stdio.h >
C 標(biāo)準(zhǔn)庫 - < time.h >
C 頭文件
C 判斷
C 標(biāo)準(zhǔn)庫 - < limits.h >
C 共用體
C 標(biāo)準(zhǔn)庫 - < setjmp.h >
C 常量
C 標(biāo)準(zhǔn)庫 - < float.h >
C 簡介
C 標(biāo)準(zhǔn)庫 - < stdlib.h >

C 輸入 & 輸出

當(dāng)我們提到輸入時,這意味著要向程序填充一些數(shù)據(jù)。輸入可以是以文件的形式或從命令行中進(jìn)行。C 語言提供了一系列內(nèi)置的函數(shù)來讀取給定的輸入,并根據(jù)需要填充到程序中。

當(dāng)我們提到輸出時,這意味著要在屏幕上、打印機(jī)上或任意文件中顯示一些數(shù)據(jù)。C 語言提供了一系列內(nèi)置的函數(shù)來輸出數(shù)據(jù)到計算機(jī)屏幕上和保存數(shù)據(jù)到文本文件或二進(jìn)制文件中。

標(biāo)準(zhǔn)文件

C 語言把所有的設(shè)備都當(dāng)作文件。所以設(shè)備(比如顯示器)被處理的方式與文件相同。以下三個文件會在程序執(zhí)行時自動打開,以便訪問鍵盤和屏幕。

標(biāo)準(zhǔn)文件文件指針設(shè)備
標(biāo)準(zhǔn)輸入stdin鍵盤
標(biāo)準(zhǔn)輸出stdout屏幕
標(biāo)準(zhǔn)錯誤stderr您的屏幕

文件指針是訪問文件的方式,本節(jié)將講解如何從屏幕讀取值以及如何把結(jié)果輸出到屏幕上。

getchar() & putchar() 函數(shù)

int getchar(void) 函數(shù)從屏幕讀取下一個可用的字符,并把它返回為一個整數(shù)。這個函數(shù)在同一個時間內(nèi)只會讀取一個單一的字符。您可以在循環(huán)內(nèi)使用這個方法,以便從屏幕上讀取多個字符。

int putchar(int c) 函數(shù)把字符輸出到屏幕上,并返回相同的字符。這個函數(shù)在同一個時間內(nèi)只會輸出一個單一的字符。您可以在循環(huán)內(nèi)使用這個方法,以便在屏幕上輸出多個字符。

請看下面的實(shí)例:

#include <stdio.h>
int main( )
{
   int c;

   printf( "Enter a value :");
   c = getchar( );

   printf( "\nYou entered: ");
   putchar( c );

   return 0;
}

當(dāng)上面的代碼被編譯和執(zhí)行時,它會等待您輸入一些文本,當(dāng)您輸入一個文本并按下回車鍵時,程序會繼續(xù)并只會讀取一個單一的字符,顯示如下:

$./a.out
<b>Enter a value :</b> this is test
<b>You entered:</b> t

gets() & puts() 函數(shù)

char gets(char s) 函數(shù)從 stdin 讀取一行到 s 所指向的緩沖區(qū),直到一個終止符或 EOF。

*int puts(const char s) 函數(shù)把字符串 s 和一個尾隨的換行符寫入到 stdout**。

#include <stdio.h>
int main( )
{
   char str[100];

   printf( "Enter a value :");
   gets( str );

   printf( "\nYou entered: ");
   puts( str );

   return 0;
}

當(dāng)上面的代碼被編譯和執(zhí)行時,它會等待您輸入一些文本,當(dāng)您輸入一個文本并按下回車鍵時,程序會繼續(xù)并讀取一整行直到該行結(jié)束,顯示如下:

$./a.out
<b>Enter a value :</b> this is test
<b>You entered:</b> This is test

scanf() 和 printf() 函數(shù)

*int scanf(const char format, ...) 函數(shù)從標(biāo)準(zhǔn)輸入流 stdin 讀取輸入,并根據(jù)提供的 format** 來瀏覽輸入。

*int printf(const char format, ...) 函數(shù)把輸出寫入到標(biāo)準(zhǔn)輸出流 stdout **,并根據(jù)提供的格式產(chǎn)生輸出。

format 可以是一個簡單的常量字符串,但是您可以分別指定 %s、%d、%c、%f 等來輸出或讀取字符串、整數(shù)、字符或浮點(diǎn)數(shù)。還有許多其他可用的格式選項(xiàng),可以根據(jù)需要使用。如需了解完整的細(xì)節(jié),可以查看這些函數(shù)的參考手冊?,F(xiàn)在讓我們通過下面這個簡單的實(shí)例來加深理解:

#include <stdio.h>
int main( )
{
   char str[100];
   int i;

   printf( "Enter a value :");
   scanf("%s %d", str, &i);

   printf( "\nYou entered: %s %d ", str, i);

   return 0;
}

當(dāng)上面的代碼被編譯和執(zhí)行時,它會等待您輸入一些文本,當(dāng)您輸入一個文本并按下回車鍵時,程序會繼續(xù)并讀取輸入,顯示如下:

$./a.out
<b>Enter a value :</b> seven 7
<b>You entered:</b> seven 7

在這里,應(yīng)當(dāng)指出的是,scanf() 期待輸入的格式與您給出的 %s 和 %d 相同,這意味著您必須提供有效的輸入,比如 "string integer",如果您提供的是 "string string" 或 "integer integer",它會被認(rèn)為是錯誤的輸入。另外,在讀取字符串時,只要遇到一個空格,scanf() 就會停止讀取,所以 "this is test" 對 scanf() 來說是三個字符串。