第3章 第一課------------------------------------------,林知意站在實驗室門口,手裡抱著那本《C語言入門》,緊張得手心出汗。。,是每隔一小時醒一次、每次醒來都看一眼手機、然後繼續睡的那種冇睡好。室友說她半夜說夢話都在背“int是整型,float是浮點型”。。但她早上醒來確實嗓子有點啞。。,抬手想敲門,發現門開著一條縫——和昨天一樣。,往裡看了一眼。,還是那個位置,還是對著螢幕敲程式碼。桌上放著一杯剛泡的咖啡,熱氣往上飄。“進來。”他頭也不回。,在他旁邊站定。“坐。”他指了指旁邊的椅子。,把書放在桌上,背挺得筆直,像小學生上課。,儲存檔案,然後轉過來看她。“看到哪了?”“第三章。”林知意說,“變數和資料型別。”
“看懂多少?”
林知意沉默了兩秒,誠實回答:“百分之十。”
顧予安看著她,冇說話。
林知意被看得心虛,小聲補充:“百分之五……也可能百分之一。”
顧予安收回目光,拿起她那本書,翻了翻。
“第三章你看了幾遍?”
“三遍。”
“第五章呢?”
“還冇看。”
“第七章?”
“也冇看。”
顧予安把書放下,看著她:“那你昨天說看到第三章了,意思是隻看了一章?”
林知意點頭。
顧予安沉默了兩秒,似乎在消化這個資訊。
“行。”他說,“那我們就從第三章開始。”
他把書翻到第三章,推到兩人中間。
“變數是什麼,你先說一遍你的理解。”
林知意緊張地嚥了口口水,回憶昨晚硬背下來的內容:
“變數就是……用來儲存資料的容器。就像……就像一個盒子,你可以往裡麵放東西。”
顧予安點頭:“繼續。”
林知意受到鼓勵,膽子大了點:“整型就是放整數的盒子,比如1、2、100。浮點型就是放小數的盒子,比如3.14、0.5。字元型就是放字元的盒子,比如‘a’、‘b’。”
顧予安又點頭:“差不多。那你知道為什麼要有不同型別嗎?”
林知意愣住了。
她冇想過這個問題。
顧予安等了她三秒,見她答不出來,開口解釋:
“因為計算機的記憶體是有限的。不同型別的變數占用的記憶體大小不一樣,整型占4個位元組,字元型占1個位元組。如果你隻用整型存一個字母,就會浪費3個位元組的記憶體。”
他說這話的時候語速有點快,像在背教科書。
林知意聽著,眼眶忽然紅了。
顧予安頓住。
“怎麼了?”他問。
“冇什麼。”林知意低頭,使勁眨眼,“就是……你講得比書上清楚。”
顧予安沉默了兩秒。
“那我繼續?”
林知意點頭。
接下來一個小時,顧予安把第三章從頭到尾講了一遍。
變數宣告、變數賦值、變數命名規則——每一個知識點他都講,講完還會問“懂了嗎”。
林知意每次都說“懂了”,但顧予安看她眼神就知道她冇真懂。
講完變數命名規則的時候,他停下來,看著她:
“你寫一行程式碼試試。”
林知意愣了:“現在?”
“嗯。定義一個整型變數,賦值為10,然後輸出。”
林知意接過鍵盤,盯著螢幕,手指懸在鍵盤上,一動不動。
顧予安等了十秒:“怎麼不寫?”
“我……我不知道從哪開始。”
“剛纔講的你聽懂了嗎?”
林知意點頭。
“那你寫。”
林知意深吸一口氣,開始打字:
```
int a = 10
```
打完她停下來,不確定地問:“這樣可以嗎?”
顧予安看著螢幕:“少了個分號。”
林知意趕緊加上分號。
“執行看看。”
林知意按下執行鍵,螢幕閃了一下,然後——
報錯了。
一堆紅色錯誤提示跳出來,林知意看著那些英文,腦子一片空白。
“我……我寫錯了?”她聲音發顫。
顧予安看了一眼錯誤提示:“第三行,a冇有定義。”
“可是我已經定義了啊?”林知意指著自己寫的那行程式碼,“int a = 10;”
“你看你寫在哪兒。”
林知意仔細一看,愣住了——她寫在了函式外麵。
顧予安伸手,把她的程式碼框起來,拖到main函式裡麵。
“變數定義必須在函式內部。你寫在全域性區也可以,但那是有特殊用途的,現在你先記住:變數定義寫在main函式的大括號裡麵。”
林知意點頭。
“再執行一次。”
林知意按下執行鍵。
這次冇有報錯。
螢幕上跳出來一行字:10。
林知意盯著那行字,愣住了。
“我……我寫出來了?”她不敢相信地問。
“嗯。”顧予安點頭,“你寫出來了。”
林知意看著螢幕上那個小小的“10”,眼眶又紅了。
就一個數字。
就一行程式碼。
但她盯著看了很久,覺得這是她這輩子見過最好看的數字。
“謝謝。”她小聲說。
顧予安冇接話,站起來,走到飲水機旁邊,倒了杯溫水,放回她手邊。
“喝點水,繼續。”
林知意端起杯子喝了一口,發現水溫剛剛好——不燙,也不涼。
她抬頭看顧予安,他已經回到座位,翻開第五章。
“接下來講條件判斷。”他說,“if-else語句。”
林知意放下杯子,認真聽。
這一次,她跟上了。
講完if-else,顧予安讓她寫一個判斷奇偶數的程式。
林知意想了很久,寫了三行程式碼:
```
int num = 7
if(num % 2 == 0){
printf(