SlideShare a Scribd company logo
如何用十分鐘
快速瞭解一個程式語言
《以 JavaScript 和 C 語言為例》
陳鍾誠
2016 年 3 月 7 日
程式人程式人
本文衍生自維基百科
話說
● 從我大學到現在,學過不少程式
語言。
大部分的程式語言
●其實都長得差不多!
偶爾有幾個長得很不一樣的
●其實都沒有多少人用
●所以學不會也沒關係!
到底
● 哪些程式語言是長的一樣的 ?
● 哪些程式語言又長得不太一樣呢?
先讓我想想看
長得都差不多的程式語言有
● Pascal, C, C++, Java, VB, C#,
Ruby, Python, JavaScript, Go,
R, Foxpro 等等
長得很不一樣的程式語言
● 好像不算太多 , 我學過的就只有
Prolog 和 LISP 兩個,沒學過的
聽說還有 ML, Haskell 等語言
那些長得差不多的
● 通常是《程序式的語言》 , 也就是
有 if, while, function 的那些
《結構化流程式語言》
而長得很不一樣的
● 通常屬於《宣告式語言》
(declarative programming
language ) ,這類語言通常沒有迴
圈,得用遞迴替代迴圈。
那種沒有迴圈的語言
● 通常無法變成主流語言
● 我也通常不會去用,所以自然也
學不好!
而那種有迴圈的語言
●因為長得都很像
●所以只要學會一個之後,要
學另一個就很快!
有時花個十分鐘看語法
●然後就可以開始寫了!
現在
●我決定以過來人的經驗
●分享一下自己學新語言時的
做法!
當我想學一門新的程式語言時
● 我通常會先買一本那門程式語言的書
● 書還沒到之前,可以先上網看一下範
例。
然後
● 我會看看這個語言的
– 變數怎麼宣告
– if 語法怎麼寫
– 迴圈語法怎麼寫
– 陣列 ( 和字典 ) 的存取如何做
– 函數如何宣告和使用
大約花上十分鐘看完後
●就可以開始動手寫程式了!
當然、動手之前
●一定要先安裝《開發環境》
舉例而言
● 如果要學 javascript ,我會先安裝
node.js
● 如果要學 C ,我會先安裝 gcc
( 或包含 gcc 的開發環境,像是 Dev C++ 等 )
接下來
●就直接開始試著寫寫看!
到底應該寫些甚麼程式呢?
根據程式人不成文的慣例
第一個程式通常是寫
Hello World!
JavaScript 版 C 語言版
請注意
● 在上述程式中,我輸出
《 Hello ! 你好 ! 》
順便測試一下中文有沒有問題!
● 有不少開發環境的中文會出現問題
所以
● 要小心一些事情
– 像是檔案資料夾名稱最好不要用中文。
– 路徑裡最好不要有空白
(windows 中盡量不要將檔案存在桌面 )
還有、對於新手而言
●要學會使用命令列與 Shell
–像是路徑的切換
–列出有哪些檔案
–等等指令!
以下是命令列 Shell 的使用方式
windows MAC/Linux
以下是我執行 hello.js 的案例
C:Usersuser>d:
D:>dir
...
2015/10/11 上午 08:48 <DIR> sport
2016/03/02 下午 08:32 <DIR> temp
2015/12/25 下午 08:45 <DIR> upload
2015/12/25 下午 09:06 <DIR> 照片
0 個檔案 0 位元組
16 個目錄 15,897,038,848 位元組可用
D:>cd jscode
D:jscode>dir
...
2015/10/15 上午 08:30 683 gensentence.js
2013/03/14 上午 08:53 22 hello.js
2013/03/18 下午 01:53 240 HelloWeb.js
...
D:jscode>node hello.js
Hello!
您可以看到
● 我先用 d: 切換磁碟機
● 然後再用 cd 切換資料夾
到我的程式所在位置
● 最後才用 node hello.js
執行我寫的程式
C:Usersuser>d:
D:>dir
...
2015/10/11 上午 08:48 <DIR> sport
2016/03/02 下午 08:32 <DIR> temp
2015/12/25 下午 08:45 <DIR> upload
2015/12/25 下午 09:06 <DIR> 照片
0 個檔案 0 位元組
16 個目錄 15,897,038,848 位元組可用
D:>cd jscode
D:jscode>dir
...
2015/10/15 上午 08:30 683 gensentence.js
2013/03/14 上午 08:53 22 hello.js
2013/03/18 下午 01:53 240 HelloWeb.js
...
D:jscode>node hello.js
Hello!
雖然對於熟手而言
● 這非常的簡單,根本就是常識!
但是對於新手而言
最麻煩的
● 就是那些大家都不講的《常識》!
而且
● 每個作業系統和開發工具的常識都長得不太一樣!
– Win Xp,Win7, Win8, Win10
– MAC, Linux, …
– iOS, Android, …
– 甚至有些系統改版時還會大搬風一下!
像是上次我要寫 Android 版
PhoneGap 的 Hello World 時
● 怎麼試都沒辦法在自己的 Galaxy Tab4 手機上面執行!
● 結果發現這個,顯然 google 把程式人員當 007 在訓練
這時候
● 如果有一位熟手或老師在旁邊,
想必會省去你很多摸索的時間!
好了,現在你應該可以試試
● 自己執行那個 hello 程式了!
像這樣
JavaScript 版 C 語言版
如果您能夠正確執行 hello
●那麼恭喜你!
●踏出了成功的第一步!
剩下的
●就是程式怎麼寫的問題了!
就像前面所說的
● 通常每個語言都會有這些語法
– 變數怎麼宣告
– if 語法怎麼寫
– 迴圈語法怎麼寫
– 陣列 ( 和字典 ) 的存取如何做
– 函數如何宣告和使用
只要學會了這些語法
●還有其用途
●那麼就可以開始寫程式了!
學會寫 Hello 之後
● 讓我來們看看,到底程式是甚麼?
所謂的程式
● 是一連串要求電腦做事的指令動作。
● 這比較像算術,但不像數學。
舉例而言
● 如果你看到
x=3;
y=5;
x=y;
這樣幾個指令時。
這代表著
x=3; // 執行完這行後 x 會是 3
y=5; // 執行完這行後 y 會是 5
x=y; // 執行完這行後 x 會是 5
因為 y 把 5 這個值丟給 x
其中的 = 是指定的意思,
而非數學上的比較或相等。
所以、當你看到
x=5;
x=x+1;
這樣的程式碼時,千萬不要以為
他寫錯了,然後說:
x = x+1
根本就是不可能的。
因為、這裡的 = 是指定,而不是
比較或數學的等號。
所以執行完後 x 會變成 6 。
每年、我教大一程式設計的時候
● 一開始都有學生誤會,然後百思不解
的問我。
● 其實這些學生沒什麼錯,只是它們用
數學的等號想法來理解程式裡面的 =
符號,所以才會無法理解。
事實上、在很多程式語言中
● 都會用一個等號 = 代表《指定》,
因為這個運算太常用了。
● 然後用兩個等號 == 代表《判斷》,
這個符號才比較像是數學上的那個相
等。
所以、您應該要能判斷
下列程式會印出甚麼?
答案是印出 《 a 不等於 b 》
JavaScript 版
有了這樣的基本概念之後
●我們就可以來看看基本的程
式該怎麼寫了!
我很喜歡用 1+..+10
當範例說明程式的用途
JavaScript 版 C 語言版
您可以看到
JavaScript(js) 和 C 兩者的版本,其實結構差不多!
但是 C 語言必須要宣告型態 (int 是整數 ) 與主程式 main ,比較冗長
JavaScript 版 C 語言版
這是因為
● JavaScript 是弱型態語言,不
需要宣告變數型態。
● 但 C 語言是強型態語言,需要
宣告變數型態。
另外、兩者在執行過程上也有差別
● JavaScript 是直譯式語言,
不需要編譯就能執行
● C 語言是編譯式語言,
需要編譯才能執行。
JavaScript 版
C 語言版
不過、 JavaScript 和 C 兩者所使用的
● if, for, while 語法都非常類似
● 指定 = 與比較 ==, !=, >=, <=, >, <
還有 +, -, *, /, %, &, |, !, &&, ||
等運算,還有 +=, -=, *=,/= 這些運算
都是一樣的。
您可以看到下列用 for 迴圈
寫的加總版本, JS 和 C 也很像
這是因為 JavaScript (JS) 學 Java 的語法, Java 學 C 的語法,大家學來學去,
最後都採用了 C 語言所提出來的那些語法。
JavaScript 版 C 語言版
學會使用迴圈之後
接下來可以學學函數的寫法
JavaScript 版 C 語言版
必須注意的是
● 函數的參數是根據位置傳入的,而不是根據名字。
所以在左邊的程式中, 9 會傳給 a, 5 會傳給 b 。
就算你故意用以下相反的命名方式,也不會影響
《根據位置傳入的事實》。
b=9; a=5;
max(b,a)
結果仍然是
(b 裡面的 ) 9 會傳給 a,
(a 裡面的 ) 5 會傳給 b.
並不會因此而顛倒過來!
學會函數之後
●你寫程式才能夠重複利用
●不用相同的程式寫很多次
●這種方法稱為模組化!
剛開始寫程式的人
●常常沒學會利用函數
●就開始用剪貼的方式
●不斷複製程式!
這樣做雖然也能達到目的
● 但是程式會《愈來愈長、愈來愈亂、
愈來愈複雜》
● 結果就是,當問題稍微更複雜一點,
寫的人就陷入《一直改一直改一直
改》的困境。
為甚麼會一直改呢?
● 因為只要有任何一個地方要改,就要改 n 次。 ( 因為
你已經複製了 n 次 )
● 例如要算下列結果,結果用了三個迴圈,長得都很像
– s10=1+…+10
– s100=1+…+100
– s1000=1+…+1000
這樣的話
● 絕對會陷入軟體工程的災難!
所以
●函數很重要!
●模組化很重要!
●這就是軟體工程的第一步!
會了迴圈與函數之後
●還有一個很簡單的東西,我
們忘了講
●那就是 if 條件判斷
舉例而言、以下程式 max(a,b)
可以取兩者的大值
JavaScript 版 C 語言版
接著就可以學習陣列的用法
JavaScript 版 C 語言版
然後學學字串的用法
JavaScript 操作
C 語言版
學會了上述這些語法之後
● 其實您就可以寫出很多程式了,像是
– 計算 f(a,n) = an
– 把一個陣列或字串反轉
– 印出九九乘法表
– …
還有、很多老師喜歡讓學生
● 練習印三角形,像是
● 甚至是列印菱形,這都是為了練習迴圈與判斷的
概念而已。
你可能會覺得很無聊
● 但這些練習其實就像小學要你一直
算《加減乘除》是一樣的道理。
● 如果你真的確定自己會了,那跳過
也是可以的!
不過、要小心一件事
● 很多人其實只是《覺得自己會
了》,但是真的要寫卻寫不出來。
● 這種情況還是多練幾題會好一點。
舉例而言
● 像是《判斷質數、向量與矩陣的加
減乘除、複數加減乘除、字串反
轉、九九乘法表》之類的,都是不
錯的練習題。
當您把這些基本功練得差不多的時候
● 就可以學一些進階的語法和技巧
像是
●回呼 callback
●遞迴 recursive
●物件 object
以下讓我們
●很快地看一下這些技巧
所謂的回呼 callback
● 就是將函數當參數傳入後,在適當時機被呼叫的
那種情況。
● 舉例而言,如果有一個微分函數 df(f, x) ,
其中的 f 是待微分函數,那麼當我們呼叫
df(sin,pi/4) 的時候,就可以利用傳進去的
sin 函數,來計算該函數在 pi/4 的導數。
以下就是用 callback 作微分的範例
JavaScript 版
C 語言版
當然也可以用 callback 做積分
JavaScript 版
C 語言版
這種 callback 技巧
● 在 JavaScript 和 C 當中都很常用
● JavaScript 常用在
非阻斷式 (non-blocking) 呼叫上
● C 則在驅動程式的註冊與呼叫時常被使用。
接著讓我們看看
●遞迴 recursive 這個技術
所謂的遞迴
● 就是一個函數《自己呼叫自己》
function f(...) {
if (...) return;
f(...);
}
函數 f 的裡面還呼叫了 f()
舉例而言
● 假如我們要計算 s(n)=1+...+n 這個函數
● 那麼我們可以將 s(n) 改寫成遞迴式如下:
s(n) = 1+...+(n-1)+n = s(n-1)+n
s(1) = 1
於是我們可以根據
遞迴式寫出下列程式
s(n) = s(n-1)+n
s(1) = 1
JavaScript 版 C 語言版
如果你在中間加上印出的動作
就可以觀察到執行過程
JavaScript 版 輸出結果
如果你看懂上述的遞迴寫法
● 那麼應該也可以寫出計算下列遞迴式的程式
f(n)=f(n-1)+f(n-2)
f(1)=1
f(0)=0
費氏數列的前幾項為 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, …..
您可以試著寫寫看!
最後、我們來看物件的概念
所謂的物件
● 基本上是把《函數》和《資料》
封裝起來,這個封裝結構就稱為
物件。
如果一個物件只有資料,沒有函數
● 那我們可以稱之為《結構》。
JavaScript 版
C 語言版
但是如果結構中加上了函數
就會形成物件
C 語言並不支援
物件導向語法,
但可以實作物件
導向概念,不過
會有點複雜,在
此我們就不舉例了。
JavaScript 版
在瞭解了這些基本語法之後
● 讓我們用一個範例作為總結
● 那就是一個《逐字翻譯系統》
● 其使用方法如下
JavaScript 版執行結果 C 語言版執行結果
以下是《逐字翻譯系統》的程式碼
由於空間不足
find() 函數
在此未列出
JavaScript 版
C 語言版
如果、看完這次的
《十分鐘系列》之後
● 您能夠用 JavaScript 或 C 語言,寫出
上面的那些範例。
● 而且是不看這個文件的情況下,親自動手
寫出來的。
● 那我想您就已經學會那個語言的基礎了。
學程式有一件很重要的事情
●就是一定要自己動手去寫
●能寫得出來,才算是學會了
你可以參考語言的語法
●或者去查查函式庫
●但是不應該直接找到那個程
式抄下來或複製
能夠自己寫出來
●這樣才算是真正在學程式
●也才能真正學會程式設計
希望
●這次的十分鐘系列
對您會有所幫助
我們下回見囉!
Bye Bye !

