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


 

在C語言中,通常會在采用格式化輸入輸出函數printf和scanf用於輸入或輸出數據或信息。在C++語言中,C語言的這一套輸入輸出庫我們仍能使用,但是C++語言又自定義了一套新的、更容易使用的輸入輸出庫。

在C++程序中,輸入與輸出可以看做是一連串的數據流,輸入即可視為從文件或鍵盤中輸入程序中的一串數據流,而輸出則可以視為從程序中輸出一連串的數據流到顯示屏或文件中。

在編寫C++程序時,如果需要使用輸入輸出時,則需要包含頭文件iostream。在iostream中定義了用於輸入輸出的對象,例如常見的cin表示標准輸入、cout表示標准輸出、cerr表示標准錯誤。

需要特別強調的是cin、cout、cerr不是C++中的關鍵字,其本質是函數調用,它們的實現采用的是C++的運算符重載,這些知識點將會在后續逐一介紹。其中cout和cerr的輸出目的地都是顯示器,但不同的是cout是帶有緩沖的,而cerr則不帶緩沖。

在我們使用cout進行輸出時需要緊接着使用“<<”操作符,使用cin進行輸入時需要緊接着使用“>>”操作符,這兩個操作符可以自行分析所處理的數據類型,因此無需我們像使用scanf和printf那樣設置輸入輸出格式化語句。

[例1]C++簡單的輸入輸出代碼示例:

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

這段程序的功能是提示用戶輸入一個整型和一個浮點型數字,然后將其顯示在顯示器上,這段代碼的運行結果如下所示(↙表示用戶按下enter鍵):
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   

語句cout<<"Please input a int number:"<<endl;表示輸出“"Please input a int number:”這樣的一段提示話語,讓用戶知道該輸入一個整型數據,其中endl表示換行輸出,其功能與C語言里的“\n”相同,在這個程序中我們也可以用“‘\n’”來替代endl。需要注意的是endl最后一個字母是字母“l”,而非阿拉伯數字“1”,其英文全稱為“end of line”。語句cin>>x;表示從標准輸入中讀入一個int型的數據並存入到x變量中。如果此時用戶輸入的不是int型數據,則會被強制轉化為int型數據。語句cout<<"The int number is x= "<<x<<endl;則是將輸入的整型數據輸出,從這句中我們可以看出cout可以連續的輸出。同樣cin也是支持對多個變量連續輸入的,如下所示。

[例2]cin 連續輸入示例:

#include<iostream>
using namespace std;
int main()
{
    int x;
    float y;
    cout<<"Please input an int number and a float number:"<<endl;
    cin>>x>>y;
    cout<<"The int number is x= "<<x<<endl;
    cout<<"The float number is y= "<<y<<endl;   
    return 0;
}

運行結果:
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   

在例2中我們用cin>>x>>y;連續從標准輸入中讀取一個整型和一個浮點型數字,然后分別存入到x和y中。輸入操作符>>在讀入下一個輸入項前會忽略前一項后面的空格,如例2中,數字8和7.4之間有一個空格,當cin讀入8后忽略空格,接着讀取7.4。

當使用cin>>val輸入變量時,如果輸入一個變量到val中,則該表達式返回true,否則返回false。利用這一特性,我們可以連續輸入數據,如例3所示。

[例3]使用 cin 連續輸入數據:

 1 #include<iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     int sum = 0;
 6     int val = 0;
 7     cout<<"Please input a number :"<<endl;
 8     while(cin>>val)
 9     {
10         sum += val;
11         cout<<"Please input next number :"<<endl;
12     }
13     cout<<"The sum of all number is sum = "<<sum<<endl;
14     return 0;
15 }

 

這個程序從標准輸入中不斷地讀取數據並存入到val變量中,每讀入一個數據就求一次和,直至用戶輸入文件結束符標識時,程序才會輸出之前用戶輸入所有數據之和。

引用:http://www.weixueyuan.net/view/6327.html

  1. #include<iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. int sum = 0;
  6. int val = 0;
  7. cout<<"Please input a number :"<<endl;
  8. while(cin>>val)
  9. {
  10. sum += val;
  11. cout<<"Please input next number :"<<endl;
  12. }
  13. cout<<"The sum of all number is sum = "<<sum<<endl;
  14. return 0;
  15. }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM