Semorphe

印出一句話

讓電腦說出你要它說的話。 · ⏱ 約 20 分鐘

這一課會用到的操作

看不清楚?每一段都會一直重播。

從工具箱拖一顆積木出來——點開「輸入/輸出」分類,把「輸出」那顆積木拖進畫布,左邊的程式碼跟著多一行
切成「對照」,一次看到兩邊——點狀態列右邊的版面,選「對照」,畫面變成程式碼與積木兩欄
按執行,看主控台——按右上角的執行,底下的主控台印出程式的輸出

你會學到三件事

  1. 怎麼叫電腦印一句話出來
  2. 引號為什麼那麼重要
  3. 同一個程式,積木和程式碼是同一件事

開始之前

打開編輯器。積木那一邊是空的——空的不代表壞掉,代表你還沒叫它做事。

⚠️ 而程式碼那一邊已經有幾行了:

using namespace std;
int main() {
    return 0;
}

那幾行不是你要寫的東西,是每一支 C++ 程式都長那樣。 (等一下你放進第一塊積木,上面還會自己多長出一行——那也是第 4 課的事。) 第 4 課會把它們一行一行拆開——在那之前,積木這邊先幫你收起來, 你只要管自己放的東西。

程式碼那一邊永遠是完整的,因為它要編得過。 積木這一邊給你看多少,是可以調的(狀態列右邊那一格)。

一、叫它說話

從左邊的「輸入/輸出」把「輸出」那一塊拖進來, 中間那格打上 Hello!。程式碼那邊會變成:

    cout << "Hello!" << endl;

拆開來看:

這一段 意思
cout 「印出去」——console output
<< 箭頭指著 cout,表示「往那邊送」
"Hello!" 要送過去的東西。有引號 = 一段文字,原封不動印出來
endl end line,換行。少了它,下一句會黏在同一行
; 一句話說完了

按「執行」,主控台會出現:

Hello!

⚠️ 引號很重要

"Hello!" 有引號,所以電腦原封不動印出 Hello!。 如果你寫成 cout << Hello! << endl;(沒引號),電腦會以為 Hello 是一個你先前取好的名字,然後找不到它,於是報錯。

有引號 = 一段文字;沒引號 = 一個名字。 這條規則整堂課都用得到。

二、兩邊是同一件事

試著Hello! 那格的字改掉,改成你的名字。 再看一眼程式碼——它跟著變了。

反過來也成立:在程式碼那邊把字改回去,積木那一格也會跟著變。

積木和程式碼不是兩份東西,是同一份東西的兩種畫法。 你改哪一邊都可以。

完成的樣子

#include <iostream>
using namespace std;
int main() {
    cout << "Hello!" << endl;
    return 0;
}

⚠️ 積木上你只會看到一塊——上面那幾行是第 4 課的事。

換你了

讓它印出兩行

Hello!
我是 <你的名字>

提示:第一行你已經會了,第二行是一模一樣的事再做一次。

這一課你做了什麼

如果卡住了

你看到 多半是因為
主控台是空的 積木沒接上,或那一行跑到了不會被執行的地方(第 4 課會講)
Hello 找不到 引號漏了。文字一定要用 " 包起來
兩句話黏在同一行 少了 endl
紅紅的錯誤,指著某一行 行尾的分號 ; 漏了
在編輯器打開這一課 →