C++ 基本輸入/輸出
你好,未來的C++程序設計師!今天,我們將要深入C++的輸入與輸出世界。如果你從未寫過一行代碼,也別擔心——我們將從最基本的開始,逐步進階。在這篇教程結束時,你會驚訝地發現,僅僅用幾行程式碼就能做到這麼多!
輸入/輸出庫標頭文件
在我們開始將消息打印到屏幕上或從用戶那裡讀取輸入之前,我們需要包含必要的標頭文件。在C++中,輸入和輸出操作由iostream庫處理。
讓我們從一個簡單的例子開始:
#include <iostream>
int main() {
// 你的代碼將放在這裡
return 0;
}
這是C++程序的基本結構。#include <iostream>
這行程式碼告訴編譯器包含iostream庫,這使我們能夠訪問輸入和輸出功能。
標準輸出流(cout)
現在,讓我們學習如何將文字顯示在屏幕上。在C++中,我們使用cout
(發音為"see-out")將輸出發送到控制台。
#include <iostream>
using namespace std;
int main() {
cout << "Hello, World!";
return 0;
}
當你運行這個程序時,它會在屏幕上顯示"Hello, World!"。讓我們來解析一下:
-
cout
是標準輸出流對象。 -
<<
運算符用於將數據發送到cout
。 - 整數引號中的文字稱為字符串字面量。
你也可以使用cout
打印多個項目:
cout << "My name is " << "Alice" << " and I am " << 25 << " years old.";
這將輸出:"My name is Alice and I am 25 years old."
添加新行
在輸出後移動到新行,你可以使用endl
操作符或\n
字符:
cout << "First line" << endl;
cout << "Second line\n";
cout << "Third line" << '\n';
標準輸入流(cin)
現在我們可以輸出文字了,讓我們學習如何從用戶那裡獲取輸入。我們用cin
(發音為"see-in")來達到這個目的。
#include <iostream>
using namespace std;
int main() {
int age;
cout << "How old are you? ";
cin >> age;
cout << "You are " << age << " years old!" << endl;
return 0;
}
在這個例子中:
- 我們聲明了一個整數變量
age
來存儲用戶的輸入。 - 我們使用
cout
提示用戶輸入年齡。 -
cin >> age
從用戶那裡讀取一個整數,並將其存儲在age
變量中。 - 最後,我們使用
cout
顯示結果。
你也可以讀取多個輸入:
string name;
int age;
cout << "Enter your name and age: ";
cin >> name >> age;
cout << "Hello, " << name << "! You are " << age << " years old." << endl;
標準錯誤流(cerr)
雖然cout
對於正常輸出來說很棒,但有時我們需要顯示錯誤消息。這就是cerr
的用處。它與cout
類似,但它專門用於錯誤消息。
#include <iostream>
using namespace std;
int main() {
int denominator = 0;
if (denominator == 0) {
cerr << "Error: Cannot divide by zero!" << endl;
}
return 0;
}
使用cerr
有助於區分正常輸出和錯誤消息,這在調試程序時至關重要。
標準日誌流(clog)
最後,我們有clog
,它用於日誌消息。它與cerr
類似,但它可能被緩衝,意味著輸出可能不會立即顯示。
#include <iostream>
using namespace std;
int main() {
clog << "This is a log message." << endl;
return 0;
}
實際上,clog
的使用頻率不如cout
和cerr
,但知道它的存在是好的。
輸出格式化
現在我們已經涵蓋了基礎知識,讓我們看看一些格式化輸出的方法,讓它看起來更美觀。
設置字段寬度
你可以使用setw
操作符來設置字段的寬度:
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
cout << setw(10) << "Name" << setw(5) << "Age" << endl;
cout << setw(10) << "Alice" << setw(5) << 25 << endl;
cout << setw(10) << "Bob" << setw(5) << 30 << endl;
return 0;
}
這將產生一個對齊良好的輸出:
Name Age
Alice 25
Bob 30
浮點數的精度
對於浮點數,你可以使用setprecision
控制精度:
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
double pi = 3.14159265359;
cout << "Default pi: " << pi << endl;
cout << "Pi to 4 decimal places: " << fixed << setprecision(4) << pi << endl;
return 0;
}
輸出:
Default pi: 3.14159
Pi to 4 decimal places: 3.1416
輸入/輸出流對象和操作符總結
以下是輸入/輸出流對象和操作符的便捷表格總結:
對象/操作符 | 描述 | 示例 |
---|---|---|
cout | 標準輸出流 | cout << "Hello"; |
cin | 標準輸入流 | cin >> variable; |
cerr | 標準錯誤流 | cerr << "Error!"; |
clog | 標準日誌流 | clog << "Log message"; |
endl | 結束行 | cout << "Hello" << endl; |
setw | 設置字段寬度 | cout << setw(10) << "Name"; |
setprecision | 設置浮點數精度 | cout << setprecision(2) << 3.14159; |
以上就是了!你剛剛學會了C++中輸入和輸出的基礎。記住,練習是成功之母,所以不要害怕嘗試這些概念。嘗試將它們以不同的方式結合起來,很快你就會輕鬆地編寫複雜的程序。
編程愉快,願你的輸出永遠如你所願,輸入永遠有效!
Credits: Image by storyset