C 基本輸入 輸出

2021-10-21 03:58:45 字數 3649 閱讀 7745

在c++中定義了通過輸入/輸出流(i/o流)的方法進行輸入輸出操作。在i/o流中,輸入操作是通過cin 來實現的,而輸出操作是通過cout來實現的。cin 和cout都是在標頭檔案iostream中定義的,所以在程式中首先要包含輸入/輸出流的標頭檔案,即#include。

cout語句的一般格式為:cout《表示式1《表示式2<

cin語句的一般格式為: cin>>變數1>>變數2>>……>>變數n;

在定義流物件時,系統會在記憶體中開闢一段緩衝區,用來暫存輸入輸出流的資料。在執行cout語句時,先把插入的資料順序存放在輸出緩衝區中,直到輸出緩衝區滿或遇到cout語句中的endl(或'\n',ends,flush)為止,此時將緩衝區中已有的資料一起輸出,並清空緩衝區。輸出流中的資料在系統預設的裝置(一般為顯示器)輸出。

乙個cout語句可以分寫成若干行。如   

cout<

<

均輸出:a+b=c

注意 不能用乙個插入運算子「<

cout<

cout<

在用cout輸出時,使用者不必通知計算機按何種型別輸出,系統會自動判別輸出資料的型別,使輸出的資料按相應的型別輸出。如已定義a為int型,b為float型,c為char型,則 

cout會以下面的形式輸出:4 345.789 a

與cout類似,乙個cin語句可以分寫成若干行。如   

cin>>a>>b>>c>>d;

可以寫成   cin>>a //注意行末尾無分號   

>>b //這樣寫可能看起來清晰些   

>>c   

>>d;均可以從鍵盤輸入: 1  2  3  4 ↙

在用cin輸入時,系統也會根據變數的型別從輸入流中提取相應長度的位元組。如有 

char c1,c2; 

int a; 

float b;   

cin>>c1>>c2>>a>>b;

注意: 不能用cin語句把空格字元和回車換行符作為字元輸入給字元變數,它們將被跳過。如果想將空格字元或回車換行符(或任何其他鍵盤上的字元)輸入給字元變數,可以用getchar函式。在組織輸入流資料時,要仔細分析cin語句中變數的型別,按照相應的格式輸入,否則容易出錯。

關於endl的用法

在c++中,終端輸出換行時,用cout<<...... endl>

需要注意的是:如果使用了控制符,在程式單位的開頭除了要加iostream標頭檔案外,還要加iomanip標頭檔案。

以下通過例子進行說明:

【例項一】

#includeusing namespace std;
#includeint main()

int main()

學c++的時候,這幾個輸入函式弄的有點迷糊;這裡做個小結,為了自己複習,也希望對後來者能有所幫助,如果有差錯的地方還請各位多多指教(本文所有程式均通過vs2017執行)

1.       cin

2.       cin.get()

3.       cin.getline()

4.       getline()

5.       gets()

6.       getchar()

3.1  cin>>

用法1: cin.get(字元變數名)可以用來接收字元

#include using namespace std;

int main()

用法2:cin.get(字元陣列名,接收字元數目)用來接收一行字串,可以接收空格

#include using namespace std;

int main()

用法3:cin.get(無引數)沒有引數主要是用於捨棄輸入流中的不需要的字元,或者捨棄回車,彌補cin.get(字元陣列名,接收字元數目)的不足

#include using namespace std;

int main()

接受乙個字串,可以接收空格並輸出

#include using namespace std;

int main()

接受5個字元到m中,其中最後乙個為'\0',所以只看到4個字元輸出;

當用在多維陣列中的時候,也可以用cin.getline(m[i],20)之類的用法:

#include using namespace std;

int main()

cout << endl;

for (int j = 0; j < 3; j++)

cout << "輸出m[" << j << "]的值:" << m[j] << endl;

system("pause");

return 0;

}

接受乙個字串,可以接收空格並輸出,需包含「#include」

#include #includeusing namespace std;

int main()

和cin.getline()類似,但是cin.getline()屬於istream流,而getline()屬於string流,是不一樣的兩個函式

在vs新標準中,應該是用gets_s代替gets

接受乙個字串,可以接收空格並輸出,需包含「#include」

類似cin.getline()裡面的乙個例子,gets()同樣可以用在多維陣列裡面:

#include #includeusing namespace std;

int main()

cout << endl;

for (int j = 0; j < 3; j++)

cout << "輸出m[" << j << "]的值:" << m[j] << endl;

system("pause");

return 0;

}

自我感覺gets()和cin.getline()的用法很類似,只不過cin.getline()多乙個引數罷了;cin.getline()和gets()均可以接收空格

接受乙個字元,需包含「#include」

#include #includeusing namespace std;

int main()

getchar()是c語言的函式,c++也可以相容,但是盡量不用或少用;

C 基本輸入 輸出

c 基本輸入 輸出 本文將學習如何使用cin物件從使用者那裡獲取輸入,並使用cout物件在示例的幫助下向使用者顯示輸出。c 輸出 在c 中,cout將格式化的輸出傳送到標準輸出裝置,例如螢幕。將cout物件與 運算子一起使用以顯示輸出。示例1 字串輸出 include using namespace...

C 基本輸入 輸出

c 基本輸入 輸出 本文將學習如何使用cin物件從使用者那裡獲取輸入,並使用cout物件在示例的幫助下向使用者顯示輸出。c 輸出 在c 中,cout將格式化的輸出傳送到標準輸出裝置,例如螢幕。將cout物件與 運算子一起使用以顯示輸出。示例1 字串輸出 include using namespace...

c 基本的輸入輸出

c 標準庫提供了一組豐富的輸入輸出功能 c 的i o發生在流中流是位元組序列,如果位元組流是從裝置 如鍵盤,磁碟驅動器,網路連線等 流向記憶體,這叫做輸入操作,如果位元組流是從記憶體流向裝置 如顯示屏,印表機,磁碟驅動器,網路連線等 這叫做輸出操作 i o庫標頭檔案 標頭檔案函式和描述 該檔案定義了...