C++ cin與cout:輸入輸出流基礎教程

在C++中,程序與外界的數據交互主要通過輸入(從鍵盤獲取數據)和輸出(向屏幕顯示數據)完成。cincout是C++標準庫提供的輸入輸出流對象,它們讓數據的讀寫變得簡單直觀。

一、輸入輸出流是什麼?

簡單來說,輸入流(Input Stream)負責將外部數據(如鍵盤輸入)“流入”程序,輸出流(Output Stream)負責將程序中的數據“流出”到外部(如屏幕顯示)。C++的iostream庫(輸入輸出流庫)提供了cin(輸入流對象)和cout(輸出流對象)來實現這一功能。

二、頭文件與命名空間

使用cincout前,必須包含頭文件<iostream>,否則編譯器無法識別這兩個對象。同時,爲了簡化代碼(避免每次寫std::cin),通常會使用using namespace std;聲明命名空間std

#include <iostream>  // 必須包含的頭文件,提供cin和cout的定義
using namespace std; // 聲明使用標準命名空間,避免重複寫std::前綴

三、cin:從鍵盤讀取數據

cin是輸入流對象,通過提取運算符>> 從標準輸入(通常是鍵盤)讀取數據。基本語法:cin >> 變量名;

示例1:讀取一個整數

#include <iostream>
using namespace std;

int main() {
    int age; // 定義一個整數變量age
    cout << "請輸入你的年齡:"; // 輸出提示信息
    cin >> age; // 從鍵盤讀取數據,存入age變量
    cout << "你輸入的年齡是:" << age << endl; // 輸出結果
    return 0;
}

代碼解釋
- int age;:定義一個整數變量age,用於存儲輸入的年齡。
- cin >> age;:用戶在鍵盤輸入數據後,cin會將數據“提取”到age中。
- >>提取運算符,表示“從輸入流中獲取數據並賦給變量”。

四、cout:向屏幕輸出數據

cout是輸出流對象,通過插入運算符<< 向標準輸出(通常是屏幕)顯示數據。cout可以連續輸出多個數據,語法:cout << 數據1 << 數據2 << ... << 數據n;

示例2:輸出多個數據

#include <iostream>
using namespace std;

int main() {
    string name; // 定義字符串變量name
    int score;   // 定義整數變量score
    cout << "請輸入姓名和分數:";
    cin >> name >> score; // 連續讀取兩個數據(姓名和分數)

    cout << "姓名:" << name << "\n分數:" << score << endl; // 輸出結果
    return 0;
}

代碼解釋
- cout << "姓名:" << name << "\n分數:" << score << endl;:通過<<連續輸出字符串、變量和換行符endlendl表示換行並刷新輸出緩衝區,確保內容立即顯示)。
- "\n"是換行符,也可用於換行,但endl更常用(避免緩衝區問題)。

五、常見數據類型的輸入輸出

cincout支持多種數據類型,包括整數(int)、浮點數(float/double)、字符串(string)等,只需定義對應類型的變量即可。

示例3:讀取浮點數

#include <iostream>
using namespace std;

int main() {
    double height; // 定義雙精度浮點數變量height
    cout << "請輸入身高(米):";
    cin >> height; // 讀取身高
    cout << "你的身高是:" << height << "米" << endl;
    return 0;
}

示例4:讀取字符串(注意空格處理)
cin >> 字符串變量遇到空格會停止讀取,若需讀取帶空格的字符串(如“張三 三”),需使用getline(cin, 字符串變量)(需包含<string>頭文件):

#include <iostream>
#include <string> // 需包含string頭文件
using namespace std;

int main() {
    string fullName;
    cout << "請輸入全名(含空格):";
    getline(cin, fullName); // 讀取一行字符串(含空格)
    cout << "你輸入的全名是:" << fullName << endl;
    return 0;
}

六、注意事項

  1. 變量定義:輸入前必須先定義變量,否則無法存儲數據。
  2. 數據類型匹配:輸入數據類型需與變量類型一致(如cin >> age中,ageint,則用戶輸入必須是整數,否則會出錯)。
  3. 避免忘記頭文件#include <iostream>是必須的,否則cincout無法被識別。
  4. 連續輸入:多個cin >> 變量可連寫,用空格分隔輸入數據。

總結

cincout是C++中最基礎的輸入輸出工具,通過>><<運算符實現數據的讀寫。掌握它們的關鍵是:
- 用cin >> 變量讀取鍵盤輸入;
- 用cout << 數據輸出內容到屏幕;
- 注意頭文件和命名空間的聲明;
- 根據數據類型定義對應變量。

多練習簡單的輸入輸出程序(如讀取兩個數求和、計算平均分等),就能熟練掌握這兩個基礎工具!

小夜