More Related Content

PDF
用十分鐘瞭解《線性代數、向量微積分》以及電磁學理論
PDF
用十分鐘決定要不要念大學《資訊工程系》
PDF
適合資工系畢業生的 一百零一種工作
PDF
為何學數學?
PDF
高橋流微積分
PDF
西洋史 (你或許不知道但卻影響現代教育的那些事)
PDF
《計算機結構與作業系統裏》-- 資工系學生們經常搞錯的那些事兒!
PDF
那些年、我們還沒學會就已經過時的那些技術
用十分鐘瞭解《線性代數、向量微積分》以及電磁學理論
用十分鐘決定要不要念大學《資訊工程系》
適合資工系畢業生的 一百零一種工作
為何學數學?
高橋流微積分
西洋史 (你或許不知道但卻影響現代教育的那些事)
《計算機結構與作業系統裏》-- 資工系學生們經常搞錯的那些事兒!
那些年、我們還沒學會就已經過時的那些技術

What's hot (20)

PDF
用十分鐘搞懂 《系統分析、軟體工程、專案管理與設計模式》
PDF
用十分鐘搞懂 《資管、資工、電子、電機、機械》 這些科系到底在學些甚麼?
PDF
假如我是個大學資工系畢業生
PDF
如何設計電腦 -- 還有讓電腦變快的那些方法
PDF
怎樣才算是一個合格的資工系畢業生
PDF
用十分鐘瞭解 新竹科學園區的發展史
PDF
開放電腦計畫 - 從一顆最簡單的 MCU 談起
PDF
用十分鐘向nand2tetris學會設計處理器
PDF
用十分鐘理解 《微分方程》
PDF
用十分鐘學會 《微積分、工程數學》及其應用
PDF
為何學程式?
PDF
用十分鐘搞懂 《電腦如何解方程式》
PDF
用十分鐘瞭解陳鍾誠的 《課程、教材與學習方法》
PDF
用十分鐘 學會《資料結構、演算法和計算理論》
PDF
區塊鏈 (比特幣背後的關鍵技術) -- 十分鐘系列
PDF
用十分鐘瞭解《大學專題的那些事兒》!
PDF
用十分鐘搞懂《離散數學》
PDF
寫給資工系畢業生的工作面試指南
PDF
用JavaScript 實踐《軟體工程》的那些事兒!
PDF
專為程式人寫的神經網路導論 (以反傳遞演算法為入門磚)
用十分鐘搞懂 《系統分析、軟體工程、專案管理與設計模式》
用十分鐘搞懂 《資管、資工、電子、電機、機械》 這些科系到底在學些甚麼?
假如我是個大學資工系畢業生
如何設計電腦 -- 還有讓電腦變快的那些方法
怎樣才算是一個合格的資工系畢業生
用十分鐘瞭解 新竹科學園區的發展史
開放電腦計畫 - 從一顆最簡單的 MCU 談起
用十分鐘向nand2tetris學會設計處理器
用十分鐘理解 《微分方程》
用十分鐘學會 《微積分、工程數學》及其應用
為何學程式?
用十分鐘搞懂 《電腦如何解方程式》
用十分鐘瞭解陳鍾誠的 《課程、教材與學習方法》
用十分鐘 學會《資料結構、演算法和計算理論》
區塊鏈 (比特幣背後的關鍵技術) -- 十分鐘系列
用十分鐘瞭解《大學專題的那些事兒》!
用十分鐘搞懂《離散數學》
寫給資工系畢業生的工作面試指南
用JavaScript 實踐《軟體工程》的那些事兒!
專為程式人寫的神經網路導論 (以反傳遞演算法為入門磚)
Ad

