無痛入手 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
鏟薯員的窩
9會員
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
賽勒布倫尼科夫以流亡處境回望蘇聯電影導演帕拉贊諾夫的舞台作品,以十段寓言式殘篇,重新拼貼記憶、暴力與美學,並將審查、政治犯、戰爭陰影與「形式即政治」的劇場傳統推到台前。本文聚焦於《傳奇:帕拉贊諾夫的十段殘篇》的舞台美術、音樂與多重扮演策略,嘗試解析極權底下不可言說之事,將如何成為可被觀看的公共發聲。
Thumbnail
賽勒布倫尼科夫以流亡處境回望蘇聯電影導演帕拉贊諾夫的舞台作品,以十段寓言式殘篇,重新拼貼記憶、暴力與美學,並將審查、政治犯、戰爭陰影與「形式即政治」的劇場傳統推到台前。本文聚焦於《傳奇:帕拉贊諾夫的十段殘篇》的舞台美術、音樂與多重扮演策略,嘗試解析極權底下不可言說之事,將如何成為可被觀看的公共發聲。
Thumbnail
柏林劇團在 2026 北藝嚴選,再次帶來由布萊希特改編的經典劇目《三便士歌劇》(The Threepenny Opera),導演巴里・柯斯基以舞台結構與舞台調度,重新向「疏離」進行提問。本文將從觀眾慾望作為戲劇內核,藉由沉浸與疏離的辯證,解析此作如何再次照見觀眾自身的位置。
Thumbnail
柏林劇團在 2026 北藝嚴選,再次帶來由布萊希特改編的經典劇目《三便士歌劇》(The Threepenny Opera),導演巴里・柯斯基以舞台結構與舞台調度,重新向「疏離」進行提問。本文將從觀眾慾望作為戲劇內核,藉由沉浸與疏離的辯證,解析此作如何再次照見觀眾自身的位置。
Thumbnail
本文深入解析臺灣劇團「晃晃跨幅町」對易卜生經典劇作《海妲.蓋柏樂》的詮釋,從劇本歷史、聲響與舞臺設計,到演員的主體創作方法,探討此版本如何讓經典劇作在當代劇場語境下煥發新生,滿足現代觀眾的觀看慾望。
Thumbnail
本文深入解析臺灣劇團「晃晃跨幅町」對易卜生經典劇作《海妲.蓋柏樂》的詮釋,從劇本歷史、聲響與舞臺設計,到演員的主體創作方法,探討此版本如何讓經典劇作在當代劇場語境下煥發新生,滿足現代觀眾的觀看慾望。
Thumbnail
《轉轉生》為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,融合舞蹈、音樂、時尚和視覺藝術,透過身體、服裝與群舞結構,回應殖民歷史、城市經驗與祖靈記憶的交錯。本文將從服裝設計、身體語彙與「輪迴」的「誕生—死亡—重生」結構出發,分析《轉轉生》如何以當代目光,形塑去殖民視角的奈及利亞歷史。
Thumbnail
《轉轉生》為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,融合舞蹈、音樂、時尚和視覺藝術,透過身體、服裝與群舞結構,回應殖民歷史、城市經驗與祖靈記憶的交錯。本文將從服裝設計、身體語彙與「輪迴」的「誕生—死亡—重生」結構出發,分析《轉轉生》如何以當代目光,形塑去殖民視角的奈及利亞歷史。
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) 的函式庫。輸入輸出的對象是以電腦作為主角: 輸入指的是「把資料給電腦」,輸出指的是「從電腦那邊取得資料」。 在這個系列的文章中,程式輸入指的都是從鍵盤輸入資料給電
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News