無痛入手 C++:基礎教學3 - 程式的輸入與輸出

更新於 發佈於 閱讀時間約 3 分鐘

<iostream>

​在之前的文章有提到過,<iostream> 是專門處理程式的輸入 (input) 以及輸出 (output) 的函式庫。輸入輸出的對象是以電腦作為主角: 輸入指的是「把資料給電腦」,輸出指的是「從電腦那邊取得資料」

在這個系列的文章中,程式輸入指的都是從鍵盤輸入資料給電腦,而輸出指的都是把東西印在螢幕上。在我們的例子中,鍵盤是輸入裝置而螢幕則是輸出裝置

電腦可以有各式各樣的輸入及輸出裝置: 如硬碟、網路卡、麥克風、鏡頭、甚至是紅外線感測器或是機械手臂!

程式輸入

cin 是預先定義在 <iostream> 中專門用來處理輸入的變數,可以使用 >> 運算子來將輸入裝置的資料取出來放到右邊的運算元中。跟之前提過的 cout 是一樣的概念: 你可以把 >> 想成是輸入資料透過 cin 「流入」變數。執行下列的程式:

#include <iostream>

using namespace std;

int main() {
int x = 0;
// read a number into x​
cin >> x;
cout << x;
return 0;
}

程式執行到第八行的時候會停下來等待輸入,用鍵盤輸入一個數字按下 Enter,程式就會將數字讀進 x 裡面,並在第九行印出來。

cin 可以利用多個 >> 把多筆輸入資料存進不同的變數裡面,如:

int x, y;
cin >> x >> y;
cout << x << '\n';
cout << y << '\n';

cin 會把第一筆輸入資料存進 x,接著再把第二筆輸入資料存進 y。

程式輸出

cout 是預先定義在 <iostream> 中專門用來處理輸出的變數,可以使用 << 運算子來將右邊的運算元的值傳遞給輸出裝置。
第一篇「基礎系列1 - Hello C++! 的程式架構介紹」有提到 cout 後面可以透過多個 << 串接多個想印出的資料,以下兩行程式會印出相同的內容:

cout << "Hello C++ !\n";
cout << "Hello " << "C++ " << "!" << '\n';

此外,cout 的陳述是可以橫跨多行的,所以如果要列印的文字很長的話,可以考慮切成多行來增加可讀性。下面的程式會印出一樣的結果:

cout << "Hello "
<< "C++ "
<< "!";

事實上,C++ 的任意陳述 (statement) 都是可以橫跨多行的,電腦會用「;」來判斷陳述的結尾在哪裡。有時候可以利用這個特性來把長度太長的陳述切成多行,可以大大增加可讀性。


總結

這篇文章快速的介紹了程式的輸入及輸出。

實際上 C++ 還提供了許多處理輸入輸出的方式,以及各種控制輸入輸出格式的語法,不過介紹起來會有些瑣碎,所以這邊只提到最單純的用法,等之後準備要寫更複雜的程式的時候再補充更多的用法。


習題

  1. 使用三個 cout 分成三行印出下列結果:
I like to

moving

moving!
  1. 使用一個 cout 分成三行印出同樣的結果。
  2. 使用一個 cout 用一行印出同樣的結果。
  3. 輸入名字,接著印出 Hello! 加上名字。舉例來說,輸入 Bob 的話,應該要印出 Hello! Bob。