Similar to 如何用十分鐘快速瞭解一個程式語言 《以JavaScript和C語言為例》 (20)

PDF
專業外語(二)hwhwbajwnjsnansjsjsnsnnsnsnsb-W04.pdf
PDF
專業外語(二)ghbhuhhhyggyyggyggggggggg-W04.pdf
PPTX
180518 ntut js and node
PPT
SCJP ch02
PDF
Learn python 1
DOCX
系統程式 -- 第 7 章 高階語言
PDF
JavaScript 快速跳坑指南
PDF
實踐大學教案20140329
PDF
用十分鐘瞭解 陳鍾誠的程式設計課 (採用JavaScript + C的原因)
ODP
Ruby程式語言入門導覽
PDF
Javascript 入門 - 前端工程開發實務訓練
PPT
JavaScript 從零開始
PPT
PPT
PPT
PPT
PPTX
3. 流程語法與函式
PPT
Java2新觀念教本投影片ch1
PPT
SCJP ch01
PPTX
程式設計教與學
專業外語(二)hwhwbajwnjsnansjsjsnsnnsnsnsb-W04.pdf
專業外語(二)ghbhuhhhyggyyggyggggggggg-W04.pdf
180518 ntut js and node
SCJP ch02
Learn python 1
系統程式 -- 第 7 章 高階語言
JavaScript 快速跳坑指南
實踐大學教案20140329
用十分鐘瞭解 陳鍾誠的程式設計課 (採用JavaScript + C的原因)
Ruby程式語言入門導覽
Javascript 入門 - 前端工程開發實務訓練
JavaScript 從零開始
3. 流程語法與函式
Java2新觀念教本投影片ch1
SCJP ch01
程式設計教與學
Ad

