在c語言中,我們通常會使用 scanf 和 printf 來對資料進行輸入輸出操作。在c++語言中,c語言的這一套輸入輸出庫我們仍然能使用,但是 c++ 又增加了一套新的、更容易使用的輸入輸出庫。
【例1】簡單的輸入輸出**示例:
#include
using namespace std;
int main(){
int x;
float y;
cout<<「please input an int number:」<>x;
cout<<"the int number is x= "<>y;
cout<<"the float number is y= "在編寫 c++ 程式時,如果需要使用輸入輸出時,則需要包含標頭檔案iostream,它包含了用於輸入輸出的物件,例如常見的cin表示標準輸入、cout表示標準輸出、cerr表示標準錯誤。
iostream 是 input output stream 的縮寫,意思是「輸入輸出流」。
cout 和 cin 都是 c++ 的內建物件,而不是關鍵字。c++ 庫定義了大量的類(class),程式設計師可以使用它們來建立物件,cout 和 cin 就分別是 ostream 和 istream 類的物件,只不過它們是由標準庫的開發者提前建立好的,可以直接拿來使用。這種在 c++ 中提前建立好的物件稱為內建物件。
使用 cout 進行輸出時需要緊跟《運算子,使用 cin 進行輸入時需要緊跟》運算子,這兩個運算子可以自行分析所處理的資料型別,因此無需像使用 scanf 和 printf 那樣給出格式控制字串。
第 6 行**表示輸出"please input a int number:"這樣的乙個字串,以提示使用者輸入整數,其中endl表示換行,與c語言裡的\n作用相同。當然這段**中也可以用\n來替代endl,這樣就得寫作:
cout<<「please input an int number:\n」;
endl 最後乙個字元是字母「l」,而非阿拉伯數字「1」,它是「end of line」的縮寫。
第 7 行**表示從標準輸入(鍵盤)中讀入乙個 int 型的資料並存入到變數 x 中。如果此時使用者輸入的不是 int 型資料,則會被強制轉化為 int 型資料。
第 8 行**將輸入的整型資料輸出。從該語句中我們可以看出 cout 能夠連續地輸出。同樣 cin 也是支援對多個變數連續輸入的,如下所示。
【例2】cin 連續輸入示例:
#include
using namespace std;
int main(){
int x;
float y;
cout<<「please input an int number and a float number:」<>x>>y;
cout<<"the int number is x= "《第 7 行**連續從標準輸入中讀取乙個整型和乙個浮點型數字(預設以空格分隔),分別存入到 x 和 y 中。
輸入運算子》在讀入下乙個輸入項前會忽略前一項後面的空格,所以數字 8 和 7.4 之間要有乙個空格,當 cin 讀入 8 後忽略空格,接著讀取 7.4。
初學者可能會覺得 cout、cin 的用法非常奇怪,它們既不是類似 printf()、scanf() 的函式呼叫,也不是關鍵字,請大家先保留這個疑問,我們會在《c++運算子過載》一章中為你揭開謎底。
cout、cin 的用法非常強大靈活,本節所展示的只是最基本的功能,更多高階技巧將在後續章節中介紹。在以後的 c++ 程式設計中,我也推薦大家使用 cin、cout,它們比c語言中的 scanf、printf 更加靈活易用。
C 輸入與輸出
相關類 istream ostream ifstream ofstream iostream fstream 標準流物件 cin 對應與標準輸入流,用於從鍵盤讀取資料,也可被重定向為從檔案中讀取資料。cout 對應與標準輸出流,用於向螢幕輸出資料,也可被重定向 為向檔案中寫入資料。cerr 對應與標...
C 中的的輸入與輸出
讀取使用者輸入的第乙個字元 如果輸入乙個字串則只讀取第乙個字元 返回其對應的ascii碼值 讀取使用者輸入的一串字元,返回值為string型別 using system 監聽鍵盤事件,按任意鍵執行退出 readkey裡面有乙個bool引數,true表示不顯示按下的鍵,false表示顯示按下的鍵 還可...
C語言 輸入與輸出
標頭檔案包含 include 空指標也在這個標頭檔案中,int p null 讀取輸入的函式scanf 列印輸出的函式printf int scanf const char format,函式從標準輸入流 stdin 讀取輸入,並根據提供的 format 來瀏覽輸入。int printf const...