在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庫標頭檔案 標頭檔案函式和描述 該檔案定義了...