More from 鍾誠 陳鍾誠 (20)

PDF
用十分鐘搞懂 λ-Calculus
PDF
交⼤資訊⼯程學系備審資料 ⾱詠祥
PDF
smallpt: Global Illumination in 99 lines of C++
PDF
區塊鏈 (比特幣背後的關鍵技術) -- 十分鐘系列
PDF
梯度下降法 (隱藏在深度學習背後的演算法) -- 十分鐘系列
DOCX
系統程式 -- 前言
DOCX
系統程式 -- 附錄
DOCX
系統程式 -- 第 12 章 系統軟體實作
DOCX
系統程式 -- 第 11 章 嵌入式系統
DOCX
系統程式 -- 第 10 章 作業系統
DOCX
系統程式 -- 第 9 章 虛擬機器
DOCX
系統程式 -- 第 8 章 編譯器
DOCX
系統程式 -- 第 6 章 巨集處理器
DOCX
系統程式 -- 第 5 章 連結與載入
DOCX
系統程式 -- 第 4 章 組譯器
DOCX
系統程式 -- 第 3 章 組合語言
DOCX
系統程式 -- 第 1 章 系統軟體
DOCX
系統程式 - 第二章
PDF
nand2tetris 舊版投影片 -- 第五章 計算機結構
PDF
nand2tetris 舊版投影片 -- 第四章 機器語言
用十分鐘搞懂 λ-Calculus
交⼤資訊⼯程學系備審資料 ⾱詠祥
smallpt: Global Illumination in 99 lines of C++
區塊鏈 (比特幣背後的關鍵技術) -- 十分鐘系列
梯度下降法 (隱藏在深度學習背後的演算法) -- 十分鐘系列
系統程式 -- 前言
系統程式 -- 附錄
系統程式 -- 第 12 章 系統軟體實作
系統程式 -- 第 11 章 嵌入式系統
系統程式 -- 第 10 章 作業系統
系統程式 -- 第 9 章 虛擬機器
系統程式 -- 第 8 章 編譯器
系統程式 -- 第 6 章 巨集處理器
系統程式 -- 第 5 章 連結與載入
系統程式 -- 第 4 章 組譯器
系統程式 -- 第 3 章 組合語言
系統程式 -- 第 1 章 系統軟體
系統程式 - 第二章
nand2tetris 舊版投影片 -- 第五章 計算機結構
nand2tetris 舊版投影片 -- 第四章 機器語言

