2024-04-24|閱讀時間 ‧ 約 23 分鐘

無痛入手 C++:基礎教學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。
分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.