Profile cover photo
Profile photo
PYDOING
336 followers -
Programming Tutorial Blog <=> 程式語言教學誌
Programming Tutorial Blog <=> 程式語言教學誌

336 followers
About
Posts

Post has attachment
Public
敘述本頻道 2018 年的計畫。
Add a comment...

Public
新站將在 2018-01-18 02:00 AM 由伺服器商進行維護,如造成不便,尚請見諒。
Add a comment...

Post has attachment
Public
重複利用已開發完成、測試無誤的程式碼 (code) 是程式設計 (programming) 的一個重要主題,之所以重要,主要原因是這樣可以大幅減少後續的開發時間,所謂已經發明好的輪子無須重新發明就是這個意思。 C 語言重複利用程式碼的方式包括定義函數 (function) 、結構 (structure) 及標頭檔 (header file) 等等,物件導向程式設計語言 (object-oriented programming language) 的重複利用程式碼方式則主要集中在設計類別 (class) 上,因為類別是物件 (object) 的藍圖,物件導向的重要模式就是程式的實際運作為物件與物件之間互動,雖說不同物件導向程式設計語言的部分細節可能帶有差異,大致上物件導向不離屬性 (attribute) 、方法 (method) 、封裝 (encapsulation) 、繼承 (inheritance) 、多型 (polymorphism) 等等概念。有關 C 語言的函數介紹可參考 http://kaiching.org/pydoing/c/c-function.html
Add a comment...

Post has attachment
Public
C 語言的指標 (pointer) 是用來存取特定資料的記憶體位址,為什麼要存取資料的記憶體位址呢?原因很簡單,就是這樣做可以動態決定資料的總筆數,只要定義結構 (structure) ,讓結構裡頭有成員指向相同型態的結構,加上 malloc() 及 free() 等等向作業系統要求記憶體的機制,這樣就可以把這個結構變成可以儲存動態長度的資料結構 (data structure) 的,不然如果只有固定大小的陣列 (array) ,其實會很不夠用的,然後到新的語言如 Python ,已經有很多好用的資料結構定義在標準程式庫 (standard library) 中,而且這些資料結構都有搭配好的演算法 (algorithm) 可以直接用,所以不太需要額外自行定義資料結構,以及有效率處理特定資料結構的演算法了。有關 C 語言的指標可參考 http://kaiching.org/pydoing/c/c-pointer.html ,陣列可參考 http://kaiching.org/pydoing/c/c-array.html ,結構可參考 http://kaiching.org/pydoing/c/c-structure.html ,自我參考的結構可參考 http://kaiching.org/pydoing/c/c-self-structure.html
Add a comment...

Public
伺服器已重新開機,目前暫時取消 SSL 連線,因此只能用 http ,如造成不便,敬請見諒。
Add a comment...

Public
現在伺服器進行維護,先關機,等維護完再開機,謝謝。
Add a comment...

Post has attachment
Public
程式 (program) 中的迴圈 (loop) 主要有兩種,第一種是 while 迴圈, while 後面接迴圈結束條件 (condition) ,條件為真就會持續做迴圈工作,條件為假就會結束迴圈,跳到迴圈後的陳述 (statement) 繼續執行,因此迴圈的幾個必要項目如控制變數 (control variable) 、結束條件以及調整控制變數都必須明確寫出來,然而很多情況例如重複次數是固定的, C 語言就用 for 迴圈簡化固定重複次數的語法,也就是將以上三個必要項目都濃縮到 for 後面的小括弧中, while 迴圈跟 for 迴圈能互相轉換,後來的語言如 Python 或 Swift 把 for 用在存取複合資料型態的元素,例如 Python 的串列 (list) 是很常用的資料型態 (data type) ,串列的特性就是可以容納多筆不同資料型態的物件,利用 Python 的 for-in 迴圈就能一次性存取及處理串列中的所有元素。除了 while 及 for 之外, C 語言及許多受 C 影響的語言另有 do-while 迴圈, do-while 迴圈是先做一次,然後再做迴圈條件判斷,換言之就是後測試迴圈,關於後測試迴圈在特定場合很好用,倒是也只限於特定場合就是了。有關 C 語言的 while 迴圈可參考 http://kaiching.org/pydoing/c/c-while.html , for 迴圈可參考 http://kaiching.org/pydoing/c/c-for.html , do-while 迴圈可參考 http://kaiching.org/pydoing/c/c-do-while.html
Add a comment...

Post has attachment
Public
《C 速查手冊》標準程式庫導覽部分已整理完成上線,歡迎參考 http://kaiching.org/pydoing/c/c-std.html
Add a comment...

Post has attachment
Public
多數受 C 語言影響較深的程式語言 (programming language) 都有 switch 關鍵字 (keyword) , switch 用來依常數做多重選擇,這是說 switch 後接的運算式 (expression) 所運算出的結果為一常數, switch 底下有多個 case 處理不同常數的情況,最後可用 default 處理預設情況,也就是以上皆非的情形。換句話說, if 跟 switch 的差別在於 if 後計算出的是真假值, switch 則是實際的數值,例如處理 "Monday" 到 "Sunday" 各自的情況,或是 10 到 100 各種可能的數字等等,其實兩類選擇結構可以互相替換,也有語言如 Python 只採取其中一種 if ,多重選擇在 Python 則是 if-elif-else 的語法結構。有關 C 語言的 switch 陳述 (statement) 請參考 http://kaiching.org/pydoing/c/c-switch.html
Add a comment...

Post has attachment
Public
程式 (program) 中做選擇,最普遍的是 if-else 的語法, if 後面接條件 (condiiton) ,如果條件為真,就會執行 if 底下的程式區塊 (block) ,如果條件為假,就去執行 else 底下的程式區塊,倒是沒有 else 的話,就直接跳過 if 的部分,去找 if 之後的陳述 (statement) 繼續執行了。為什麼要做選擇呢?基本上就是種控制程式的執行方式,簡單的例子如達到符合的條件就做相對應的處理,像是依學生的考試分數給等級 A 到 E 之後,或是 while true 迴圈內,因為是無窮迴圈 (infinite loop) ,因此需要額外能跳出迴圈的條件控制,有關 C 語言的 if 陳述可參考 http://kaiching.org/pydoing/c/c-if.html
Add a comment...
Wait while more posts are being loaded