C++輸入輸出(cin和cout)

在C語言中,咱們一般會使用 scanf 和 printf 來對數據進行輸入輸出操做。在C++語言中,C語言的這一套輸入輸出庫咱們仍然能使用,可是 C++ 又增長了一套新的、更容易使用的輸入輸出庫。 html

【例1】簡單的輸入輸出代碼示例:ios

  1. include<iostream>

  2. using namespace std;
  3. int main(){
  4. int x;
  5. float y;
  6. cout<<"Please input an int number:"<<endl;
  7. cin>>x;
  8. cout<<"The int number is x= "<<x<<endl;
  9. cout<<"Please input a float number:"<<endl;
  10. cin>>y;
  11. cout<<"The float number is y= "<<y<<endl;
  12. return 0;
  13. }

運行結果以下(↙表示按下回車鍵):
Please input an int number:
8↙
The int number is x= 8
Please input a float number:
7.4↙
The float number is y= 7.4 程序員

C++ 中的輸入與輸出能夠看作是一連串的數據流,輸入便可視爲從文件或鍵盤中輸入程序中的一串數據流,而輸出則能夠視爲從程序中輸出一連串的數據流到顯示屏或文件中。 編程

在編寫 C++ 程序時,若是須要使用輸入輸出時,則須要包含頭文件iostream,它包含了用於輸入輸出的對象,例如常見的cin表示標準輸入、cout表示標準輸出、cerr表示標準錯誤。函數

iostream 是 Input Output Stream 的縮寫,意思是「輸入輸出流」。

cout 和 cin 都是 C++ 的內置對象,而不是關鍵字。C++ 庫定義了大量的類(Class),程序員可使用它們來建立對象,cout 和 cin 就分別是 ostream 和 istream 類的對象,只不過它們是由標準庫的開發者提早建立好的,能夠直接拿來使用。這種在 C++ 中提早建立好的對象稱爲內置對象。 spa

使用 cout 進行輸出時須要緊跟<<運算符,使用 cin 進行輸入時須要緊跟>>運算符,這兩個運算符能夠自行分析所處理的數據類型,所以無需像使用 scanf 和 printf 那樣給出格式控制字符串。 .net

第 6 行代碼表示輸出"Please input a int number:"這樣的一個字符串,以提示用戶輸入整數,其中endl表示換行,與C語言裏的\n做用相同。固然這段代碼中也能夠用\n來替代endl,這樣就得寫做:code

cout<<"Please input an int number:\n";htm

endl 最後一個字符是字母「l」,而非阿拉伯數字「1」,它是「end of line」的縮寫。

第 7 行代碼表示從標準輸入(鍵盤)中讀入一個 int 型的數據並存入到變量 x 中。若是此時用戶輸入的不是 int 型數據,則會被強制轉化爲 int 型數據。 對象

第 8 行代碼將輸入的整型數據輸出。從該語句中咱們能夠看出 cout 可以連續地輸出。一樣 cin 也是支持對多個變量連續輸入的,以下所示。

【例2】cin 連續輸入示例:

  1. include<iostream>

  2. using namespace std;
  3. int main(){
  4. int x;
  5. float y;
  6. cout<<"Please input an int number and a float number:"<<endl;
  7. cin>>x>>y;
  8. cout<<"The int number is x= "<<x<<endl;
  9. cout<<"The float number is y= "<<y<<endl;
  10. return 0;
  11. }

運行結果:
Please input an int number and a float number:
8 7.4↙
The int number is x= 8
The float number is y= 7.4   

第 7 行代碼連續從標準輸入中讀取一個整型和一個浮點型數字(默認以空格分隔),分別存入到 x 和 y 中。

輸入運算符>>在讀入下一個輸入項前會忽略前一項後面的空格,因此數字 8 和 7.4 之間要有一個空格,當 cin 讀入 8 後忽略空格,接着讀取 7.4。

初學者可能會以爲 cout、cin 的用法很是奇怪,它們既不是相似 printf()、scanf() 的函數調用,也不是關鍵字,請你們先保留這個疑問,咱們會在《C++運算符重載》一章中爲你揭開謎底。

cout、cin 的用法很是強大靈活,本節所展現的只是最基本的功能,更多高級技巧將在後續章節中介紹。在之後的 C++ 編程中,我也推薦你們使用 cin、cout,它們比C語言中的 scanf、printf 更加靈活易用。

相關文章
相關標籤/搜索