印出一句話
讓電腦說出你要它說的話。 · ⏱ 約 20 分鐘
這一課會用到的操作
看不清楚?每一段都會一直重播。
從工具箱拖一顆積木出來——點開「輸入/輸出」分類,把「輸出」那顆積木拖進畫布,左邊的程式碼跟著多一行切成「對照」,一次看到兩邊——點狀態列右邊的版面,選「對照」,畫面變成程式碼與積木兩欄按執行,看主控台——按右上角的執行,底下的主控台印出程式的輸出
你會學到三件事
- 怎麼叫電腦印一句話出來
- 引號為什麼那麼重要
- 同一個程式,積木和程式碼是同一件事
開始之前
打開編輯器。積木那一邊是空的——空的不代表壞掉,代表你還沒叫它做事。
⚠️ 而程式碼那一邊已經有幾行了:
using namespace std;
int main() {
return 0;
}
那幾行不是你要寫的東西,是每一支 C++ 程式都長那樣,第 5 課會把它們拆開。
在那之前,積木這邊先幫你收起來,你只要管自己放的東西。
🟢 先把編輯器打開,跟著下面一起做。 讀完再打開的話,下面每一段你都得先記起來——而那不是這個工具要你做的事。
到編輯器打開這一課:跟著做
一、叫它說話
從左邊的「輸入/輸出」把「印出」那一塊拖進來,
中間那格打上 Hello!。程式碼那邊會變成:
1 cout << "Hello!" << endl;
拆開來看:
| 這一段 |
意思 |
cout |
「印出去」——console output |
<< |
箭頭指著 cout,表示「往那邊送」 |
"Hello!" |
要送過去的東西。有引號 = 一段文字,原封不動印出來 |
endl |
end line,換行。少了它,下一句會黏在同一行 |
; |
一句話說完了 |
按「執行」,主控台會出現:
Hello!
⚠️ 引號很重要
"Hello!" 有引號,所以電腦原封不動印出 Hello!。
如果你寫成 cout << Hello! << endl;(沒引號),電腦會以為 Hello
是一個你先前取好的名字,然後找不到它,於是報錯。
有引號 = 一段文字;沒引號 = 一個名字。 這條規則整堂課都用得到。
二、兩邊是同一件事
試著把 Hello! 那格的字改掉,改成你的名字。
再看一眼程式碼——它跟著變了。
反過來也成立:在程式碼那邊把字改回去,積木那一格也會跟著變。
積木和程式碼不是兩份東西,是同一份東西的兩種畫法。
你改哪一邊都可以。
完成的樣子
這一課的參考做法——程式碼每一行的號碼,就印在對應的那塊積木上。
1#include <iostream>2using namespace std;3int main() {4 cout << "Hello!" << endl;5 return 0;6}
⚠️ 積木上你只會看到一塊——上面那幾行是第 5 課的事。
它們是同一個東西
點一下畫面上那塊「印出」積木——程式碼裡 cout 那一行會亮起來。
再把游標移到 return 0;,換成「回傳」那塊亮。
⚠️ 你不是在學兩種東西。你在看同一支程式的兩種寫法,
而它們永遠是同步的——改哪一邊都算數。
上面那張「同一支程式,兩種看法」就是這件事:
程式碼的每一行都有一個號碼,而那個號碼就印在對應的積木上。
換你了
讓它印出兩行:
Hello!
我是 <你的名字>
提示:第一行你已經會了,第二行是一模一樣的事再做一次。
🟢 不用再拖一顆——在那塊積木上按右鍵,選「複製」,就多一塊一樣的。
接著只要改中間那格的字。(在程式碼那一邊,複製貼上那一行也是一樣的事。)
到編輯器做這一題:練習:再印一行
做一個
用 cout 印出一張名片:一排星號、你的名字、一句你想說的話、再一排星號。
🔴 這一題沒有標準答案,也沒有裁判——每個人印出來的都不一樣,而那正是重點。
做完跟旁邊的人看一下彼此的,你會發現同一件事有好幾種排法。
到編輯器做這一題:做一個:你的名片
這個工具還會這樣跟你說話
⚠️ 下面這幾樣你剛才可能已經遇到了。講一次就好,後面的課不會再提
——想不起來的時候回來看這一格。
| 你會看到 |
那是在說 |
| 積木上一個琥珀色的虛線框 |
這一塊這次沒有被跑到——是故意的嗎? |
| 按執行前先問你「猜猜看」 |
猜完再揭曉——⚠️ 猜錯比猜對值錢,那是你發現自己想錯的地方 |
| 主控台說「跟這一課要的不一樣」+兩欄比對 |
左邊是你印的,右邊是要的 |
| 題目那一格的「2/3」 |
這一課有三題,你過了兩題 |
🟢 而沒有分數、沒有等級、沒有排名。這個工具只會說那件事怎麼樣了,
不會說你怎麼樣。
這一課你做了什麼
- 你用
cout << ... << endl; 印出了一句話
- 你知道了有引號和沒引號是兩件完全不同的事
- 你看到同一個程式的兩種樣子,而且改哪邊都算數
如果卡住了
| 你看到 |
多半是因為 |
| 主控台是空的 |
積木沒接上,或那一行跑到了不會被執行的地方(第 5 課會講) |
說 Hello 找不到 |
引號漏了。文字一定要用 " 包起來 |
| 兩句話黏在同一行 |
少了 endl |
| 紅紅的錯誤,指著某一行 |
行尾的分號 ; 漏了 |
在編輯器打開這一課 →