Recently uploaded (20)

PPTX
学校原版加利福尼亚大学戴维斯分校毕业证UCD毕业证原版一比一
PPTX
学校原版加州大学戴维斯分校毕业证UC Davis毕业证原版一比一
PPTX
学校原版明尼苏达大学毕业证UMN毕业证原版一比一
PPTX
3分钟读懂滑铁卢大学毕业证Waterloo毕业证学历认证
PPTX
3分钟读懂加州大学欧文分校毕业证UCI毕业证学历认证
PPTX
3分钟读懂圭尔夫大学毕业证U of G毕业证学历认证
PPTX
学校原版埃默里大学毕业证Emory毕业证原版一比一
PPTX
学校原版克莱姆森大学毕业证Clemson毕业证原版一比一
PPTX
3分钟读懂纽曼大学毕业证Newman毕业证学历认证
PPTX
3分钟读懂利物浦约翰摩尔大学毕业证LJMU毕业证学历认证
PDF
想要安全提高成绩?我们的黑客技术采用深度伪装和多层加密手段,确保你的信息安全无忧。价格公道,流程简单,同时提供全面的信息保护和事后痕迹清理,让你轻松提升G...
PPTX
3分钟读懂伦敦政治经济学院毕业证LSE毕业证学历认证
PPTX
3分钟读懂圣安德鲁斯大学毕业证StAnd毕业证学历认证
PPTX
学校原版弗吉尼亚大学毕业证UVA毕业证原版一比一
PDF
01_Course_Introduction(20210916課後更新).pdf
PPTX
3分钟读懂皇家艺术学院毕业证RCA毕业证学历认证
PPTX
3分钟读懂诺里奇艺术大学毕业证NUA毕业证学历认证
PPTX
3分钟读懂贝尔法斯特女王大学毕业证QUB毕业证学历认证
PPTX
A Digital Transformation Methodology.pptx
PPTX
《HSK标准教程4下》第15课课件new.pptx HSK chapter 15 pptx
学校原版加利福尼亚大学戴维斯分校毕业证UCD毕业证原版一比一
学校原版加州大学戴维斯分校毕业证UC Davis毕业证原版一比一
学校原版明尼苏达大学毕业证UMN毕业证原版一比一
3分钟读懂滑铁卢大学毕业证Waterloo毕业证学历认证
3分钟读懂加州大学欧文分校毕业证UCI毕业证学历认证
3分钟读懂圭尔夫大学毕业证U of G毕业证学历认证
学校原版埃默里大学毕业证Emory毕业证原版一比一
学校原版克莱姆森大学毕业证Clemson毕业证原版一比一
3分钟读懂纽曼大学毕业证Newman毕业证学历认证
3分钟读懂利物浦约翰摩尔大学毕业证LJMU毕业证学历认证
想要安全提高成绩?我们的黑客技术采用深度伪装和多层加密手段,确保你的信息安全无忧。价格公道,流程简单,同时提供全面的信息保护和事后痕迹清理,让你轻松提升G...
3分钟读懂伦敦政治经济学院毕业证LSE毕业证学历认证
3分钟读懂圣安德鲁斯大学毕业证StAnd毕业证学历认证
学校原版弗吉尼亚大学毕业证UVA毕业证原版一比一
01_Course_Introduction(20210916課後更新).pdf
3分钟读懂皇家艺术学院毕业证RCA毕业证学历认证
3分钟读懂诺里奇艺术大学毕业证NUA毕业证学历认证
3分钟读懂贝尔法斯特女王大学毕业证QUB毕业证学历认证
A Digital Transformation Methodology.pptx
《HSK标准教程4下》第15课课件new.pptx HSK chapter 15 pptx

如何用十分鐘快速瞭解一個程式語言 《以JavaScript和C語言為例》