<menu id="ycqsw"></menu><nav id="ycqsw"><code id="ycqsw"></code></nav>
<dd id="ycqsw"><menu id="ycqsw"></menu></dd>
  • <nav id="ycqsw"></nav>
    <menu id="ycqsw"><strong id="ycqsw"></strong></menu>
    <xmp id="ycqsw"><nav id="ycqsw"></nav>
  • 學c語言用什么教材好,這三本教材零基礎也適合


    選擇什么教材來學習C語言?

    上一篇文章我們講到C語言的發明人丹尼斯·里奇(Dennis Ritchie),他于1972年左右發明了C語言,C語言里的時間/日期計算起點,有個unix timestamp(unix 時間戳)是 Jan 1, 1970 UTC。即 1970年1月1日,是UNIX元年。

    C原因發明至今接近50年了,達到了知天命的年齡了。大家想想,你10年前使用的產品到現在還在用的能有多少呢?在高速發展的計算機領域,發展速度更是驚人,你之前經常瀏覽的網站、玩過的游戲能堅持10年的有多少呢?大家回頭再看看C語言,在2019年7月的計算機語言排行榜上,50歲的C語言高居第2名!

    互聯網發展史:學習C語言選用什么教材?

    2019年7月計算機語言排行榜

    時間、流行度已經充分證明了C語言的生命力!大學大一新生一般都開設C語言的課程,選用的教材一般是譚浩強先生的,見下圖:

    互聯網發展史:學習C語言選用什么教材?

    譚浩強《C程序設計》第五版

    紅色的書皮、1400萬冊的發行量充分證明了它的使用率。但大家在知乎等上搜索這本教材,會發現怨言頗多(這里并沒有對譚浩強先生表示不敬的意思),吐槽書中表述和程序錯誤頗多,最主要大家認為該書過于講授語言的知識,而不是編程的快樂,以及用編程來解決實際問題的能力!

    那如果讓我來推薦一本學習C語言的教材,我會推薦本文要介紹的人物布萊恩·克尼漢和C語言發明人丹尼斯·里奇共同撰寫的《C程序設計語言》!這里絕不是打廣告。

    互聯網發展史:學習C語言選用什么教材?

    K&R C程序設計語言

    首先這本書很短小,288頁而已,不會有太大的心理負擔。拋掉不用的chapter 1和8,另外有時chapter 6 structures因為課時問題也會不講,最多也就120-140來頁,一點閱讀負擔都沒有。另外,兩位作者都善于寫“教科書”,語言簡潔清爽,解釋卻很清楚和規范。作為C的創造者和同時擁有豐富的開發經歷(他們也是Unix的開發者),他們給出的建議和選擇的風格,都是非常有指導性。作為初學者,學規范的東西無疑是最為正確的選擇。這里的規范,不僅僅是基本的代碼形式上的規范。學了壞習慣再改總是一件困難的事情。

    K&R

    起初,C語言沒有官方標準。1978年貝爾實驗室正式發表了C語言。布萊恩·克尼漢(Brian Kernighan)和丹尼斯·里奇(Dennis Ritchie)出版了《The C Programming Language》。這本書被 C語言開發者們稱為K&R,很多年來被當作 C語言的非正式的標準說明。人們稱這個版本的 C語言為K&R C。至此,布萊恩·克尼漢(Brian Kernighan)和丹尼斯·里奇(Dennis Ritchie)兩人簡稱K&R。

    布萊恩·克尼漢

    布萊恩·克尼漢在1942年出生在加拿大多倫多,他在普林斯頓大學取得了電氣工程的博士學位,2000年之后取得普林斯頓大學計算機科學的教授教職。

    他與Shen Lin合作共同完成了兩個知名的NP-complete優化問題的解決方案:圖劃分問題和旅行推銷員問題。旅行推銷員問題(Travelling Salesman Problem, 又稱為旅行商問題、貨郎擔問題、TSP問題)是一個多局部最優的最優化問題:有n個城市,一個推銷員要從其中某一個城市出發,唯一走遍所有的城市,再回到他出發的城市,求最短的路線。

    布萊恩·克尼漢除了和丹尼斯·里奇撰寫了《C程序設計語言》之外,還撰寫了《UNIX編程環境》,這本書對UNIX操作系統的編程環境做了詳細而深入的討論,內容包括UNIX的文件系統、Shell、過濾程序、I/O編程、系統調用等,并對UNIX中的程序開發方法做了有針對性的指導。

    布萊恩·克尼漢在普林斯頓大學為非計算機專業學生開設了一門介紹計算機技術基礎的課程,根據課程講義編寫《D is for digital》——中文譯名《世界是數字的》。書中解釋了當今計算和通信領域的工作方式,包括硬件、軟件、因特網等,討論了新技術帶來的社會、政治和法律問題。

    互聯網發展史:學習C語言選用什么教材?

    布萊恩·克尼漢的最新著作

    AWK

    awk是由Alfred Aho 、Peter Weinberger和Brian Kernighan這三個人創造的,awk由這個三個人的姓氏的首個字母組成。

    awk早期是在unix上實現的,所以,我們現在在linux的所使用的awk其實是gawk,也就是GNU awk,簡稱為gawk,awk還有一個版本,New awk,簡稱為nawk,但是linux中最常用的還是gawk。

    awk其實是一門編程語言,它支持條件判斷、數組、循環等功能。所以,我們也可以把awk理解成一個腳本語言解釋器??梢岳胊wk命令,將一些文本整理成我們想要的樣子,比如把一些文本整理成“表”的樣子,然后再展示出來。

    grep 、sed、awk被稱為linux中的“三劍客”??偨Y一下這三個“劍客”的特長:

    grep:更適合單純的查找或匹配文本

    sed:更適合編輯匹配到的文本

    awk:更適合格式化文本,對文本進行較復雜格式處理

    以下就是awk程序的示例:

    互聯網發展史:學習C語言選用什么教材?

    版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。

    發表評論

    登錄后才能評論
    国产精品区一区二区免费