留言
avatar-img
留言分享你的想法!
avatar-img
鏟薯員的窩
6會員
14內容數
程式設計 & 電腦系統 & 系統軟體
鏟薯員的窩的其他內容
2024/05/05
C 語言的函式庫定義了許多好用的函式,在寫 C++ 的時候可以拿來用。這是因為 C++ 當初在設計的時候,就有刻意把 C 涵蓋進來。 基本用法 首先要導入 C 語言的標準函式庫: #include <cstdlib> 以 c 作為開頭表示它是 C 語言的函式庫,只是被我們拿來 C++ 的程式
Thumbnail
2024/05/05
C 語言的函式庫定義了許多好用的函式,在寫 C++ 的時候可以拿來用。這是因為 C++ 當初在設計的時候,就有刻意把 C 涵蓋進來。 基本用法 首先要導入 C 語言的標準函式庫: #include <cstdlib> 以 c 作為開頭表示它是 C 語言的函式庫,只是被我們拿來 C++ 的程式
Thumbnail
看更多
你可能也想看
Thumbnail
2025 vocus 推出最受矚目的活動之一——《開箱你的美好生活》,我們跟著創作者一起「開箱」各種故事、景點、餐廳、超值好物⋯⋯甚至那些讓人會心一笑的生活小廢物;這次活動不僅送出了許多獎勵,也反映了「內容有價」——創作不只是分享、紀錄,也能用各種不同形式變現、帶來實際收入。
Thumbnail
2025 vocus 推出最受矚目的活動之一——《開箱你的美好生活》,我們跟著創作者一起「開箱」各種故事、景點、餐廳、超值好物⋯⋯甚至那些讓人會心一笑的生活小廢物;這次活動不僅送出了許多獎勵,也反映了「內容有價」——創作不只是分享、紀錄,也能用各種不同形式變現、帶來實際收入。
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
這篇內容,將會講解什麼是「switch」,以及與「switch」相關的知識。包括switch的簡介、switch、break。
Thumbnail
這篇內容,將會講解什麼是「switch」,以及與「switch」相關的知識。包括switch的簡介、switch、break。
Thumbnail
這篇內容,將會講解什麼是函式,以及與函式相關的知識。包括函式的簡介、Runtime Function、自訂函式、Script Function 腳本函式、Method 方法。
Thumbnail
這篇內容,將會講解什麼是函式,以及與函式相關的知識。包括函式的簡介、Runtime Function、自訂函式、Script Function 腳本函式、Method 方法。
Thumbnail
這篇內容,將簡單介紹Asset Browser、Workspace、Inspector、Code Browser,作為入門的介面導覽。
Thumbnail
這篇內容,將簡單介紹Asset Browser、Workspace、Inspector、Code Browser,作為入門的介面導覽。
Thumbnail
Lua 開檔寫檔的運用 io.output()...
Thumbnail
Lua 開檔寫檔的運用 io.output()...
Thumbnail
User Input & Tables 的使用
Thumbnail
User Input & Tables 的使用
Thumbnail
<iostream> ​在之前的文章有提到過,<iostream> 是專門處理程式的輸入 (input) 以及輸出 (output) 的函式庫。輸入輸出的對象是以電腦作為主角: 輸入指的是「把資料給電腦」,輸出指的是「從電腦那邊取得資料」。 在這個系列的文章中,程式輸入指的都是從鍵盤輸入資料給電
Thumbnail
<iostream> ​在之前的文章有提到過,<iostream> 是專門處理程式的輸入 (input) 以及輸出 (output) 的函式庫。輸入輸出的對象是以電腦作為主角: 輸入指的是「把資料給電腦」,輸出指的是「從電腦那邊取得資料」。 在這個系列的文章中,程式輸入指的都是從鍵盤輸入資料給電
Thumbnail
題目敘述 題目會給我們一組定義好的界面和需求,要求我們設計一個資料結構,可以滿足平均O(1)的插入元素、刪除元素、隨機取得元素的操作。 RandomizedSet() 類別建構子 bool insert(int val) 插入元素的function界面 bool remove(int val
Thumbnail
題目敘述 題目會給我們一組定義好的界面和需求,要求我們設計一個資料結構,可以滿足平均O(1)的插入元素、刪除元素、隨機取得元素的操作。 RandomizedSet() 類別建構子 bool insert(int val) 插入元素的function界面 bool remove(int val
Thumbnail
介紹C++ 語法 資料型態,架構說明 程式語言為人類與電腦溝通的工具 程式設計流程: 定義問題 -> 問題分析 -> 撰寫演算法 ->程式撰寫 -> 程式執行及維護
Thumbnail
介紹C++ 語法 資料型態,架構說明 程式語言為人類與電腦溝通的工具 程式設計流程: 定義問題 -> 問題分析 -> 撰寫演算法 ->程式撰寫 -> 程式執行及維護
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News