操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    關于學校C語言教材選擇

    小編目前還是一個普通的本科生,學校的C語言教材是清華大學譚浩強老師的《C程序設計》。很多人都說,這本書漏洞許多,為什么學校還選擇該書?

    一位08級學長的闡述:

    為何我們那一代學習程序的人對譚的書沒有如今這么強烈的反感呢?

    首先,絕對可以肯定的是,我們那屆學程序設計,并親手寫出過數據庫系統和網絡服務——客戶端數據包傳輸程序作業的學生一定知道,它的書里面到處都是BUG。

    但是我們并沒有因此產生反感。一個很重要的原因是,當時的編程環境實在糟糕,而理論聯系實際的距離又十分之遠(如果你看過同時期國內其它編程教材,你會發現譚的書已經算是很有實踐指導能力的了。。。)這迫使我們當時的讀書模式和現在有本質區別,大體上就是:

    (1)在書本上,我們只了解算法的基本原理或者程序運行的內在機制;

    (2)去計算機上實現程序,觀察程序的“實際”運作機制以及算法的“真正”實現

    換句話說,由于我們沒有把,也從未想過,要把書本上的理論知識和代碼當作真正的代碼對待,所以譚的書雖然有缺陷,但是對我們的程序課學習沒有造成太大的影響。

    而且,由于譚浩強的書很多地方都寫得非常模糊。例如解釋內存和地址關系的地方,數值編碼以及指針部分,雖然看上去有聯系,但是卻缺乏系統化的闡述。

    所以作為學習者,當時我們學習這種模糊的系統原理時都會直接去計算機上實踐。例如直接打印一段內存地址下各個字節(char)的十六進制碼,然后手算它和實際存儲整數浮點數的關系。此外,內存地址的分配是由高到低還是由低到高,也可以通過打印數組,變量的字節信息來觀察。換句話說,我們當時學習這本書的方式又和現在有點區別。

    為了弄清楚實際原理c語言程序設計萬年歷,我們其實把整個計算機程序的運作機制當作一個系統來研究了。因此當我們實踐完成后,譚的這本書上,哪里有錯誤,哪里沒有,哪些原理說的不準確,哪些有錯誤,就完全了解了。到了這里,我們才是真正把那本書看完。

    當然要感謝譚的這本書,要不是它寫的到處漏洞百出,且闡述含糊不清,我在學習它的時候也不會花這么大功夫去研究它的每一處細節,諸如:數組變量能不能當作指針變量賦值(不能)c語言程序設計萬年歷,這種東西都是經過實際在編譯器上驗證的,雖然它的書也沒說清楚這兩種類型的區別。但是反過來,也正是因為它的這些缺陷,和當時編程環境的糟糕,才迫使我們通過大量實踐了解了這些問題的根本原理,自己探索到了問題的答案。這又和只通過書本了解的知識有著天壤之別。

    此外,關于譚的main函數返回類型是void。這一點也很有誤導,但是為何當時我們沒有抱怨呢?因為我們很自然接受了這點。。。直到后來大三學習《Unix網絡編程》的時候,才知道unix系統(包括linux)本身是通過各類整數返回值來判斷一個程序是否正常退出。

    實際上,void main和int main之所以推薦后者,是因為它是一種良好的編程規范,它保證了某個調用你編寫程序的外部程序可以獲取你程序的內部狀態值。而通過這種方法,我們也可以設計不同的程序返回值來告訴外部程序內部錯誤的類型。

    這種規范只有有了一定編程經驗的人才會知道。你當然可以一開始就教一個人必須返回int,但是在我看來,未必是一件好事(就好像玩游戲一開始就告訴你秘籍,你可能就失去了探索它的樂趣了——)

    而我們現在這一代本科生接觸計算機編程時,大部分計算機系統已經提供了相當友好的環境。這時候,對于編程書籍的要求不再是單純的理論,然后依靠復雜的實踐完成學習。而是從書本代碼直接到IDE執行這樣一步到位的學習模式。

    結語:

    任何時代的課本都恰好契合它那個年代,而在國內C語言教材,譚的書仍是佼佼者

    ▼往期精彩回顧▼

    你點的每個贊,我都認真當成了喜歡

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有